]> The Tcpdump Group git mirrors - tcpdump/commitdiff
Don't check for libcrypto if we don't have openssl/crypto.h. tcpdump-4.7
authorGuy Harris <[email protected]>
Sun, 14 May 2017 10:02:29 +0000 (03:02 -0700)
committerGuy Harris <[email protected]>
Sun, 14 May 2017 10:02:52 +0000 (03:02 -0700)
Thanks, Apple, for making us do this (and for making tcpdump unable to
do some decryption without either installing OpenSSL or working on
trying to do the decryption with Apple's frameworks).

config.h.in
configure
configure.in

index 914289a8f9fcb8fb5586f2790130abc13aa44fe4..882f422303f5e9d24f2d01b1ddf6c39a5d3fcf8c 100644 (file)
@@ -85,6 +85,9 @@
 /* Define to 1 if you have the `openat' function. */
 #undef HAVE_OPENAT
 
+/* Define to 1 if you have the <openssl/crypto.h> header file. */
+#undef HAVE_OPENSSL_CRYPTO_H
+
 /* Define to 1 if you have the <openssl/evp.h> header file. */
 #undef HAVE_OPENSSL_EVP_H
 
index 43b3068aab43eef0a043c7237ffd4f83f6bc25e3..ae82518a26fb0f192052aac4063767101ac6f27e 100755 (executable)
--- a/configure
+++ b/configure
@@ -8161,7 +8161,23 @@ $as_echo "yes, if available" >&6; }
 fi
 
 if test "$want_libcrypto" != "no"; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DES_cbc_encrypt in -lcrypto" >&5
+       #
+       # If we don't have the header, no point in checking the
+       # library.
+       #
+       # Yes, there are OSes that provide the library but not
+       # the header.  (I'm looking at *you*, recent versions of
+       # OS X/macOS.)
+       #
+       for ac_header in openssl/crypto.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "openssl/crypto.h" "ac_cv_header_openssl_crypto_h" "$ac_includes_default"
+if test "x$ac_cv_header_openssl_crypto_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_OPENSSL_CRYPTO_H 1
+_ACEOF
+
+               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DES_cbc_encrypt in -lcrypto" >&5
 $as_echo_n "checking for DES_cbc_encrypt in -lcrypto... " >&6; }
 if ${ac_cv_lib_crypto_DES_cbc_encrypt+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -8206,7 +8222,7 @@ _ACEOF
 
 fi
 
-       for ac_header in openssl/evp.h
+               for ac_header in openssl/evp.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "openssl/evp.h" "ac_cv_header_openssl_evp_h" "$ac_includes_default"
 if test "x$ac_cv_header_openssl_evp_h" = xyes; then :
@@ -8214,6 +8230,11 @@ if test "x$ac_cv_header_openssl_evp_h" = xyes; then :
 #define HAVE_OPENSSL_EVP_H 1
 _ACEOF
 
+fi
+
+done
+
+
 fi
 
 done
index a629559ed1cbe2a61b2682a59fdcab445b2b8d1c..abb4c0ebeff81421377dba070e965bdce855823e 100644 (file)
@@ -1112,8 +1112,19 @@ AC_ARG_WITH(crypto,
        AC_MSG_RESULT([yes, if available])
 ])
 if test "$want_libcrypto" != "no"; then
-       AC_CHECK_LIB(crypto, DES_cbc_encrypt)
-       AC_CHECK_HEADERS(openssl/evp.h)
+       #
+       # If we don't have the header, no point in checking the
+       # library.
+       #
+       # Yes, there are OSes that provide the library but not
+       # the header.  (I'm looking at *you*, recent versions of
+       # OS X/macOS.)
+       #
+       AC_CHECK_HEADERS(openssl/crypto.h,
+       [
+               AC_CHECK_LIB(crypto, DES_cbc_encrypt)
+               AC_CHECK_HEADERS(openssl/evp.h)
+       ])
 fi
 
 # Check for libcap-ng