From 95757db14ddc652bfb4c80633727b8ea8c3bef21 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Thu, 11 May 2017 08:27:56 +0200 Subject: [PATCH 1/3] src: add HAVE_OPENSSL guard to crypto providers When configured --without-ssl node_crypto.h will not be included but async-wrap.h includes providers that are defined in node_crypto.h, node_crypto.cc, and tls_wrap.cc: AsyncWrap::PROVIDER_CONNECTION AsyncWrap::PROVIDER_PBKDF2REQUEST AsyncWrap::PROVIDER_RANDOMBYTESREQUEST AsyncWrap::PROVIDER_TLSWRAP These will be included as providers which will cause test-async-wrap-getasyncid.js to fail. This commit suggest adding a guard and exclude the providers that are not available when configured --without-ssl --- src/async-wrap.h | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/async-wrap.h b/src/async-wrap.h index 8a93e838786297..bb406022dfb6d2 100644 --- a/src/async-wrap.h +++ b/src/async-wrap.h @@ -34,34 +34,44 @@ namespace node { #define NODE_ASYNC_ID_OFFSET 0xA1C -#define NODE_ASYNC_PROVIDER_TYPES(V) \ +#define NODE_ASYNC_NONE_CRYPTO_PROVIDER_TYPES(V) \ V(NONE) \ - V(CONNECTION) \ V(FSEVENTWRAP) \ V(FSREQWRAP) \ V(GETADDRINFOREQWRAP) \ V(GETNAMEINFOREQWRAP) \ V(HTTPPARSER) \ V(JSSTREAM) \ - V(PBKDF2REQUEST) \ V(PIPECONNECTWRAP) \ V(PIPEWRAP) \ V(PROCESSWRAP) \ V(QUERYWRAP) \ - V(RANDOMBYTESREQUEST) \ V(SHUTDOWNWRAP) \ V(SIGNALWRAP) \ V(STATWATCHER) \ V(TCPCONNECTWRAP) \ V(TCPWRAP) \ V(TIMERWRAP) \ - V(TLSWRAP) \ V(TTYWRAP) \ V(UDPSENDWRAP) \ V(UDPWRAP) \ V(WRITEWRAP) \ V(ZLIB) +#if HAVE_OPENSSL +#define NODE_ASYNC_CRYPTO_PROVIDER_TYPES(V) \ + V(CONNECTION) \ + V(PBKDF2REQUEST) \ + V(RANDOMBYTESREQUEST) \ + V(TLSWRAP) +#else +#define NODE_ASYNC_CRYPTO_PROVIDER_TYPES(V) +#endif // HAVE_OPENSSL + +#define NODE_ASYNC_PROVIDER_TYPES(V) \ + NODE_ASYNC_NONE_CRYPTO_PROVIDER_TYPES(V) \ + NODE_ASYNC_CRYPTO_PROVIDER_TYPES(V) + class Environment; class AsyncWrap : public BaseObject { From 81d8720a1f1b5f87e813d871dc1e8522c897b30a Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Thu, 11 May 2017 14:04:21 +0200 Subject: [PATCH 2/3] change to NODE_ASYNC_NO_CRYPTO_PROVIDER_TYPES --- src/async-wrap.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/async-wrap.h b/src/async-wrap.h index bb406022dfb6d2..972318410e3a58 100644 --- a/src/async-wrap.h +++ b/src/async-wrap.h @@ -34,7 +34,7 @@ namespace node { #define NODE_ASYNC_ID_OFFSET 0xA1C -#define NODE_ASYNC_NONE_CRYPTO_PROVIDER_TYPES(V) \ +#define NODE_ASYNC_NO_CRYPTO_PROVIDER_TYPES(V) \ V(NONE) \ V(FSEVENTWRAP) \ V(FSREQWRAP) \ @@ -69,7 +69,7 @@ namespace node { #endif // HAVE_OPENSSL #define NODE_ASYNC_PROVIDER_TYPES(V) \ - NODE_ASYNC_NONE_CRYPTO_PROVIDER_TYPES(V) \ + NODE_ASYNC_NO_CRYPTO_PROVIDER_TYPES(V) \ NODE_ASYNC_CRYPTO_PROVIDER_TYPES(V) class Environment; From 05f851ac235c0a8e08513a08935336d015680ee5 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Fri, 12 May 2017 06:05:30 +0200 Subject: [PATCH 3/3] change to ASYNC_NON_CRYPTO_PROVIDER --- src/async-wrap.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/async-wrap.h b/src/async-wrap.h index 972318410e3a58..50d4f626ede151 100644 --- a/src/async-wrap.h +++ b/src/async-wrap.h @@ -34,7 +34,7 @@ namespace node { #define NODE_ASYNC_ID_OFFSET 0xA1C -#define NODE_ASYNC_NO_CRYPTO_PROVIDER_TYPES(V) \ +#define NODE_ASYNC_NON_CRYPTO_PROVIDER_TYPES(V) \ V(NONE) \ V(FSEVENTWRAP) \ V(FSREQWRAP) \ @@ -69,7 +69,7 @@ namespace node { #endif // HAVE_OPENSSL #define NODE_ASYNC_PROVIDER_TYPES(V) \ - NODE_ASYNC_NO_CRYPTO_PROVIDER_TYPES(V) \ + NODE_ASYNC_NON_CRYPTO_PROVIDER_TYPES(V) \ NODE_ASYNC_CRYPTO_PROVIDER_TYPES(V) class Environment;