1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
Fetched from upstream git and tweaked for the release:
https://gitlab.com/fetchmail/fetchmail/commit/a2ae6f8d15d7caf815d7bdd13df833fd1b2af5cc
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
diff -Nura fetchmail-6.3.26.orig/config.h.in fetchmail-6.3.26/config.h.in
--- fetchmail-6.3.26.orig/config.h.in 2015-12-30 10:44:33.467746835 -0300
+++ fetchmail-6.3.26/config.h.in 2015-12-30 10:45:50.271403589 -0300
@@ -53,6 +53,10 @@
if you don't. */
#undef HAVE_DECL_SSLV2_CLIENT_METHOD
+/* Define to 1 if you have the declaration of `SSLv3_client_method', and to 0
+ if you don't. */
+#undef HAVE_DECL_SSLV3_CLIENT_METHOD
+
/* Define to 1 if you have the declaration of `strerror', and to 0 if you
don't. */
#undef HAVE_DECL_STRERROR
diff -Nura fetchmail-6.3.26.orig/configure.ac fetchmail-6.3.26/configure.ac
--- fetchmail-6.3.26.orig/configure.ac 2015-12-30 10:44:33.465746766 -0300
+++ fetchmail-6.3.26/configure.ac 2015-12-30 10:46:03.708868409 -0300
@@ -803,6 +803,7 @@
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 -Nura fetchmail-6.3.26.orig/fetchmail.c fetchmail-6.3.26/fetchmail.c
--- fetchmail-6.3.26.orig/fetchmail.c 2015-12-30 10:44:33.469746904 -0300
+++ fetchmail-6.3.26/fetchmail.c 2015-12-30 10:46:03.708868409 -0300
@@ -263,6 +263,12 @@
#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 */
diff -Nura fetchmail-6.3.26.orig/socket.c fetchmail-6.3.26/socket.c
--- fetchmail-6.3.26.orig/socket.c 2015-12-30 10:44:33.464746731 -0300
+++ fetchmail-6.3.26/socket.c 2015-12-30 10:46:03.709868443 -0300
@@ -910,11 +910,16 @@
#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)) {
|