mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 14:35:26 +00:00
1395. [port] OpenSSL 0.9.7 defines CRYPTO_LOCK_ENGINE but doesn't
have a working implementation. [RT #4079]
This commit is contained in:
3
CHANGES
3
CHANGES
@@ -1,3 +1,6 @@
|
|||||||
|
1395. [port] OpenSSL 0.9.7 defines CRYPTO_LOCK_ENGINE but doesn't
|
||||||
|
have a working implementation. [RT #4079]
|
||||||
|
|
||||||
1394. [func] It is now possible to check if a particular element is
|
1394. [func] It is now possible to check if a particular element is
|
||||||
in a acl. Remove duplicate entries from the localnets
|
in a acl. Remove duplicate entries from the localnets
|
||||||
acl.
|
acl.
|
||||||
|
@@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Principal Author: Brian Wellington
|
* Principal Author: Brian Wellington
|
||||||
* $Id: openssl_link.c,v 1.50 2002/03/19 04:30:53 marka Exp $
|
* $Id: openssl_link.c,v 1.51 2002/10/31 04:35:02 marka Exp $
|
||||||
*/
|
*/
|
||||||
#ifdef OPENSSL
|
#ifdef OPENSSL
|
||||||
|
|
||||||
@@ -40,7 +40,11 @@
|
|||||||
#include <openssl/rand.h>
|
#include <openssl/rand.h>
|
||||||
#include <openssl/crypto.h>
|
#include <openssl/crypto.h>
|
||||||
|
|
||||||
#ifdef CRYPTO_LOCK_ENGINE
|
#if defined(CRYPTO_LOCK_ENGINE) && (OPENSSL_VERSION_NUMBER < 0x00907000L)
|
||||||
|
#define USE_ENGINE 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef USE_ENGINE
|
||||||
#include <openssl/engine.h>
|
#include <openssl/engine.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -48,7 +52,7 @@ static RAND_METHOD *rm = NULL;
|
|||||||
static isc_mutex_t *locks = NULL;
|
static isc_mutex_t *locks = NULL;
|
||||||
static int nlocks;
|
static int nlocks;
|
||||||
|
|
||||||
#ifdef CRYPTO_LOCK_ENGINE
|
#ifdef USE_ENGINE
|
||||||
static ENGINE *e;
|
static ENGINE *e;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -150,7 +154,7 @@ dst__openssl_init() {
|
|||||||
rm->add = entropy_add;
|
rm->add = entropy_add;
|
||||||
rm->pseudorand = entropy_getpseudo;
|
rm->pseudorand = entropy_getpseudo;
|
||||||
rm->status = NULL;
|
rm->status = NULL;
|
||||||
#ifdef CRYPTO_LOCK_ENGINE
|
#ifdef USE_ENGINE
|
||||||
e = ENGINE_new();
|
e = ENGINE_new();
|
||||||
if (e == NULL) {
|
if (e == NULL) {
|
||||||
result = ISC_R_NOMEMORY;
|
result = ISC_R_NOMEMORY;
|
||||||
@@ -163,7 +167,7 @@ dst__openssl_init() {
|
|||||||
#endif
|
#endif
|
||||||
return (ISC_R_SUCCESS);
|
return (ISC_R_SUCCESS);
|
||||||
|
|
||||||
#ifdef CRYPTO_LOCK_ENGINE
|
#ifdef USE_ENGINE
|
||||||
cleanup_rm:
|
cleanup_rm:
|
||||||
mem_free(rm);
|
mem_free(rm);
|
||||||
#endif
|
#endif
|
||||||
@@ -177,7 +181,7 @@ dst__openssl_init() {
|
|||||||
void
|
void
|
||||||
dst__openssl_destroy() {
|
dst__openssl_destroy() {
|
||||||
ERR_clear_error();
|
ERR_clear_error();
|
||||||
#ifdef CRYPTO_LOCK_ENGINE
|
#ifdef USE_ENGINE
|
||||||
if (e != NULL)
|
if (e != NULL)
|
||||||
ENGINE_free(e);
|
ENGINE_free(e);
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user