From 5ec9545ddc156179a71e11c2435e94ea08d1354b Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Tue, 9 Apr 2019 19:35:03 -0700 Subject: [PATCH] dovecot: Fix deprecated API patch Refreshed patches. Signed-off-by: Rosen Penev --- mail/dovecot/Makefile | 2 +- .../patches/100-openssl-deprecated.patch | 27 +++++++++++++++++-- mail/dovecot/patches/110-openssl-engine.patch | 8 +++--- 3 files changed, 30 insertions(+), 7 deletions(-) diff --git a/mail/dovecot/Makefile b/mail/dovecot/Makefile index 71768f0ce..a902e2ce1 100644 --- a/mail/dovecot/Makefile +++ b/mail/dovecot/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=dovecot PKG_VERSION:=2.3.5.1 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://www.dovecot.org/releases/2.3 diff --git a/mail/dovecot/patches/100-openssl-deprecated.patch b/mail/dovecot/patches/100-openssl-deprecated.patch index ecb00a77b..72d447425 100644 --- a/mail/dovecot/patches/100-openssl-deprecated.patch +++ b/mail/dovecot/patches/100-openssl-deprecated.patch @@ -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 #include #include +@@ -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 diff --git a/mail/dovecot/patches/110-openssl-engine.patch b/mail/dovecot/patches/110-openssl-engine.patch index 9859c7328..19326fb13 100644 --- a/mail/dovecot/patches/110-openssl-engine.patch +++ b/mail/dovecot/patches/110-openssl-engine.patch @@ -47,7 +47,7 @@ #ifdef HAVE_SSL_NEW_MEM_FUNCS static void *dovecot_openssl_malloc(size_t size, const char *u0 ATTR_UNUSED, int u1 ATTR_UNUSED) -@@ -75,10 +78,12 @@ bool dovecot_openssl_common_global_unref(void) +@@ -77,10 +80,12 @@ bool dovecot_openssl_common_global_unref(void) if (--openssl_init_refcount > 0) return TRUE; @@ -60,7 +60,7 @@ #if OPENSSL_VERSION_NUMBER < 0x10100000L /* OBJ_cleanup() is called automatically by EVP_cleanup() in newer versions. Doesn't hurt to call it anyway. */ -@@ -86,7 +91,9 @@ bool dovecot_openssl_common_global_unref(void) +@@ -88,7 +93,9 @@ bool dovecot_openssl_common_global_unref(void) #ifdef HAVE_SSL_COMP_FREE_COMPRESSION_METHODS SSL_COMP_free_compression_methods(); #endif @@ -70,7 +70,7 @@ EVP_cleanup(); CRYPTO_cleanup_all_ex_data(); #ifdef HAVE_OPENSSL_AUTO_THREAD_DEINIT -@@ -109,6 +116,7 @@ bool dovecot_openssl_common_global_unref(void) +@@ -111,6 +118,7 @@ bool dovecot_openssl_common_global_unref(void) int dovecot_openssl_common_global_set_engine(const char *engine, const char **error_r) { @@ -78,7 +78,7 @@ if (dovecot_openssl_engine != NULL) return 1; -@@ -130,5 +138,6 @@ int dovecot_openssl_common_global_set_engine(const char *engine, +@@ -132,5 +140,6 @@ int dovecot_openssl_common_global_set_engine(const char *engine, dovecot_openssl_engine = NULL; return -1; }