1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
diff --git a/deps/neverbleed/neverbleed.c b/deps/neverbleed/neverbleed.c
index 3cc1b1f02..d01006a9f 100644
--- a/deps/neverbleed/neverbleed.c
+++ b/deps/neverbleed/neverbleed.c
@@ -2220,6 +2220,7 @@ int neverbleed_init(neverbleed_t *nb, char *errbuf)
EC_KEY_METHOD_set_sign(ecdsa_method, ecdsa_sign_proxy, NULL, NULL);
#endif
+#ifndef OPENSSL_NO_ENGINE
if ((nb->engine = ENGINE_new()) == NULL || !ENGINE_set_id(nb->engine, "neverbleed") ||
!ENGINE_set_name(nb->engine, "privilege separation software engine") || !ENGINE_set_RSA(nb->engine, rsa_method)
#ifdef NEVERBLEED_ECDSA
@@ -2230,6 +2231,7 @@ int neverbleed_init(neverbleed_t *nb, char *errbuf)
goto Fail;
}
ENGINE_add(nb->engine);
+#endif
}
#endif
@@ -2250,7 +2252,9 @@ Fail:
if (listen_fd != -1)
close(listen_fd);
if (nb->engine != NULL) {
+#ifndef OPENSSL_NO_ENGINE
ENGINE_free(nb->engine);
+#endif
nb->engine = NULL;
}
return -1;
|