X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=configure.in;h=c542038ac03b00838a5ba605df1a2c19c631dbc7;hp=687d47568433ed022559d6e2290b85b8116c1522;hb=b20a5b341ef99580b3176c1f84d2fd46cefe6558;hpb=de9964b3f42690cdaf4c6c73d9deedde89ceee10 diff --git a/configure.in b/configure.in index 687d4756..c542038a 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. dnl -dnl Written by and Copyright (C) 2001-2019 the +dnl Written by and Copyright (C) 2001-2020 the dnl Privoxy team. https://www.privoxy.org/ dnl dnl Based on the Internet Junkbuster originally written @@ -163,7 +163,7 @@ dnl Check for user and group validity dnl ================================================================= -if test "$EMXOS2" = yes || test "$host_os" = haiku; then +if test "$host_os" = haiku; then echo "Skipping user and group validity stuff."; else @@ -934,6 +934,12 @@ AC_ARG_ENABLE(stats, AC_DEFINE(FEATURE_STATISTICS) fi],AC_DEFINE(FEATURE_STATISTICS)) +AC_ARG_ENABLE(extended-statistics, +[ --enable-extended-statistics Gather extended statistics.], +[if test $enableval = yes; then + AC_DEFINE(FEATURE_EXTENDED_STATISTICS) +fi]) + AC_ARG_ENABLE(image-blocking, [ --disable-image-blocking Don't try to figure out whether a request is for an image or HTML - assume HTML.], @@ -978,16 +984,12 @@ AC_ARG_ENABLE(graceful-termination, AC_DEFINE(FEATURE_GRACEFUL_TERMINATION) fi]) -AC_ARG_ENABLE(extended-host-patterns, -[ --enable-extended-host-patterns Enable and require PCRE syntax in host patterns. This feature hasn't - been announced yet and it's not clear if it's a good idea. It's expected - to work, but undocumented. You should only enable it if you know what - PCRE is and are sure that you need it for your host patterns. You can - use tools/url-pattern-translator.pl to convert existing action files to - use PCRE host patterns. Please don't enable this option when creating - packages for others that may not be expecting it.], +AC_ARG_ENABLE(pcre-host-patterns, +[ --enable-pcre-host-patterns Allow to use PCRE syntax in host patterns by prefixing the pattern with + "PCRE-HOST-PATTERN:". You can use tools/url-pattern-translator.pl to + convert existing action files to use PCRE host patterns.], [if test $enableval = yes; then - AC_DEFINE(FEATURE_EXTENDED_HOST_PATTERNS) + AC_DEFINE(FEATURE_PCRE_HOST_PATTERNS) fi]) AC_ARG_ENABLE(external-filters, @@ -1025,7 +1027,7 @@ AC_SUBST(FEATURE_CLIENT_TAGS_ONLY) FUZZ_ONLY="#" AC_ARG_ENABLE(fuzz, -[ --enable-fuzz Enable code that makes fuzzing more convenient], +[ --enable-fuzz Enable code that makes fuzzing more convenient], [if test $enableval = yes; then FUZZ_ONLY="" AC_DEFINE(FUZZ,1,[Define to make fuzzing more convenient.]) @@ -1131,10 +1133,11 @@ dnl fi AC_SUBST(STATIC_PCRE_ONLY) AC_SUBST(STATIC_PCRS_ONLY) +FEATURE_HTTPS_INSPECTION_ONLY=# dnl ======================================================== dnl check for mbedTLS which is required for https inspection dnl ======================================================== -FEATURE_HTTPS_INSPECTION_ONLY=# +FEATURE_HTTPS_INSPECTION_ONLY_MBEDTLS=# OPT_MBEDTLS=no AC_ARG_WITH(mbedtls,dnl AC_HELP_STRING([--with-mbedtls], [Enable mbedTLS detection for https inspection.]) @@ -1145,22 +1148,70 @@ if test X"$OPT_MBEDTLS" != Xno; then AC_CHECK_LIB(mbedtls, mbedtls_ssl_init, [ - AC_DEFINE(FEATURE_HTTPS_INSPECTION, 1, [if mbedTLS is enabled]) - AC_SUBST(FEATURE_HTTPS_INSPECTION, [1]) - FEATURE_HTTPS_INSPECTION="yes" + AC_DEFINE(FEATURE_HTTPS_INSPECTION, 1, [if SSL/TLS is enabled]) + AC_DEFINE(FEATURE_HTTPS_INSPECTION_MBEDTLS, 1, [if mbedTLS is enabled]) + AC_SUBST(FEATURE_HTTPS_INSPECTION_MBEDTLS, [1]) + FEATURE_HTTPS_INSPECTION_MBEDTLS="yes" ], [], -lmbedx509 -lmbedcrypto) - if test "x$FEATURE_HTTPS_INSPECTION" = "xyes"; then + if test "x$FEATURE_HTTPS_INSPECTION_MBEDTLS" = "xyes"; then AC_MSG_NOTICE([Detected mbedTLS. Enabling https inspection.]) LIBS="-lmbedtls -lmbedx509 -lmbedcrypto $LIBS" old_CFLAGS_nospecial="-Imbedtls/include $old_CFLAGS_nospecial" FEATURE_HTTPS_INSPECTION_ONLY= + FEATURE_HTTPS_INSPECTION_ONLY_MBEDTLS= fi fi -AC_SUBST(FEATURE_HTTPS_INSPECTION_ONLY) +AC_SUBST(FEATURE_HTTPS_INSPECTION_ONLY_MBEDTLS) +dnl ======================================================== +dnl check for OpenSSL which is required for https inspection +dnl ======================================================== +FEATURE_HTTPS_INSPECTION_ONLY_OPENSSL=# +OPT_OPENSSL=no +AC_ARG_WITH(openssl,dnl +AC_HELP_STRING([--with-openssl], [Enable OpenSSL detection for https inspection.]) +AC_HELP_STRING([--without-openssl], [Disable OpenSSL detection]), + OPT_OPENSSL=$withval) + +if test X"$OPT_OPENSSL" != Xno; then + if test "$PORTNAME" != "win32"; then + AC_CHECK_LIB(crypto, CRYPTO_new_ex_data, [], [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])]) + FOUND_SSL_LIB="no" + AC_CHECK_LIB(ssl, OPENSSL_init_ssl, [FOUND_SSL_LIB="yes"]) + AC_CHECK_LIB(ssl, SSL_library_init, [FOUND_SSL_LIB="yes"]) + AS_IF([test "x$FOUND_SSL_LIB" = xno], [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])]) + else + AC_SEARCH_LIBS(CRYPTO_new_ex_data, eay32 crypto, [], [AC_MSG_ERROR([library 'eay32' or 'crypto' is required for OpenSSL])]) + FOUND_SSL_LIB="no" + AC_SEARCH_LIBS(OPENSSL_init_ssl, ssleay32 ssl, [FOUND_SSL_LIB="yes"]) + AC_SEARCH_LIBS(SSL_library_init, ssleay32 ssl, [FOUND_SSL_LIB="yes"]) + AS_IF([test "x$FOUND_SSL_LIB" = xno], [AC_MSG_ERROR([library 'ssleay32' or 'ssl' is required for OpenSSL])]) + fi + + if test "x$FOUND_SSL_LIB" = xyes; then + AC_DEFINE(FEATURE_HTTPS_INSPECTION, 1, [if SSL/TLS is enabled]) + AC_DEFINE(FEATURE_HTTPS_INSPECTION_OPENSSL, 1, [if OpenSSL is enabled]) + AC_SUBST(FEATURE_HTTPS_INSPECTION_OPENSSL, [1]) + FEATURE_HTTPS_INSPECTION="yes" + FEATURE_HTTPS_INSPECTION_OPENSSL="yes" + fi + + if test "x$FEATURE_HTTPS_INSPECTION_OPENSSL" = "xyes"; then + AC_MSG_NOTICE([Detected OpenSSL. Enabling https inspection.]) + + LIBS="$LIBS -lssl -lcrypto" + old_CFLAGS_nospecial="$old_CFLAGS_nospecial" + + FEATURE_HTTPS_INSPECTION_ONLY= + FEATURE_HTTPS_INSPECTION_ONLY_OPENSSL= + fi +fi +AC_SUBST(FEATURE_HTTPS_INSPECTION_ONLY_OPENSSL) + +AC_SUBST(FEATURE_HTTPS_INSPECTION_ONLY) dnl ======================================================== dnl Check for Brotli which can be used for decompression