> On March 7, 2016 at 6:09 PM [email protected] wrote:
>
>
>
> > On March 7, 2016 at 5:54 PM Muffinman <[email protected]> wrote:
> >
> >
> > Hello all,
> >
> > I'm trying to compile dovecot 2.2.21 on OS-X 10.11.3 and I'm running a
> > bit of trouble with OpenSSL. I've cloned OpenSSL (OpenSSL
> > 1.1.0-pre4-dev) from github and in openssl/ssl.h SSL_TXT_SSLV2 is not
> > defined anymore. Compilation fails with:
> >
> > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src/lib
> > -I../../src/lib-test -DMODULE_DIR=\"/usr/local/lib/dovecot\" -std=gnu99
> > -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations
> > -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast
> > -Wno-duplicate-decl-specifier -Wstrict-aliasing=2 -MT
> > iostream-openssl-common.lo -MD -MP -MF .deps/iostream-openssl-common.Tpo
> > -c iostream-openssl-common.c -fno-common -DPIC -o
> > .libs/iostream-openssl-common.o
> > iostream-openssl-common.c:34:24: error: use of undeclared identifier
> > 'SSL_TXT_SSLV2'
> > if (strcasecmp(name, SSL_TXT_SSLV2) == 0)
> > ^
> > 1 error generated.
> > make[3]: *** [iostream-openssl-common.lo] Error 1
> > make[2]: *** [all-recursive] Error 1
> > make[1]: *** [all-recursive] Error 1
> > make: *** [all] Error 2
> >
> > In openssl/ssl.h the following is defined:
> >
> > # define SSL_TXT_SSLV3 "SSLv3"
> > # define SSL_TXT_TLSV1 "TLSv1"
> > # define SSL_TXT_TLSV1_1 "TLSv1.1"
> > # define SSL_TXT_TLSV1_2 "TLSv1.2"
> >
> > # define SSL_TXT_ALL "ALL"
> >
> > Any suggestions on how to fix this?
> >
> > Kind regards, Maarten
>
> Hi!
>
> Can you try the attached patch?
>
> ---
> Aki Tuomi
> Dovecot oy
Apologies, fixed patch attached.
Aki
From 33ca3f1cb55f732fac3e5ed653eaf14ad9a27852 Mon Sep 17 00:00:00 2001
From: Aki Tuomi <[email protected]>
Date: Mon, 7 Mar 2016 18:08:14 +0200
Subject: [PATCH] lib-ssl-iostream: Make SSLv2 conditional
---
src/lib-ssl-iostream/iostream-openssl-common.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/lib-ssl-iostream/iostream-openssl-common.c b/src/lib-ssl-iostream/iostream-openssl-common.c
index cbdbc44..f2af263 100644
--- a/src/lib-ssl-iostream/iostream-openssl-common.c
+++ b/src/lib-ssl-iostream/iostream-openssl-common.c
@@ -31,9 +31,14 @@ int openssl_get_protocol_options(const char *protocols)
name++;
neg = TRUE;
}
+
+#ifdef SSL_TXT_SSLV2
if (strcasecmp(name, SSL_TXT_SSLV2) == 0)
proto = DOVECOT_SSL_PROTO_SSLv2;
else if (strcasecmp(name, SSL_TXT_SSLV3) == 0)
+#else
+ if (strcasecmp(name, SSL_TXT_SSLV3) == 0)
+#endif
proto = DOVECOT_SSL_PROTO_SSLv3;
else if (strcasecmp(name, SSL_TXT_TLSV1) == 0)
proto = DOVECOT_SSL_PROTO_TLSv1;
--
1.9.1