From dfe0a0edbcbef81a63b3e66ad9e9eefc2d3522a1 Mon Sep 17 00:00:00 2001 From: Eneas U de Queiroz Date: Fri, 6 Jul 2018 09:17:17 -0300 Subject: [PATCH] mailsend: add compatibility with openssl 1.1.0 Applied a patch merged upstream that adds support to openssl 1.1.0, and added a patch, just submitted upstream, that enables compilation with openssl 1.1.0 built without deprecated API. Signed-off-by: Eneas U de Queiroz --- ...001-OpenSSL-1.1-support-for-HMAC-api.patch | 49 +++++++++++++++++++ ...oved-API-deprecated-by-OpenSSL-1.1.0.patch | 44 +++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 mail/mailsend/patches/0001-OpenSSL-1.1-support-for-HMAC-api.patch create mode 100644 mail/mailsend/patches/0002-Removed-API-deprecated-by-OpenSSL-1.1.0.patch diff --git a/mail/mailsend/patches/0001-OpenSSL-1.1-support-for-HMAC-api.patch b/mail/mailsend/patches/0001-OpenSSL-1.1-support-for-HMAC-api.patch new file mode 100644 index 000000000..c18ef4efa --- /dev/null +++ b/mail/mailsend/patches/0001-OpenSSL-1.1-support-for-HMAC-api.patch @@ -0,0 +1,49 @@ +From 960df6d7a11eef90128dc2ae660866b27f0e4336 Mon Sep 17 00:00:00 2001 +From: muquit +Date: Wed, 21 Sep 2016 12:46:24 -0400 +Subject: [PATCH] OpenSSL 1.1 support for HMAC api + +--- + utils.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/utils.c b/utils.c +index b072138..abfb86e 100755 +--- a/utils.c ++++ b/utils.c +@@ -791,8 +791,14 @@ char *encode_cram_md5(char *challenge,char *user,char *secret) + unsigned char + hmac_md5[16]; + ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + HMAC_CTX + ctx; ++#else ++ /* OpenSSL 1.1.x*/ ++ HMAC_CTX ++ *ctx; ++#endif + + const EVP_MD + *md5=NULL; +@@ -831,11 +837,20 @@ char *encode_cram_md5(char *challenge,char *user,char *secret) + showVerbose("Challenge After decoding: %s\n",data); + + /* take HMAC-MD5 of the challenge*/ ++ ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + md5=EVP_get_digestbyname("md5"); + HMAC_CTX_init(&ctx); + HMAC_Init(&ctx,secret,strlen(secret),md5); + HMAC_Update(&ctx,data,data_len); + HMAC_Final(&ctx,hmac_md5,&hmac_len); ++#else ++ /* OpenSSL 1.1.x */ ++ ctx = HMAC_CTX_new(); ++ HMAC_Init_ex(ctx,secret,strlen(secret),EVP_md5(),NULL); ++ HMAC_Update(ctx,data,data_len); ++ HMAC_Final(ctx,hmac_md5,&hmac_len); ++#endif + + /* convert the digest to hex */ + memset(hex,0,sizeof(hex)); diff --git a/mail/mailsend/patches/0002-Removed-API-deprecated-by-OpenSSL-1.1.0.patch b/mail/mailsend/patches/0002-Removed-API-deprecated-by-OpenSSL-1.1.0.patch new file mode 100644 index 000000000..dfdb15d28 --- /dev/null +++ b/mail/mailsend/patches/0002-Removed-API-deprecated-by-OpenSSL-1.1.0.patch @@ -0,0 +1,44 @@ +From 2d585baa473314f79d492c0876b3bbf96758562c Mon Sep 17 00:00:00 2001 +From: Eneas U de Queiroz +Date: Fri, 8 Jun 2018 14:41:23 -0300 +Subject: [PATCH] Removed API deprecated by OpenSSL 1.1.0 + +Signed-off-by: Eneas U de Queiroz +--- + main.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/main.c b/main.c +index d275e6a..51bfb1d 100755 +--- a/main.c ++++ b/main.c +@@ -91,7 +91,11 @@ static void usage(void) + (void) printf(" Copyright: %.1024s\n\n",NO_SPAM_STATEMENT); + #ifdef HAVE_OPENSSL + (void) fprintf(stdout," (Compiled with OpenSSL version: %s)\n", ++# if OPENSSL_VERSION_NUMBER < 0x10100000L + SSLeay_version(SSLEAY_VERSION)); ++# else ++ OpenSSL_version(OPENSSL_VERSION)); ++# endif + #else + (void) fprintf(stdout," (Not compiled with OpenSSL)\n"); + #endif /* HAVE_OPENSSL */ +@@ -1056,9 +1060,13 @@ int main(int argc,char **argv) + (void) fprintf(stderr,"mailsend Version: %.1024s\n",MAILSEND_VERSION); + #ifdef HAVE_OPENSSL + (void) fprintf(stderr,"Compiled with OpenSSL: %s\n", ++# if OPENSSL_VERSION_NUMBER < 0x10100000L + SSLeay_version(SSLEAY_VERSION)); ++# else ++ OpenSSL_version(OPENSSL_VERSION)); ++# endif + #else +- (void) fprintf(stderr,"Not Compiled OpenSSL, some auth methods will be unavailable\n"); ++ (void) fprintf(stderr,"Not Compiled with OpenSSL, some auth methods will be unavailable\n"); + #endif /* ! HAVE_OPENSSL */ + rc = 0; + goto ExitProcessing; +-- +2.16.4 +