Skip to content

Commit 82cbabc

Browse files
committed
Update OpenSSL initialize with not deprecated code
OpenSSL's 1.0.2a CRYPTO_set_id_callback is deprecated. This patch let use OpenSSL with deprecated code and with newer and not deprecated ones.
1 parent 724ea08 commit 82cbabc

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

Crypto/src/OpenSSLInitializer.cpp

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,12 @@ void OpenSSLInitializer::initialize()
8787
// "If the application does not register such a callback using CRYPTO_THREADID_set_callback(),
8888
// then a default implementation is used - on Windows and BeOS this uses the system's
8989
// default thread identifying APIs"
90-
CRYPTO_set_id_callback(&OpenSSLInitializer::id);
90+
#ifndef OPENSSL_NO_DEPRECATED
91+
CRYPTO_set_id_callback(&OpenSSLInitializer::id);
92+
#else
93+
CRYPTO_THREADID tid;
94+
CRYPTO_THREADID_set_numeric(&tid, OpenSSLInitializer::id());
95+
#endif /* OPENSSL_NO_DEPRECATED */
9196
#endif
9297
CRYPTO_set_dynlock_create_callback(&OpenSSLInitializer::dynlockCreate);
9398
CRYPTO_set_dynlock_lock_callback(&OpenSSLInitializer::dynlock);
@@ -107,7 +112,12 @@ void OpenSSLInitializer::uninitialize()
107112
CRYPTO_set_dynlock_destroy_callback(0);
108113
CRYPTO_set_locking_callback(0);
109114
#ifndef POCO_OS_FAMILY_WINDOWS
115+
#ifndef OPENSSL_NO_DEPRECATED
110116
CRYPTO_set_id_callback(0);
117+
#else
118+
CRYPTO_THREADID tid;
119+
CRYPTO_THREADID_set_numeric(&tid, 0);
120+
#endif /* OPENSSL_NO_DEPRECATED */
111121
#endif
112122
delete [] _mutexes;
113123
}

0 commit comments

Comments
 (0)