--- ptpd-ptpd-2.3.1/src/dep/ntpengine/ntp_isc_md5.h 2022-06-13 12:06:41.011511173 +0200 +++ ptpd-ptpd-2.3.1/src/dep/ntpengine/ntp_isc_md5.h 2022-06-13 12:10:22.114199482 +0200 @@ -55,6 +55,10 @@ #include #endif /* HAVE_STRINGS_H */ +#include +#include +#include + #define ISC_MD5_DIGESTLENGTH 16U @@ -78,11 +78,11 @@ isc_md5_update(isc_md5_t *ctx, const uns void isc_md5_final(isc_md5_t *ctx, unsigned char *digest); - typedef isc_md5_t MD5_CTX; +// typedef isc_md5_t MD5_CTX; # define MD5Init(c) isc_md5_init(c) # define MD5Update(c, p, s) isc_md5_update(c, p, s) # define MD5Final(d, c) isc_md5_final((c), (d)) /* swapped */ - typedef MD5_CTX EVP_MD_CTX; +// typedef MD5_CTX EVP_MD_CTX; # define EVP_DigestInit(c) MD5Init(c) # define EVP_DigestUpdate(c, p, s) MD5Update(c, p, s) # define EVP_DigestFinal(c, d, pdl) \ --- ptpd-ptpd-2.3.1/src/dep/ntpengine/ntp_isc_md5.c 2015-06-29 17:13:29.000000000 +0200 +++ ptpd-ptpd-2.3.1/src/dep/ntpengine/ntp_isc_md5.c 2022-06-13 12:39:24.593386704 +0200 @@ -262,12 +262,13 @@ MD5authencrypt( { u_char digest[64]; u_int len; - EVP_MD_CTX ctx; + EVP_MD_CTX *ctx = EVP_MD_CTX_new(); pkt[length / 4] = htonl(keyid); - EVP_DigestInit(&ctx); - EVP_DigestUpdate(&ctx, (u_char *)key, (u_int)strlen(key)); - EVP_DigestUpdate(&ctx, (u_char *)pkt, (u_int)length); - EVP_DigestFinal(&ctx, digest, &len); + EVP_DigestInit(ctx); + EVP_DigestUpdate(ctx, (u_char *)key, (u_int)strlen(key)); + EVP_DigestUpdate(ctx, (u_char *)pkt, (u_int)length); + EVP_DigestFinal(ctx, digest, &len); + EVP_MD_CTX_free(ctx); memmove((u_char *)pkt + length + 4, digest, len); return (len + 4); }