b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame^] | 1 | From 960df6d7a11eef90128dc2ae660866b27f0e4336 Mon Sep 17 00:00:00 2001 |
| 2 | From: muquit <muquit@gmail.com> |
| 3 | Date: Wed, 21 Sep 2016 12:46:24 -0400 |
| 4 | Subject: [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)); |