Opened 5 months ago

Closed 5 months ago

Last modified 5 months ago

#20594 closed enhancement (fixed)

fetchmail-6.5.0

Reported by: Bruce Dubbs Owned by: Bruce Dubbs
Priority: elevated Milestone: 12.3
Component: BOOK Version: git
Severity: normal Keywords:
Cc:

Description

Nre minor version.

Change History (7)

comment:1 by Bruce Dubbs, 5 months ago

Fetchmail Release Notes

fetchmail-6.5.0 (released 2024-10-29, 31200 LoC):

## SECURITY FIX:

  • .netrc now may not have more than 0700 permission if it contains passwords, else fetchmail will warn and ignore the file.

## REMOVED FEATURES

  • fetchmail no longer supports using an MDA as SMTP fallback. This is required to make deliveries consistent. The --enable-fallback configure option is gone.
  • fetchmail no longer supports SSLv3. --sslproto ssl3 and ssl3+ options have been removed and behave as though "--sslproto auto" had been given.

## INCOMPATIBLE CHANGES

  • fetchmail by default only negotiates TLS v1.2 or higher. (RFC-7525)
  • fetchmail can auto-negotiate TLS v1.1 through the --sslproto tls1.1+ option.
  • fetchmail can auto-negotiate TLS v1.0 through the --sslproto tls1+ option.
  • fetchmailconf now requires Python 3.7.0 or newer.
  • fetchmail, with --logfile, now logs time stamps into the file, in localtime and in the format "Jun 20 23:45:01 fetchmail: ". It will be localized through the environment variables LC_TIME (or LC_ALL) and TZ. Contributed by Holger Hoffstätte.
  • fetchmail sets the OPENSSL security level to 2 by default. Override is possible from an environment variable, see EXPERIMENTAL CHANGES below.
  • The ca, da, en_GB, id, it, nl, ru, zh_CN translations have been disabled, they are too far behind.

## CHANGED REQUIREMENTS

  • fetchmail 6.5.0 is written in C99 and requires a SUSv3 (Single Unix Specification v3, a superset of POSIX.1-2001 aka. IEEE Std 1003.1-2001 with XSI extension) compliant system.

In particular, older fetchmail versions had workarounds or replacement code for several functions standardized in the Single Unix Specification v3, these have been removed. Hence:

  • The trio/ library has been removed from the distribution.
  • The libesmtp/getaddrinfo.? library has been removed from the distribution.
  • The KAME/getnameinfo.c file has been removed from the distribution.
  • fetchmail 6.5.0 requires a TLSv1.3-capable version of OpenSSL or wolfSSL, at a minimum OpenSSL v3.0.9 or wolfSSL v5.7.2.

## TRANSLATIONS: fetchmail's messages were translated by these fine people:

  • cs: Petr Pisar [Czech]
  • eo: Keith Bowes [Esperanto]
  • es: Cristian Othón Martínez Vera [Spanish]
  • fr: Frédéric Marchal [French]
  • ja: Takeshi Hamasaki [Japanese]
  • ro: Remus-Gabriel Chelu [Romanian]
  • sv: Göran Uddeborg [Swedish]
  • sq: Besnik Bleta [Albanian]
  • pl: Jakub Bogusz [Polish]

## BUG FIXES

  • fetchmail can now report mailbox sizes of 231 octets and beyond (2 GibiB). This required C99 support (for the long long type). Fixes Debian Bug#873668, reported by Andreas Schmidt.
  • fetchmail now defines its OpenSSL API level to 3.0.0 so as to expose the 3.0.0 APIs from OpenSSL.
  • The .netrc parser no longer permits "machine" after "default".
  • Add manpage info on the .netrc syntax, as ftp(1) is not standardized and may not be installed. Fixes Launchpad Bug #1976361 reported by Bill Yikes.
  • Received: lines now return GMT time if the tzoffset cannot be represented as whole minutes. Reported by @rriddicc via Gitlab #49.
  • If fetchmail was running localized, generated an error e-mail message locally, and if the selected translation would require the Subject: line to wrap inside an RFC-2047 encoded word (=?UTF-8?Q?...?=), the wrapped encoded-word was not indented, thus not marked as a continuation line.
  • SSL error handling was improved, fetchmail now consistently clears the thread/SSL error queue before SSL I/O operations and checks SSL_get_error afterwards. The SSL_connect() error handling has been revised to log more consistently.

