packages/mail/mailsend/patches/0001-OpenSSL-1.1-support-for-HMAC-api.patch
Ilya Lipnitskiy 5d8d4fbbcb
treewide: Run refresh on all packages
The crude loop I wrote to come up with this changeset:

  find -L package/feeds/packages/ -name patches | \
  sed 's/patches$/refresh/' | sort | xargs make

Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
2021-02-20 16:02:15 -08:00

47 lines
1.2 KiB
Diff

From 960df6d7a11eef90128dc2ae660866b27f0e4336 Mon Sep 17 00:00:00 2001
From: muquit <muquit@gmail.com>
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(+)
--- a/utils.c
+++ b/utils.c
@@ -791,8 +791,14 @@ char *encode_cram_md5(char *challenge,ch
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,ch
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));