From: Timo Sirainen Date: Fri, 13 Aug 2010 13:00:46 +0000 (+0100) Subject: Compile fix for some OpenSSL version. X-Git-Tag: 2.0.rc6~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b113801ca6afa61bee5a8f74525a4a291da95a85;p=thirdparty%2Fdovecot%2Fcore.git Compile fix for some OpenSSL version. --- diff --git a/configure.in b/configure.in index 8560b8add7..ff1dda72cd 100644 --- a/configure.in +++ b/configure.in @@ -1696,6 +1696,9 @@ if test $want_openssl != no && test $have_ssl = no; then AC_CHECK_LIB(ssl, SSL_get_current_compression, [ AC_DEFINE(HAVE_SSL_COMPRESSION,, Build with OpenSSL compression) ],, $SSL_LIBS) + AC_CHECK_LIB(ssl, SSL_get_servername, [ + AC_DEFINE(HAVE_SSL_GET_SERVERNAME,, Build with TLS hostname support) + ],, $SSL_LIBS) fi fi diff --git a/src/login-common/ssl-proxy-openssl.c b/src/login-common/ssl-proxy-openssl.c index c9a531a66d..45313e9588 100644 --- a/src/login-common/ssl-proxy-openssl.c +++ b/src/login-common/ssl-proxy-openssl.c @@ -31,6 +31,10 @@ #define SSL_PARAMETERS_PATH "ssl-params" +#ifndef SSL_CTRL_SET_TLSEXT_HOSTNAME /* FIXME: this may be unnecessary.. */ +# undef HAVE_SSL_GET_SERVERNAME +#endif + enum ssl_io_action { SSL_ADD_INPUT, SSL_REMOVE_INPUT, @@ -1062,7 +1066,7 @@ end: return ret; } -#ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME +#ifdef HAVE_SSL_GET_SERVERNAME static void ssl_servername_callback(SSL *ssl, int *al ATTR_UNUSED, void *context ATTR_UNUSED) { @@ -1116,7 +1120,7 @@ ssl_server_context_init(const struct login_settings *set) ssl_proxy_get_use_certificate_error(ctx->cert)); } -#ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME +#ifdef HAVE_SSL_GET_SERVERNAME if (SSL_CTX_set_tlsext_servername_callback(ctx->ctx, ssl_servername_callback) != 1) { if (set->verbose_ssl)