blob: f4be787ca7175c739aae68fe61a85b0a336c78ef [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001From 960df6d7a11eef90128dc2ae660866b27f0e4336 Mon Sep 17 00:00:00 2001
2From: muquit <muquit@gmail.com>
3Date: Wed, 21 Sep 2016 12:46:24 -0400
4Subject: [PATCH] OpenSSL 1.1 support for HMAC api
5
6---
7 utils.c | 15 +++++++++++++++
8 1 file changed, 15 insertions(+)
9
10--- a/utils.c
11+++ b/utils.c
12@@ -791,8 +791,14 @@ char *encode_cram_md5(char *challenge,ch
13 unsigned char
14 hmac_md5[16];
15
16+#if OPENSSL_VERSION_NUMBER < 0x10100000L
17 HMAC_CTX
18 ctx;
19+#else
20+ /* OpenSSL 1.1.x*/
21+ HMAC_CTX
22+ *ctx;
23+#endif
24
25 const EVP_MD
26 *md5=NULL;
27@@ -831,11 +837,20 @@ char *encode_cram_md5(char *challenge,ch
28 showVerbose("Challenge After decoding: %s\n",data);
29
30 /* take HMAC-MD5 of the challenge*/
31+
32+#if OPENSSL_VERSION_NUMBER < 0x10100000L
33 md5=EVP_get_digestbyname("md5");
34 HMAC_CTX_init(&ctx);
35 HMAC_Init(&ctx,secret,strlen(secret),md5);
36 HMAC_Update(&ctx,data,data_len);
37 HMAC_Final(&ctx,hmac_md5,&hmac_len);
38+#else
39+ /* OpenSSL 1.1.x */
40+ ctx = HMAC_CTX_new();
41+ HMAC_Init_ex(ctx,secret,strlen(secret),EVP_md5(),NULL);
42+ HMAC_Update(ctx,data,data_len);
43+ HMAC_Final(ctx,hmac_md5,&hmac_len);
44+#endif
45
46 /* convert the digest to hex */
47 memset(hex,0,sizeof(hex));