X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=ssl%2Fssl_lib.c;h=203bce661a97fe398761fdfceb97db0222da4f7d;hb=e65bcbcef05007ad00e26c8132a8d5f4baa981f0;hp=fc41a3bf17969a156471c5d9ea2c02a789edb165;hpb=0b44c26d78e3e13f9f134872e78631c262f11aab;p=oweals%2Fopenssl.git diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index fc41a3bf17..203bce661a 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -1581,7 +1581,7 @@ SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth) ret->psk_client_callback=NULL; ret->psk_server_callback=NULL; #endif -#if !defined(OPENSSL_NO_BUF_FREELISTS) && !defined(OPENSSL_NO_RELEASE_BUFFERS) +#ifndef OPENSSL_NO_BUF_FREELISTS ret->freelist_max_len = SSL_MAX_BUF_FREELIST_LEN_DEFAULT; ret->rbuf_freelist = OPENSSL_malloc(sizeof(SSL3_BUF_FREELIST)); if (!ret->rbuf_freelist) @@ -1608,6 +1608,12 @@ SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth) { ENGINE *eng; eng = ENGINE_by_id(eng_str(OPENSSL_SSL_CLIENT_ENGINE_AUTO)); + if (!eng) + { + ERR_clear_error(); + ENGINE_load_builtin_engines(); + eng = ENGINE_by_id(eng_str(OPENSSL_SSL_CLIENT_ENGINE_AUTO)); + } if (!eng || !SSL_CTX_set_client_cert_engine(ret, eng)) ERR_clear_error(); } @@ -1627,7 +1633,7 @@ static void SSL_COMP_free(SSL_COMP *comp) { OPENSSL_free(comp); } #endif -#if !defined(OPENSSL_NO_BUF_FREELISTS) && !defined(OPENSSL_NO_RELEASE_BUFFERS) +#ifndef OPENSSL_NO_BUF_FREELISTS static void ssl_buf_freelist_free(SSL3_BUF_FREELIST *list) { @@ -1708,7 +1714,7 @@ void SSL_CTX_free(SSL_CTX *a) ENGINE_finish(a->client_cert_engine); #endif -#if !defined(OPENSSL_NO_BUF_FREELISTS) && !defined(OPENSSL_NO_RELEASE_BUFFERS) +#ifndef OPENSSL_NO_BUF_FREELISTS if (a->wbuf_freelist) ssl_buf_freelist_free(a->wbuf_freelist); if (a->rbuf_freelist)