Use proper thread locking function according to openssl version used 10/205710/3 accepted/tizen/unified/20190510.111031 submit/tizen/20190510.041920
authorSeonah Moon <seonah1.moon@samsung.com>
Wed, 8 May 2019 11:53:21 +0000 (20:53 +0900)
committerSeonah Moon <seonah1.moon@samsung.com>
Thu, 9 May 2019 04:40:09 +0000 (13:40 +0900)
https://www.openssl.org/docs/man1.0.2/man3/CRYPTO_THREADID_set_callback.html

Change-Id: I0b335f65f81155525dcda22730882c5cac77fc41

packaging/capi-network-http.spec
src/http_common.c

index da2530b..42fe994 100644 (file)
@@ -1,6 +1,6 @@
 Name:          capi-network-http
 Summary:       Http Framework
-Version:       0.0.37
+Version:       0.0.38
 Release:       0
 Group:         System/Network
 License:       Apache-2.0
index 66828ca..de02b92 100644 (file)
@@ -25,6 +25,7 @@
 #include <unistd.h>
 #include <pthread.h>
 #include <openssl/err.h>
+#include <openssl/opensslv.h>
 #include <cynara-client.h>
 
 #define MUTEX_TYPE       pthread_mutex_t
@@ -334,6 +335,13 @@ static unsigned long id_function(void)
        return ((unsigned long)THREAD_ID);
 }
 
+#if (OPENSSL_VERSION_NUMBER >= 0x10000000L)
+static void threadid_function(CRYPTO_THREADID *threadid)
+{
+       CRYPTO_THREADID_set_numeric(threadid, id_function());
+}
+#endif
+
 int thread_setup(void)
 {
        int index = 0;
@@ -345,7 +353,11 @@ int thread_setup(void)
        for (index = 0;  index < CRYPTO_num_locks();  index++)
                MUTEX_SETUP(mutex_buf[index]);
 
+#if (OPENSSL_VERSION_NUMBER >= 0x10000000L)
+       CRYPTO_THREADID_set_callback(threadid_function);
+#else
        CRYPTO_set_id_callback(id_function);
+#endif
        CRYPTO_set_locking_callback(locking_function);
 
        return 1;