From: Harlan Stenn Date: Sun, 11 Nov 2012 08:49:15 +0000 (-0500) Subject: [Bug 2296] Fix compile problem with building with old OpenSSL X-Git-Tag: NTP_4_2_7P319~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9e7ad9185423591daab243adecc3bfaeb7491f8e;p=thirdparty%2Fntp.git [Bug 2296] Fix compile problem with building with old OpenSSL bk: 509f668bp5iw4XKk94yqKaph7EJy6w --- diff --git a/ChangeLog b/ChangeLog index 820dba9b5..e77f60284 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,4 @@ +* [Bug 2296] Fix compile problem with building with old OpenSSL. (4.2.7p318) 2012/11/05 Released by Harlan Stenn * [Bug 2301] Remove spurious debug output from ntpq. (4.2.7p317) 2012/11/05 Released by Harlan Stenn diff --git a/libntp/a_md5encrypt.c b/libntp/a_md5encrypt.c index 5603310a7..ffabc47c7 100644 --- a/libntp/a_md5encrypt.c +++ b/libntp/a_md5encrypt.c @@ -34,11 +34,15 @@ MD5authencrypt( * was creaded. */ INIT_SSL(); +#if defined(OPENSSL) && OPENSSL_VERSION_NUMBER >= 0x0090700fL if (!EVP_DigestInit(&ctx, EVP_get_digestbynid(type))) { msyslog(LOG_ERR, "MAC encrypt: digest init failed"); return (0); } +#else + EVP_DigestInit(&ctx, EVP_get_digestbynid(type)); +#endif EVP_DigestUpdate(&ctx, key, cache_secretsize); EVP_DigestUpdate(&ctx, (u_char *)pkt, (u_int)length); EVP_DigestFinal(&ctx, digest, &len); @@ -71,11 +75,15 @@ MD5authdecrypt( * was created. */ INIT_SSL(); +#if defined(OPENSSL) && OPENSSL_VERSION_NUMBER >= 0x0090700fL if (!EVP_DigestInit(&ctx, EVP_get_digestbynid(type))) { msyslog(LOG_ERR, "MAC decrypt: digest init failed"); return (0); } +#else + EVP_DigestInit(&ctx, EVP_get_digestbynid(type)); +#endif EVP_DigestUpdate(&ctx, key, cache_secretsize); EVP_DigestUpdate(&ctx, (u_char *)pkt, (u_int)length); EVP_DigestFinal(&ctx, digest, &len); @@ -105,6 +113,8 @@ addr2refid(sockaddr_u *addr) return (NSRCADR(addr)); INIT_SSL(); + +#if defined(OPENSSL) && OPENSSL_VERSION_NUMBER >= 0x0090700fL EVP_MD_CTX_init(&ctx); #ifdef EVP_MD_CTX_FLAG_NON_FIPS_ALLOW /* MD5 is not used as a crypto hash here. */ @@ -115,6 +125,10 @@ addr2refid(sockaddr_u *addr) "MD5 init failed"); exit(1); } +#else + EVP_DigestInit(&ctx, EVP_md5()); +#endif + EVP_DigestUpdate(&ctx, (u_char *)PSOCK_ADDR6(addr), sizeof(struct in6_addr)); EVP_DigestFinal(&ctx, digest, &len);