changeset 11995:53147e8bdaf9

Compile fix for some OpenSSL version.
author Timo Sirainen <tss@iki.fi>
date Fri, 13 Aug 2010 14:00:46 +0100
parents a56e9deffa54
children c5de2eb14a97
files configure.in src/login-common/ssl-proxy-openssl.c
diffstat 2 files changed, 9 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/configure.in	Thu Aug 12 18:50:12 2010 +0100
+++ b/configure.in	Fri Aug 13 14:00:46 2010 +0100
@@ -1696,6 +1696,9 @@
     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
 
--- a/src/login-common/ssl-proxy-openssl.c	Thu Aug 12 18:50:12 2010 +0100
+++ b/src/login-common/ssl-proxy-openssl.c	Fri Aug 13 14:00:46 2010 +0100
@@ -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 @@
 	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_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)