|
|
@ -10,7 +10,19 @@ |
|
|
|
|
|
|
|
--- a/src/lib-ssl-iostream/dovecot-openssl-common.c
|
|
|
|
+++ b/src/lib-ssl-iostream/dovecot-openssl-common.c
|
|
|
|
@@ -79,6 +79,7 @@ bool dovecot_openssl_common_global_unref(void)
|
|
|
|
@@ -63,9 +63,11 @@ void dovecot_openssl_common_global_ref(void)
|
|
|
|
/*i_warning("CRYPTO_set_mem_functions() was called too late");*/ |
|
|
|
} |
|
|
|
|
|
|
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
|
|
SSL_library_init(); |
|
|
|
SSL_load_error_strings(); |
|
|
|
OpenSSL_add_all_algorithms(); |
|
|
|
+#endif
|
|
|
|
} |
|
|
|
|
|
|
|
bool dovecot_openssl_common_global_unref(void) |
|
|
|
@@ -79,6 +81,7 @@ bool dovecot_openssl_common_global_unref(void)
|
|
|
|
ENGINE_finish(dovecot_openssl_engine); |
|
|
|
dovecot_openssl_engine = NULL; |
|
|
|
} |
|
|
@ -18,7 +30,7 @@ |
|
|
|
/* OBJ_cleanup() is called automatically by EVP_cleanup() in |
|
|
|
newer versions. Doesn't hurt to call it anyway. */ |
|
|
|
OBJ_cleanup(); |
|
|
|
@@ -100,6 +101,7 @@ bool dovecot_openssl_common_global_unref(void)
|
|
|
|
@@ -100,6 +103,7 @@ bool dovecot_openssl_common_global_unref(void)
|
|
|
|
ERR_free_strings(); |
|
|
|
#ifdef HAVE_OPENSSL_CLEANUP |
|
|
|
OPENSSL_cleanup(); |
|
|
@ -38,3 +50,14 @@ |
|
|
|
#include <openssl/x509.h> |
|
|
|
#include <openssl/pem.h> |
|
|
|
#include <openssl/ssl.h> |
|
|
|
@@ -510,8 +513,10 @@ ssl_proxy_ctx_set_crypto_params(SSL_CTX *ssl_ctx,
|
|
|
|
int nid; |
|
|
|
const char *curve_name; |
|
|
|
#endif |
|
|
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
|
|
if (SSL_CTX_need_tmp_RSA(ssl_ctx) != 0) |
|
|
|
SSL_CTX_set_tmp_rsa_callback(ssl_ctx, ssl_gen_rsa_key); |
|
|
|
+#endif
|
|
|
|
if (set->dh == NULL || *set->dh == '\0') |
|
|
|
SSL_CTX_set_tmp_dh_callback(ssl_ctx, ssl_tmp_dh_callback); |
|
|
|
#ifdef HAVE_ECDH |