diff options
Diffstat (limited to 'meta-networking/recipes-protocols/net-snmp/net-snmp/fix-openssl-build-errors.patch')
-rw-r--r-- | meta-networking/recipes-protocols/net-snmp/net-snmp/fix-openssl-build-errors.patch | 181 |
1 files changed, 0 insertions, 181 deletions
diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp/fix-openssl-build-errors.patch b/meta-networking/recipes-protocols/net-snmp/net-snmp/fix-openssl-build-errors.patch deleted file mode 100644 index 5c6436c343..0000000000 --- a/meta-networking/recipes-protocols/net-snmp/net-snmp/fix-openssl-build-errors.patch +++ /dev/null @@ -1,181 +0,0 @@ -net-snmp build fails on Debian 9 with OpenSSL 1.1.0 - -With these changes, net-snmp builds with both -OpenSSL 1.0.x and 1.1.x. - -Author: Sharmila Podury <sharmila.podury@brocade.com> - -Index: net-snmp-5.7.3/apps/snmpusm.c -=================================================================== ---- net-snmp-5.7.3.orig/apps/snmpusm.c -+++ net-snmp-5.7.3/apps/snmpusm.c -@@ -125,6 +125,32 @@ char *usmUserPublic_val = NULL - int docreateandwait = 0; - - -+#if OPENSSL_VERSION_NUMBER < 0x10100000L -+ -+#include <string.h> -+#include <openssl/engine.h> -+ -+void DH_get0_pqg(const DH *dh, -+ const BIGNUM **p, const BIGNUM **q, const BIGNUM **g) -+{ -+ if (p != NULL) -+ *p = dh->p; -+ if (q != NULL) -+ *q = dh->q; -+ if (g != NULL) -+ *g = dh->g; -+} -+ -+void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key) -+{ -+ if (pub_key != NULL) -+ *pub_key = dh->pub_key; -+ if (priv_key != NULL) -+ *priv_key = dh->priv_key; -+} -+ -+#endif -+ - void - usage(void) - { -@@ -190,7 +216,7 @@ get_USM_DH_key(netsnmp_variable_list *va - oid *keyoid, size_t keyoid_len) { - u_char *dhkeychange; - DH *dh; -- BIGNUM *other_pub; -+ BIGNUM *p, *g, *pub_key, *other_pub; - u_char *key; - size_t key_len; - -@@ -205,25 +231,29 @@ get_USM_DH_key(netsnmp_variable_list *va - dh = d2i_DHparams(NULL, &cp, dhvar->val_len); - } - -- if (!dh || !dh->g || !dh->p) { -+ if (dh) -+ DH_get0_pqg(dh, &p, NULL, &g); -+ -+ if (!dh || !g || !p) { - SNMP_FREE(dhkeychange); - return SNMPERR_GENERR; - } - -- DH_generate_key(dh); -- if (!dh->pub_key) { -+ if (!DH_generate_key(dh)) { - SNMP_FREE(dhkeychange); - return SNMPERR_GENERR; - } - -- if (vars->val_len != (unsigned int)BN_num_bytes(dh->pub_key)) { -+ DH_get0_key(dh, &pub_key, NULL); -+ -+ if (vars->val_len != (unsigned int)BN_num_bytes(pub_key)) { - SNMP_FREE(dhkeychange); - fprintf(stderr,"incorrect diffie-helman lengths (%lu != %d)\n", -- (unsigned long)vars->val_len, BN_num_bytes(dh->pub_key)); -+ (unsigned long)vars->val_len, BN_num_bytes(pub_key)); - return SNMPERR_GENERR; - } - -- BN_bn2bin(dh->pub_key, dhkeychange + vars->val_len); -+ BN_bn2bin(pub_key, dhkeychange + vars->val_len); - - key_len = DH_size(dh); - if (!key_len) { -Index: net-snmp-5.7.3/configure.d/config_os_libs2 -=================================================================== ---- net-snmp-5.7.3.orig/configure.d/config_os_libs2 -+++ net-snmp-5.7.3/configure.d/config_os_libs2 -@@ -293,10 +293,16 @@ if test "x$tryopenssl" != "xno" -a "x$tr - [Define to 1 if you have the `AES_cfb128_encrypt' function.])) - - AC_CHECK_LIB(${CRYPTO}, EVP_MD_CTX_create, -- AC_DEFINE([HAVE_EVP_MD_CTX_CREATE], [], -+ AC_DEFINE([HAVE_EVP_MD_CTX_CREATE], [1], - [Define to 1 if you have the `EVP_MD_CTX_create' function.]) -- AC_DEFINE([HAVE_EVP_MD_CTX_DESTROY], [], -+ AC_DEFINE([HAVE_EVP_MD_CTX_DESTROY], [1], - [Define to 1 if you have the `EVP_MD_CTX_destroy' function.])) -+ -+ AC_CHECK_LIB(${CRYPTO}, EVP_MD_CTX_new, -+ AC_DEFINE([HAVE_EVP_MD_CTX_NEW], [1], -+ [Define to 1 if you have the `EVP_MD_CTX_new' function.]) -+ AC_DEFINE([HAVE_EVP_MD_CTX_FREE], [1], -+ [Define to 1 if you have the `EVP_MD_CTX_free' function.])) - fi - if echo " $transport_result_list " | $GREP "DTLS" > /dev/null; then - AC_CHECK_LIB(ssl, DTLSv1_method, -Index: net-snmp-5.7.3/include/net-snmp/net-snmp-config.h.in -=================================================================== ---- net-snmp-5.7.3.orig/include/net-snmp/net-snmp-config.h.in -+++ net-snmp-5.7.3/include/net-snmp/net-snmp-config.h.in -@@ -155,6 +155,12 @@ - /* Define to 1 if you have the `EVP_MD_CTX_destroy' function. */ - #undef HAVE_EVP_MD_CTX_DESTROY - -+/* Define to 1 if you have the `EVP_MD_CTX_free' function. */ -+#undef HAVE_EVP_MD_CTX_FREE -+ -+/* Define to 1 if you have the `EVP_MD_CTX_new' function. */ -+#undef HAVE_EVP_MD_CTX_NEW -+ - /* Define if you have EVP_sha224/256 in openssl */ - #undef HAVE_EVP_SHA224 - -Index: net-snmp-5.7.3/snmplib/keytools.c -=================================================================== ---- net-snmp-5.7.3.orig/snmplib/keytools.c -+++ net-snmp-5.7.3/snmplib/keytools.c -@@ -149,7 +149,9 @@ generate_Ku(const oid * hashtype, u_int - */ - #ifdef NETSNMP_USE_OPENSSL - --#ifdef HAVE_EVP_MD_CTX_CREATE -+#ifdef HAVE_EVP_MD_CTX_NEW -+ ctx = EVP_MD_CTX_new(); -+#elif HAVE_EVP_MD_CTX_CREATE - ctx = EVP_MD_CTX_create(); - #else - ctx = malloc(sizeof(*ctx)); -@@ -258,7 +260,9 @@ generate_Ku(const oid * hashtype, u_int - memset(buf, 0, sizeof(buf)); - #ifdef NETSNMP_USE_OPENSSL - if (ctx) { --#ifdef HAVE_EVP_MD_CTX_DESTROY -+#ifdef HAVE_EVP_MD_CTX_FREE -+ EVP_MD_CTX_free(ctx); -+#elif HAVE_EVP_MD_CTX_DESTROY - EVP_MD_CTX_destroy(ctx); - #else - EVP_MD_CTX_cleanup(ctx); -Index: net-snmp-5.7.3/snmplib/scapi.c -=================================================================== ---- net-snmp-5.7.3.orig/snmplib/scapi.c -+++ net-snmp-5.7.3/snmplib/scapi.c -@@ -488,7 +488,9 @@ sc_hash(const oid * hashtype, size_t has - } - - /** initialize the pointer */ --#ifdef HAVE_EVP_MD_CTX_CREATE -+#ifdef HAVE_EVP_MD_CTX_NEW -+ cptr = EVP_MD_CTX_new(); -+#elif HAVE_EVP_MD_CTX_CREATE - cptr = EVP_MD_CTX_create(); - #else - cptr = malloc(sizeof(*cptr)); -@@ -509,7 +511,9 @@ sc_hash(const oid * hashtype, size_t has - /** do the final pass */ - EVP_DigestFinal(cptr, MAC, &tmp_len); - *MAC_len = tmp_len; --#ifdef HAVE_EVP_MD_CTX_DESTROY -+#ifdef HAVE_EVP_MD_CTX_FREE -+ EVP_MD_CTX_free(cptr); -+#elif HAVE_EVP_MD_CTX_DESTROY - EVP_MD_CTX_destroy(cptr); - #else - #if !defined(OLD_DES) |