]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
locks are only need in OpenSSL < 1.1
authorMark Andrews <marka@isc.org>
Mon, 31 Oct 2016 05:33:22 +0000 (16:33 +1100)
committerMark Andrews <marka@isc.org>
Tue, 8 Nov 2016 23:05:50 +0000 (10:05 +1100)
lib/dns/openssl_link.c

index c4d30e1e89299e9234f1246b07f4bd73e59be462..29facf3a7e9206201c5e361e2f00295dab0d69a0 100644 (file)
 
 static RAND_METHOD *rm = NULL;
 
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
 static isc_mutex_t *locks = NULL;
 static int nlocks;
+#endif
 
 #ifdef USE_ENGINE
 static ENGINE *e = NULL;
@@ -185,6 +187,7 @@ dst__openssl_init(const char *engine) {
        CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON);
 #endif
        CRYPTO_set_mem_functions(mem_alloc, mem_realloc, mem_free);
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
        nlocks = CRYPTO_num_locks();
        locks = mem_alloc(sizeof(isc_mutex_t) * nlocks FILELINE);
        if (locks == NULL)
@@ -192,7 +195,6 @@ dst__openssl_init(const char *engine) {
        result = isc_mutexblock_init(locks, nlocks);
        if (result != ISC_R_SUCCESS)
                goto cleanup_mutexalloc;
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
        CRYPTO_set_locking_callback(lock_callback);
        CRYPTO_set_id_callback(id_callback);
 #endif
@@ -269,11 +271,13 @@ dst__openssl_init(const char *engine) {
        rm = NULL;
 #endif
  cleanup_mutexinit:
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
        CRYPTO_set_locking_callback(NULL);
        DESTROYMUTEXBLOCK(locks, nlocks);
  cleanup_mutexalloc:
        mem_free(locks FILELINE);
        locks = NULL;
+#endif
        return (result);
 }