diff options
| author | Matthias Andree <matthias.andree@gmx.de> | 2015-01-16 20:48:46 +0100 | 
|---|---|---|
| committer | Matthias Andree <matthias.andree@gmx.de> | 2015-01-16 20:48:46 +0100 | 
| commit | a2ae6f8d15d7caf815d7bdd13df833fd1b2af5cc (patch) | |
| tree | 5c31ff2c9fc55824b8386806578af4e0a07095ad | |
| parent | fd20cf6829c42bb9b6c5316fc8269d4b1dffdafb (diff) | |
| download | fetchmail-a2ae6f8d15d7caf815d7bdd13df833fd1b2af5cc.tar.gz fetchmail-a2ae6f8d15d7caf815d7bdd13df833fd1b2af5cc.tar.bz2 fetchmail-a2ae6f8d15d7caf815d7bdd13df833fd1b2af5cc.zip | |
Permit build on SSLv3-disabled OpenSSL,
providing that these also omit the declaration of SSLv3_client_method().
Related to Debian Bug#775255.
Version report lists -SSLv3 on +SSL builds that omit SSLv3_client_method().
Version report lists -SSLv2 on +SSL builds that omit SSLv2_client_method().
| -rw-r--r-- | NEWS | 6 | ||||
| -rw-r--r-- | configure.ac | 1 | ||||
| -rw-r--r-- | fetchmail.c | 6 | ||||
| -rw-r--r-- | po/de.po | 23 | ||||
| -rw-r--r-- | socket.c | 7 | 
5 files changed, 33 insertions, 10 deletions
| @@ -53,6 +53,8 @@ removed from a 6.4.0 or newer release.)    fetchmail may switch to a different SSL library.  * SSLv2 support will be removed from a future fetchmail release. It has been    obsolete for more than a decade. +* SSLv3 support may be removed from a future fetchmail release. It has been +  obsolete for many years and found insecure. Use TLS.  -------------------------------------------------------------------------------- @@ -71,6 +73,10 @@ fetchmail-6.3.27 (not yet released, if ever):  * Point to --idle from GENERAL OPERATION to clarify --idle and multiple    mailboxes do not mix.  In response to Jeremy Chadwick's trouble 2014-11-19,    fetchmail-users mailing list. +* Fix SSL-enabled build on systems that do not declare SSLv3_client_method(). +  Related to Debian Bug#775255. +* Version report lists -SSLv3 on +SSL builds that omit SSLv3_client_method(). +* Version report lists -SSLv2 on +SSL builds that omit SSLv2_client_method().  # KNOWN BUGS AND WORKAROUNDS    (This section floats upwards through the NEWS file so it stays with the diff --git a/configure.ac b/configure.ac index bdcbb20c..9248b265 100644 --- a/configure.ac +++ b/configure.ac @@ -803,6 +803,7 @@ fi  case "$LIBS" in *-lssl*)  	AC_CHECK_DECLS([SSLv2_client_method],,,[#include <openssl/ssl.h>]) +	AC_CHECK_DECLS([SSLv3_client_method],,,[#include <openssl/ssl.h>])  	;;  esac diff --git a/fetchmail.c b/fetchmail.c index 5f31d6ec..be0e9abd 100644 --- a/fetchmail.c +++ b/fetchmail.c @@ -263,6 +263,12 @@ int main(int argc, char **argv)  #ifdef SSL_ENABLE  	"+SSL"  #endif +#if HAVE_DECL_SSLV2_CLIENT_METHOD + 0 == 0 +	"-SSLv2" +#endif +#if HAVE_DECL_SSLV3_CLIENT_METHOD + 0 == 0 +	"-SSLv3" +#endif  #ifdef OPIE_ENABLE  	"+OPIE"  #endif /* OPIE_ENABLE */ @@ -8,7 +8,7 @@ msgid ""  msgstr ""  "Project-Id-Version: fetchmail 6.3.26\n"  "Report-Msgid-Bugs-To: fetchmail-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2014-11-22 00:12+0100\n" +"POT-Creation-Date: 2015-01-16 20:42+0100\n"  "PO-Revision-Date: 2014-11-22 00:29+0100\n"  "Last-Translator: Matthias Andree <matthias.andree@gmx.de>\n"  "Language-Team: Deutsch <de@li.org>\n" @@ -1046,7 +1046,8 @@ msgstr ""  #: fetchmail.c:1399  msgid ""  "fetchmail: Error: idle mode does not work for multiple folders or accounts!\n" -msgstr "fetchmail: Fehler: idle funktioniert nicht für mehrere Ordner oder Kontos!\n" +msgstr "" +"fetchmail: Fehler: idle funktioniert nicht für mehrere Ordner oder Kontos!\n"  #: fetchmail.c:1423  #, c-format @@ -3199,20 +3200,24 @@ msgid "File descriptor out of range for SSL"  msgstr "Datei-Deskriptor außerhalb des Bereichs für SSL"  #: socket.c:913 -msgid "Your operating system does not support SSLv2.\n" -msgstr "Ihr Betriebssystem unterstützt SSLv2 nicht.\n" +msgid "Your OpenSSL version does not support SSLv2.\n" +msgstr "Ihre OpenSSL-Version unterstützt SSLv2 nicht.\n" + +#: socket.c:920 +msgid "Your OpenSSL version does not support SSLv3.\n" +msgstr "Ihre OpenSSL-Version unterstützt SSLv3 nicht.\n" -#: socket.c:923 +#: socket.c:928  #, c-format  msgid "Invalid SSL protocol '%s' specified, using default (SSLv23).\n"  msgstr ""  "Ungültiges SSL-Protokoll „%s“ angegeben, benutze Voreinstellung (SSLv23).\n" -#: socket.c:1022 +#: socket.c:1027  msgid "Certificate/fingerprint verification was somehow skipped!\n"  msgstr "Zertifikat-/Fingerabdruck-Überprüfung wurde irgendwie übersprungen!\n" -#: socket.c:1039 +#: socket.c:1044  msgid ""  "Warning: the connection is insecure, continuing anyways. (Better use --"  "sslcertck!)\n" @@ -3220,11 +3225,11 @@ msgstr ""  "Warnung: Die Verbindung ist unsicher, mache trotzdem weiter. (Nehmen Sie "  "lieber --sslcertck!)\n" -#: socket.c:1081 +#: socket.c:1086  msgid "Cygwin socket read retry\n"  msgstr "Cygwin-Socket-Lese-Wiederholung\n" -#: socket.c:1084 +#: socket.c:1089  msgid "Cygwin socket read retry failed!\n"  msgstr "Cygwin-Socket-Lese-Wiederholung fehlgeschlagen!\n" @@ -910,11 +910,16 @@ int SSLOpen(int sock, char *mycert, char *mykey, const char *myproto, int certck  #if HAVE_DECL_SSLV2_CLIENT_METHOD + 0 > 0  			_ctx[sock] = SSL_CTX_new(SSLv2_client_method());  #else -			report(stderr, GT_("Your operating system does not support SSLv2.\n")); +			report(stderr, GT_("Your OpenSSL version does not support SSLv2.\n"));  			return -1;  #endif  		} else if(!strcasecmp("ssl3",myproto)) { +#if HAVE_DECL_SSLV3_CLIENT_METHOD + 0 > 0  			_ctx[sock] = SSL_CTX_new(SSLv3_client_method()); +#else +			report(stderr, GT_("Your OpenSSL version does not support SSLv3.\n")); +			return -1; +#endif  		} else if(!strcasecmp("tls1",myproto)) {  			_ctx[sock] = SSL_CTX_new(TLSv1_client_method());  		} else if (!strcasecmp("ssl23",myproto)) { | 
