Package: release.debian.org Severity: normal Tags: buster User: release.debian....@packages.debian.org Usertags: pu
Hi RMs, There are two SSL related bugs in fetchmail that affect Buster. The first cause is that otherwise working SSL connections fail sometimes [1]. The fix is in 6.4.0~rc1 and in Bullseye since Aug, 2019. The second is removing a forced OpenSSL version check that breaks fetchmail. Fixed for Bullseye since November, 2020 [2]. Proposed patch is attached. Thanks for consideration, Laszlo/GCS [1] https://gitlab.com/fetchmail/fetchmail/-/commit/080d4632298636a9a1b21c3419c059b95fb3cd37.patch [2] https://packages.qa.debian.org/f/fetchmail/news/20201119T192017Z.html
diff -Nru fetchmail-6.4.0~beta4/debian/changelog fetchmail-6.4.0~beta4/debian/changelog --- fetchmail-6.4.0~beta4/debian/changelog 2019-02-06 17:33:00.000000000 +0100 +++ fetchmail-6.4.0~beta4/debian/changelog 2021-01-31 11:13:50.000000000 +0100 @@ -1,3 +1,11 @@ +fetchmail (6.4.0~beta4-3+deb10u1) buster; urgency=medium + + * Backport fix to no longer reports System error during SSL_connect(): + Success (closes: #928916). + * Remove forced OpenSSL version check (closes: #980766). + + -- Laszlo Boszormenyi (GCS) <g...@debian.org> Sun, 31 Jan 2021 11:13:50 +0100 + fetchmail (6.4.0~beta4-3) unstable; urgency=medium * Backport fix potential SIGSEGV in pop3_delete (closes: #921450). diff -Nru fetchmail-6.4.0~beta4/debian/patches/07_fix_System_error_during_SSL_connect_Success.patch fetchmail-6.4.0~beta4/debian/patches/07_fix_System_error_during_SSL_connect_Success.patch --- fetchmail-6.4.0~beta4/debian/patches/07_fix_System_error_during_SSL_connect_Success.patch 1970-01-01 01:00:00.000000000 +0100 +++ fetchmail-6.4.0~beta4/debian/patches/07_fix_System_error_during_SSL_connect_Success.patch 2021-01-31 11:13:50.000000000 +0100 @@ -0,0 +1,55 @@ +From 080d4632298636a9a1b21c3419c059b95fb3cd37 Mon Sep 17 00:00:00 2001 +From: Matthias Andree <matthias.and...@gmx.de> +Date: Mon, 5 Aug 2019 23:11:43 +0200 +Subject: [PATCH] fetchmail no longer reports System error during + SSL_connect(): Success. + +Fixes Debian Bug#928916, reported by Paul Kimoto. +--- + NEWS | 2 + + driver.c | 2 +- + po/de.po | 231 ++++++++++++++++++++++++++++--------------------------- + socket.c | 9 ++- + 4 files changed, 127 insertions(+), 117 deletions(-) + +diff --git a/driver.c b/driver.c +index 74e1b28a..3e382d3a 100644 +--- a/driver.c ++++ b/driver.c +@@ -1107,7 +1107,7 @@ static int do_session( + &ctl->remotename) == -1) + { + set_timeout(0); +- report(stderr, GT_("SSL connection failed.\n")); ++ report(stderr, "%s: %s", ctl->sslcommonname ? ctl->sslcommonname : realhost, GT_("SSL connection failed.\n")); + err = PS_SOCKET; + goto cleanUp; + } +diff --git a/socket.c b/socket.c +index b3eaaecc..cb93b60e 100644 +--- a/socket.c ++++ b/socket.c +@@ -1225,14 +1225,17 @@ int SSLOpen(int sock, char *mycert, char *mykey, const char *myproto, int certck + if (SSL_set_fd(_ssl_context[sock], sock) == 0 + || (ssle_connect = SSL_connect(_ssl_context[sock])) < 1) { + int e = errno; +- unsigned long ssle_err_from_queue = ERR_peek_error(); + unsigned long ssle_err_from_get_error = SSL_get_error(_ssl_context[sock], ssle_connect); ++ unsigned long ssle_err_from_queue = ERR_peek_error(); + ERR_print_errors_fp(stderr); + if (SSL_ERROR_SYSCALL == ssle_err_from_get_error && 0 == ssle_err_from_queue) { + if (0 == ssle_connect) { +- report(stderr, GT_("Server shut down connection prematurely during SSL_connect().\n")); ++ /* FIXME: the next line was hacked in 6.4.0-rc1 so the translation strings don't change. ++ * The %s could be merged to the inside of GT_(). */ ++ report(stderr, "%s: %s", servercname, GT_("Server shut down connection prematurely during SSL_connect().\n")); + } else if (ssle_connect < 0) { +- report(stderr, GT_("System error during SSL_connect(): %s\n"), strerror(e)); ++ report(stderr, "%s: ", servercname); ++ report(stderr, GT_("System error during SSL_connect(): %s\n"), e ? strerror(e) : GT_("handshake failed at protocol or connection level.")); + } + } + SSL_free( _ssl_context[sock] ); +-- +GitLab + diff -Nru fetchmail-6.4.0~beta4/debian/patches/08_remove_forced_OpenSSL_check.patch fetchmail-6.4.0~beta4/debian/patches/08_remove_forced_OpenSSL_check.patch --- fetchmail-6.4.0~beta4/debian/patches/08_remove_forced_OpenSSL_check.patch 1970-01-01 01:00:00.000000000 +0100 +++ fetchmail-6.4.0~beta4/debian/patches/08_remove_forced_OpenSSL_check.patch 2021-01-31 11:13:50.000000000 +0100 @@ -0,0 +1,26 @@ +Description: Remove forced OpenSSL version check + Not needed, linker should take care of proper library loading. +Author: Laszlo Boszormenyi (GCS) <g...@debian.org> +Bug-Debian: https://bugs.debian.org/973472 +Forwarded: no +Last-Update: 2020-11-19 + +--- + +--- fetchmail-6.4.13.orig/socket.c ++++ fetchmail-6.4.13/socket.c +@@ -1065,12 +1065,12 @@ int SSLOpen(int sock, char *mycert, char + #else + ver = OpenSSL_version_num(); + #endif +- ++/* + if (ver < OPENSSL_VERSION_NUMBER) { + report(stderr, GT_("Loaded OpenSSL library %#lx older than headers %#lx, refusing to work.\n"), (long)ver, (long)(OPENSSL_VERSION_NUMBER)); + return -1; + } +- ++*/ + if (ver > OPENSSL_VERSION_NUMBER && outlevel >= O_VERBOSE) { + report(stdout, GT_("Loaded OpenSSL library %#lx newer than headers %#lx, trying to continue.\n"), (long)ver, (long)(OPENSSL_VERSION_NUMBER)); + } diff -Nru fetchmail-6.4.0~beta4/debian/patches/series fetchmail-6.4.0~beta4/debian/patches/series --- fetchmail-6.4.0~beta4/debian/patches/series 2019-02-06 17:33:00.000000000 +0100 +++ fetchmail-6.4.0~beta4/debian/patches/series 2021-01-31 11:13:50.000000000 +0100 @@ -4,3 +4,5 @@ 04_invoke-rc.d.diff 05_Fix_potential_SIGSEGV_in_pop3_delete.patch 06_Enable_OpenSSL_native_name_verification.patch +07_fix_System_error_during_SSL_connect_Success.patch +08_remove_forced_OpenSSL_check.patch