OpenSSL 1.0.x has deperecated old 0.9.x thread id callbacks. If the
library is compiled without deprecated functions, compiling ODP fails
with missing functions errors. So, let's port odp_crypto to OpenSSL 1.0
thread ID API.

Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsoleni...@linaro.org>
---
 platform/linux-generic/odp_crypto.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/platform/linux-generic/odp_crypto.c 
b/platform/linux-generic/odp_crypto.c
index b53b0fc1..adadbf97 100644
--- a/platform/linux-generic/odp_crypto.c
+++ b/platform/linux-generic/odp_crypto.c
@@ -949,9 +949,9 @@ odp_crypto_operation(odp_crypto_op_param_t *param,
        return 0;
 }
 
-static unsigned long openssl_thread_id(void)
+static void openssl_thread_id(CRYPTO_THREADID *id)
 {
-       return (unsigned long)odp_thread_id();
+       CRYPTO_THREADID_set_numeric(id, odp_thread_id());
 }
 
 static void openssl_lock(int mode, int n,
@@ -1003,7 +1003,7 @@ odp_crypto_init_global(void)
                        odp_ticketlock_init((odp_ticketlock_t *)
                                            &global->openssl_lock[idx]);
 
-               CRYPTO_set_id_callback(openssl_thread_id);
+               CRYPTO_THREADID_set_callback(openssl_thread_id);
                CRYPTO_set_locking_callback(openssl_lock);
        }
 
-- 
2.11.0

Reply via email to