## CHANGES

  • When fetchmail attempts to log out from an IMAP4 server and the server messes up its responses (it is supposed to send an untagged * BYE and a tagged A4711 OK) and sends a tagged A4711 BYE response, tolerate that, rather than reporting a protocol error. We don't intend to chat any more so the protocol violation is harmless, and we know the server cannot send more untagged status responses. Analysis and fix courtesy of Maciej S. Szmigiero, GitLab merge request !20.
  • The configure script now spends more effort for getting --with-ssl right, by running pkg-config in the right environment, and using the AC_LIB_LINKFLAGS macro to obtain run-time library path setting flags.
  • For typical POP3/IMAP ports 110, 143, 993, 995, if port and --ssl option do not match, emit a warning and continue. Closes Gitlab #31.
  • There is now a --idletimeout feature contributed by Eric Durand, to permit setting a shorter timeout for the --idle option, because many servers violate the protocol (requiring 30 minutes) and hang up sooner than the 28 minutes fetchmail waits before refreshing IDLE. GitLab merge request !35.
  • There is now a --forceidle feature to force idle mode even if not advertised in the server capabilities. This is a dangerous option, use it carefully. Courtesy of Eric Durand, GitLab merge request !39.
  • There is now a --moveto feature (only feasible in IMAP) that, instead of flushing mail, moves it to a user-specified folder. This is to assist with archiving, or when providers (G...) break the IMAP model. Courteously provided by Damjan Jovanovic.
  • rcfile parsing errors are now reported in more detail, and with -vv mode, also lead to a non-importable Python dump of what was obtained, for debugging.
  • fetchmail's --auth option ssh was renamed to implicit, to make clear that it does *NOT* imply any particular type or features of the --plugin. --auth ssh will be understood for a while for compatibility but fetchmail will report it as implicit.
  • fetchmail no longer warns about port/service mismatches with/without ssl option when a "plugin" is in use because fetchmail cannot know whether the plugin talks SSL or STARTTLS/STLS. Fixes Debian Bug#1076604.
  • fetchmail re-executes itself if the .netrc file's modification change is found to be newer at the beginning of a new run.
  • fetchmail can now use other digest algorithms than MD5 for the --sslfingerprint option. To use, specify the algorithm's name in curly braces as prefix in the finger print, say, --sslfingerprint '{SHA256}00:01:[...]:1F'. This will also switch the algorithm for printing. All algorithms supported by the TLS/SSL library can be specified. Fixes Gitlab issue #19, Debian Bug#700266.

## EXPERIMENTAL CHANGES - these are not documented anywhere else, only here:

  • fetchmail supports a FETCHMAIL_SSL_SECLEVEL environment variable that can be used to override the OpenSSL security level. Fetchmail by default raises the security level to 2 if lower. This variable can be used to lower it. Use with extreme caution. Note that levels 3 or higher will frequently cause incompabilities with servers because server-side data sizes are often too low. Valid range: 0 to 5 for OpenSSL 1.1.1 and 3.0.
  • fetchmail supports a FETCHMAIL_SSL_CIPHERS environment variable that sets the cipher string (through two different OpenSSL functions) for SSL and TLS versions up to TLSv1.2. If setting the ciphers fails, fetchmail will not connect. If not given, defaults to Postfix's "medium" list, "aNULL:-aNULL:HIGH:MEDIUM:+RC4:@STRENGTH".
  • fetchmail supports a FETCHMAIL_TLS13_CIPHERSUITES environment variable that sets the ciphersuites (a colon-separated list, without + ! -) for TLSv1.3. If not given, defaults to OpenSSL's built-in list. If setting the ciphersuites fails, fetchmail refuses to connect.
  • NOTE the features above are simplistic. For instance, even though you configure --sslproto tls1.3, a failure to set tls1.2 ciphers could cause a connection abort.
  • fetchmail can be built with meson 1.30 or newer <https://mesonbuild.com/>. fetchmail is not currently written in a way that supports unity (amalgamated) builds.

comment:2 by Douglas R. Reno, 5 months ago

Owner: changed from blfs-book to Douglas R. Reno
Status: newassigned

comment:3 by Douglas R. Reno, 5 months ago

Priority: normalelevated

comment:4 by Douglas R. Reno, 5 months ago

Owner: changed from Douglas R. Reno to blfs-book
Status: assignednew

I'm going to reassign this to the book for Ken to do it if he can. I'll get to it over the weekend otherwise so Ken has some time.

Note that we might want to consider moving to meson for this package.

comment:5 by Bruce Dubbs, 5 months ago

Owner: changed from blfs-book to Bruce Dubbs
Status: newassigned

comment:6 by Bruce Dubbs, 5 months ago

Resolution: fixed
Status: assignedclosed

Fixed at commits

9c23305afa Update to gnupg-2.4.6.
e56051c76b Update to librsvg-2.59.2.
9031a1f7be Update to fetchmail-6.5.0.
2b15ffb453 Update to bubblewrap-0.11.0.

comment:7 by Douglas R. Reno, 5 months ago

SA-12.2-035 issued

Note: See TracTickets for help on using tickets.