[PATCH 1 of 2] SSL: fix build with OPENSSL_NO_ENGINE and/or OPENSSL_NO_OCSP

Piotr Sikora piotr at cloudflare.com
Mon Jul 28 23:03:35 UTC 2014


# HG changeset patch
# User Piotr Sikora <piotr at cloudflare.com>
# Date 1406575677 25200
#      Mon Jul 28 12:27:57 2014 -0700
# Node ID bb74dfefeec04aae5a3a86ace2df45d03f691ded
# Parent  d1bde5c3c5d21368de04a59506a06c1174353a19
SSL: fix build with OPENSSL_NO_ENGINE and/or OPENSSL_NO_OCSP.

This is really just a prerequisite for building against BoringSSL,
which doesn't provide either of those features.

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

diff -r d1bde5c3c5d2 -r bb74dfefeec0 src/event/ngx_event_openssl.c
--- a/src/event/ngx_event_openssl.c	Mon Jul 28 18:30:19 2014 +0400
+++ b/src/event/ngx_event_openssl.c	Mon Jul 28 12:27:57 2014 -0700
@@ -3279,6 +3279,8 @@ ngx_openssl_create_conf(ngx_cycle_t *cyc
 static char *
 ngx_openssl_engine(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
 {
+#ifndef OPENSSL_NO_ENGINE
+
     ngx_openssl_conf_t *oscf = conf;
 
     ENGINE     *engine;
@@ -3313,6 +3315,12 @@ ngx_openssl_engine(ngx_conf_t *cf, ngx_c
     ENGINE_free(engine);
 
     return NGX_CONF_OK;
+
+#else
+
+    return "is not supported";
+
+#endif
 }
 
 
@@ -3320,5 +3328,8 @@ static void
 ngx_openssl_exit(ngx_cycle_t *cycle)
 {
     EVP_cleanup();
+
+#ifndef OPENSSL_NO_ENGINE
     ENGINE_cleanup();
+#endif
 }
diff -r d1bde5c3c5d2 -r bb74dfefeec0 src/event/ngx_event_openssl.h
--- a/src/event/ngx_event_openssl.h	Mon Jul 28 18:30:19 2014 +0400
+++ b/src/event/ngx_event_openssl.h	Mon Jul 28 12:27:57 2014 -0700
@@ -18,9 +18,13 @@
 #include <openssl/conf.h>
 #include <openssl/crypto.h>
 #include <openssl/dh.h>
+#ifndef OPENSSL_NO_ENGINE
 #include <openssl/engine.h>
+#endif
 #include <openssl/evp.h>
+#ifndef OPENSSL_NO_OCSP
 #include <openssl/ocsp.h>
+#endif
 #include <openssl/rand.h>
 #include <openssl/rsa.h>
 #include <openssl/x509.h>
diff -r d1bde5c3c5d2 -r bb74dfefeec0 src/event/ngx_event_openssl_stapling.c
--- a/src/event/ngx_event_openssl_stapling.c	Mon Jul 28 18:30:19 2014 +0400
+++ b/src/event/ngx_event_openssl_stapling.c	Mon Jul 28 12:27:57 2014 -0700
@@ -11,7 +11,7 @@
 #include <ngx_event_connect.h>
 
 
-#ifdef SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB
+#if (!defined OPENSSL_NO_OCSP && defined SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB)
 
 
 typedef struct {



More information about the nginx-devel mailing list