* Rebase patches to Buildroot 2021.02-rc3 * Update Buildroot to 2021.02-rc3 * Declare Kernel headers to be Linux version 5.10 (since they are, and new Buildroot knows about 5.10)
147 lines
4.9 KiB
Diff
147 lines
4.9 KiB
Diff
From bd59be8e4e339870a1400f6866a7b73ca11f6460 Mon Sep 17 00:00:00 2001
|
|
From: Giulio Benetti <giulio.benetti@micronovasrl.com>
|
|
Date: Wed, 12 Sep 2018 20:16:39 +0200
|
|
Subject: [PATCH] configure, static linking: Fix SSL checks
|
|
|
|
During checking of DTLS_method, the stub program is linked only with -ssl
|
|
libssl.a lacks some function from -lcrypto:
|
|
RAND_*()
|
|
ERR_*()
|
|
BUF_MEM_*()
|
|
etc.
|
|
and -lz:
|
|
- inflate()
|
|
- deflate()
|
|
|
|
Append -lcrypto and -lz to LIBS variable when checking DTLS_method.
|
|
|
|
See also https://sourceforge.net/p/net-snmp/patches/1374/.
|
|
|
|
Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
|
|
[bvanassche: Edited subject / rewrote this patch]
|
|
[yann.morin.1998@free.fr:
|
|
- use an actual backport of bd59be8e4e339870a1400f6866a7b73ca11f6460
|
|
]
|
|
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
|
|
---
|
|
configure | 52 ++++++++++++++++++++++++++++++++++---
|
|
configure.d/config_os_libs2 | 14 +++++++---
|
|
2 files changed, 58 insertions(+), 8 deletions(-)
|
|
|
|
diff --git a/configure b/configure
|
|
index 6504a8e58a..1116cecaad 100755
|
|
--- a/configure
|
|
+++ b/configure
|
|
@@ -23228,16 +23228,60 @@ fi
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_EVP_md5" >&5
|
|
$as_echo "$ac_cv_lib_crypto_EVP_md5" >&6; }
|
|
if test "x$ac_cv_lib_crypto_EVP_md5" = xyes; then :
|
|
- CRYPTO="crypto"
|
|
+ CRYPTO="crypto"; LIBCRYPTO="-lcrypto"
|
|
+else
|
|
+
|
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVP_md5 in -lcrypto" >&5
|
|
+$as_echo_n "checking for EVP_md5 in -lcrypto... " >&6; }
|
|
+if ${ac_cv_lib_crypto_EVP_md5+:} false; then :
|
|
+ $as_echo_n "(cached) " >&6
|
|
+else
|
|
+ ac_check_lib_save_LIBS=$LIBS
|
|
+LIBS="-lcrypto -lz $LIBS"
|
|
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
+/* end confdefs.h. */
|
|
+
|
|
+/* Override any GCC internal prototype to avoid an error.
|
|
+ Use char because int might match the return type of a GCC
|
|
+ builtin and then its argument prototype would still apply. */
|
|
+#ifdef __cplusplus
|
|
+extern "C"
|
|
+#endif
|
|
+char EVP_md5 ();
|
|
+int
|
|
+main ()
|
|
+{
|
|
+return EVP_md5 ();
|
|
+ ;
|
|
+ return 0;
|
|
+}
|
|
+_ACEOF
|
|
+if ac_fn_c_try_link "$LINENO"; then :
|
|
+ ac_cv_lib_crypto_EVP_md5=yes
|
|
+else
|
|
+ ac_cv_lib_crypto_EVP_md5=no
|
|
+fi
|
|
+rm -f core conftest.err conftest.$ac_objext \
|
|
+ conftest$ac_exeext conftest.$ac_ext
|
|
+LIBS=$ac_check_lib_save_LIBS
|
|
+fi
|
|
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_EVP_md5" >&5
|
|
+$as_echo "$ac_cv_lib_crypto_EVP_md5" >&6; }
|
|
+if test "x$ac_cv_lib_crypto_EVP_md5" = xyes; then :
|
|
+ CRYPTO="crypto"; LIBCRYPTO="-lcrypto -lz"
|
|
+fi
|
|
+
|
|
+
|
|
fi
|
|
|
|
- fi
|
|
+ else
|
|
+ LIBCRYPTO="-l${CRYPTO}"
|
|
+ fi
|
|
|
|
if test x$CRYPTO != x; then
|
|
|
|
$as_echo "#define HAVE_LIBCRYPTO 1" >>confdefs.h
|
|
|
|
- LIBCRYPTO="-l${CRYPTO}"
|
|
netsnmp_save_LIBS="$LIBS"
|
|
LIBS="$LIBCRYPTO"
|
|
for ac_func in AES_cfb128_encrypt EVP_sha224 EVP_sha384 EVP_MD_CTX_create EVP_MD_CTX_destroy EVP_MD_CTX_new EVP_MD_CTX_free DH_set0_pqg DH_get0_pqg DH_get0_key ASN1_STRING_get0_data X509_NAME_ENTRY_get_object X509_NAME_ENTRY_get_data X509_get_signature_nid
|
|
@@ -23291,7 +23335,7 @@ _ACEOF
|
|
LIBS="$netsnmp_save_LIBS"
|
|
fi
|
|
netsnmp_save_LIBS="$LIBS"
|
|
- LIBS="-lssl"
|
|
+ LIBS="-lssl $LIBCRYPTO"
|
|
for ac_func in TLS_method TLSv1_method DTLS_method DTLSv1_method SSL_library_init SSL_load_error_strings ERR_get_error_all
|
|
do :
|
|
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
|
diff --git a/configure.d/config_os_libs2 b/configure.d/config_os_libs2
|
|
index 4a1ad1551f..75214cfff3 100644
|
|
--- a/configure.d/config_os_libs2
|
|
+++ b/configure.d/config_os_libs2
|
|
@@ -306,13 +306,19 @@ if test "x$tryopenssl" != "xno" -a "x$tryopenssl" != "xinternal"; then
|
|
LIBS="$netsnmp_save_LIBS"
|
|
|
|
if test x$CRYPTO = x; then
|
|
- AC_CHECK_LIB([crypto], [EVP_md5], [CRYPTO="crypto"])
|
|
- fi
|
|
+ AC_CHECK_LIB([crypto], [EVP_md5],
|
|
+ [CRYPTO="crypto"; LIBCRYPTO="-lcrypto"], [
|
|
+ AC_CHECK_LIB([crypto], [EVP_md5],
|
|
+ [CRYPTO="crypto"; LIBCRYPTO="-lcrypto -lz"], [],
|
|
+ [-lz])
|
|
+ ])
|
|
+ else
|
|
+ LIBCRYPTO="-l${CRYPTO}"
|
|
+ fi
|
|
|
|
if test x$CRYPTO != x; then
|
|
AC_DEFINE(HAVE_LIBCRYPTO, 1,
|
|
[Define to 1 if you have the OpenSSL library (-lcrypto or -leay32).])
|
|
- LIBCRYPTO="-l${CRYPTO}"
|
|
netsnmp_save_LIBS="$LIBS"
|
|
LIBS="$LIBCRYPTO"
|
|
AC_CHECK_FUNCS([AES_cfb128_encrypt]dnl
|
|
@@ -342,7 +348,7 @@ if test "x$tryopenssl" != "xno" -a "x$tryopenssl" != "xinternal"; then
|
|
LIBS="$netsnmp_save_LIBS"
|
|
fi
|
|
netsnmp_save_LIBS="$LIBS"
|
|
- LIBS="-lssl"
|
|
+ LIBS="-lssl $LIBCRYPTO"
|
|
AC_CHECK_FUNCS([TLS_method TLSv1_method DTLS_method DTLSv1_method]dnl
|
|
[SSL_library_init SSL_load_error_strings])
|
|
LIBS="$netsnmp_save_LIBS"
|
|
--
|
|
2.25.1
|
|
|