Skip to content
Closed
Changes from 1 commit
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
585e5ec
crypto: use X509_STORE_CTX_new
davidben Sep 16, 2017
0e8157c
crypto: make node_crypto_bio compat w/ OpenSSL 1.1
davidben Sep 14, 2017
125d448
crypto: estimate kExternalSize
davidben Sep 16, 2017
f407551
crypto: remove unnecessary SSLerr calls
davidben Sep 16, 2017
5d4d7ef
crypto: account for new 1.1.0 SSL APIs
davidben Sep 17, 2017
3397696
crypto: test DH keys work without a public half
davidben Sep 17, 2017
7e55235
crypto: use RSA and DH accessors
davidben Sep 17, 2017
aad2416
crypto: remove locking callbacks for OpenSSL 1.1.0
davidben Sep 18, 2017
43394e1
crypto: make CipherBase 1.1.0-compatible
davidben Sep 20, 2017
1df22a1
crypto: make Hash 1.1.0-compatible
davidben Sep 22, 2017
9bce4db
crypto: make SignBase compatible with OpenSSL 1.1.0
davidben Sep 22, 2017
827f3f0
crypto: Make Hmac 1.1.0-compatible
davidben Sep 22, 2017
21fb3d0
crypto: add compat logic for "DSS1" and "dss1"
davidben Sep 23, 2017
5520305
crypto: hard-code tlsSocket.getCipher().version
davidben Sep 23, 2017
7a3cb8a
test: update test expectations for OpenSSL 1.1.0
davidben Sep 17, 2017
38b15a7
test: remove sha from test expectations
davidben Sep 23, 2017
ba1e140
crypto: emulate OpenSSL 1.0 ticket scheme in 1.1
davidben Sep 23, 2017
47116e3
test: test with a larger RSA key
davidben Sep 23, 2017
edbf1b8
test: revise test-tls-econnreset for OpenSSL 1.1.0
davidben Sep 23, 2017
18ca4e9
crypto: remove deprecated ECDH calls w/ OpenSSL 1.1
davidben Sep 23, 2017
b94a158
test: configure certs in tests
davidben Sep 23, 2017
68f415d
test: fix test-https-agent-session-eviction for 1.1
davidben Sep 23, 2017
3dad5ad
crypto: make ALPN the same for OpenSSL 1.0.2 & 1.1.0
davidben Sep 23, 2017
c0bd411
crypto: clear some SSL_METHOD deprecation warnings
davidben Sep 18, 2017
42e073e
crypto: remove leftover initialization
MylesBorins Jan 23, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
crypto: remove locking callbacks for OpenSSL 1.1.0
The callbacks are all no-ops in OpenSSL 1.1.0. This isn't necessary (the
functions still exist for compatibility), but silences some warnings and
avoids allocating a few unused mutexes.

PR-URL: #16130
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
  • Loading branch information
davidben authored and MylesBorins committed Feb 7, 2018
commit aad24165d4a73cc8e2ecfa0daed8d9de003e90b0
8 changes: 6 additions & 2 deletions src/node_crypto.cc
Original file line number Diff line number Diff line change
Expand Up @@ -235,8 +235,6 @@ static X509_NAME *cnnic_ev_name =
d2i_X509_NAME(nullptr, &cnnic_ev_p,
sizeof(CNNIC_EV_ROOT_CA_SUBJECT_DATA)-1);

static Mutex* mutexes;

static const char* const root_certs[] = {
#include "node_root_certs.h" // NOLINT(build/include_order)
};
Expand Down Expand Up @@ -303,6 +301,9 @@ template int SSLWrap<TLSWrap>::SelectALPNCallback(
void* arg);
#endif // TLSEXT_TYPE_application_layer_protocol_negotiation

#if OPENSSL_VERSION_NUMBER < 0x10100000L
static Mutex* mutexes;

static void crypto_threadid_cb(CRYPTO_THREADID* tid) {
static_assert(sizeof(uv_thread_t) <= sizeof(void*),
"uv_thread_t does not fit in a pointer");
Expand All @@ -325,6 +326,7 @@ static void crypto_lock_cb(int mode, int n, const char* file, int line) {
else
mutex->Unlock();
}
#endif


static int PasswordCallback(char *buf, int size, int rwflag, void *u) {
Expand Down Expand Up @@ -6162,9 +6164,11 @@ void InitCryptoOnce() {
SSL_library_init();
OpenSSL_add_all_algorithms();

#if OPENSSL_VERSION_NUMBER < 0x10100000L
crypto_lock_init();
CRYPTO_set_locking_callback(crypto_lock_cb);
CRYPTO_THREADID_set_callback(crypto_threadid_cb);
#endif

#ifdef NODE_FIPS_MODE
/* Override FIPS settings in cnf file, if needed. */
Expand Down