[PATCH] SSL: fix build with recent OpenSSL

Piotr Sikora piotr at cloudflare.com
Wed Jul 9 19:28:30 UTC 2014


# HG changeset patch
# User Piotr Sikora <piotr at cloudflare.com>
# Date 1404934035 25200
#      Wed Jul 09 12:27:15 2014 -0700
# Node ID 1087b3beb12068ca3641240d10c0e18a2dae6013
# Parent  d80543940f9a33b262d05864a30ab8b22e906455
SSL: fix build with recent OpenSSL.

X509_check_host() prototype changed recently:
- http://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=ced3d91
- http://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=297c67f

Bump version requirement, so that OpenSSL-1.0.2-beta1 uses fallback code.

Signed-off-by: Piotr Sikora <piotr at cloudflare.com>

diff -r d80543940f9a -r 1087b3beb120 src/event/ngx_event_openssl.c
--- a/src/event/ngx_event_openssl.c	Wed Jul 09 23:23:59 2014 +0900
+++ b/src/event/ngx_event_openssl.c	Wed Jul 09 12:27:15 2014 -0700
@@ -50,7 +50,7 @@ static int ngx_ssl_session_ticket_key_ca
     HMAC_CTX *hctx, int enc);
 #endif
 
-#if OPENSSL_VERSION_NUMBER < 0x10002001L
+#if OPENSSL_VERSION_NUMBER < 0x10002002L
 static ngx_int_t ngx_ssl_check_name(ngx_str_t *name, ASN1_STRING *str);
 #endif
 
@@ -2733,7 +2733,7 @@ ngx_ssl_check_host(ngx_connection_t *c, 
         return NGX_ERROR;
     }
 
-#if OPENSSL_VERSION_NUMBER >= 0x10002001L
+#if OPENSSL_VERSION_NUMBER >= 0x10002002L
 
     /* X509_check_host() is only available in OpenSSL 1.0.2+ */
 
@@ -2741,7 +2741,9 @@ ngx_ssl_check_host(ngx_connection_t *c, 
         goto failed;
     }
 
-    if (X509_check_host(cert, name->data, name->len, 0) != 1) {
+    if (X509_check_host(cert, (const char *) name->data, name->len, 0, NULL)
+        != 1)
+    {
         ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, 0,
                        "X509_check_host(): no match");
         goto failed;
@@ -2850,7 +2852,7 @@ found:
 }
 
 
-#if OPENSSL_VERSION_NUMBER < 0x10002001L
+#if OPENSSL_VERSION_NUMBER < 0x10002002L
 
 static ngx_int_t
 ngx_ssl_check_name(ngx_str_t *name, ASN1_STRING *pattern)



More information about the nginx-devel mailing list