dnl Process this file with autoconf to produce a configure script.
dnl
-dnl Written by and Copyright (C) 2001-2018 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
VERSION_MAJOR=3
VERSION_MINOR=0
-VERSION_POINT=27
-CODE_STATUS="stable"
+VERSION_POINT=29
+CODE_STATUS="UNRELEASED"
dnl Timestamp (date +%s) used by the mtree-spec target.
dnl Should be updated before releases but forgetting it isn't critical.
-SOURCE_DATE_EPOCH=1540830839
+SOURCE_DATE_EPOCH=1545411710
dnl CODE_STATUS can be "alpha", "beta", "stable" or "UNRELEASED",
dnl and will be used for CGI output. Increment version number and
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
+AC_ARG_ENABLE(pcre-host-patterns,
+[ --enable-pcre-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 PCRE host patterns. Please don't enable this option when creating
packages for others that may not be expecting it.],
[if test $enableval = yes; then
- AC_DEFINE(FEATURE_EXTENDED_HOST_PATTERNS)
+ AC_DEFINE(FEATURE_PCRE_HOST_PATTERNS)
fi])
AC_ARG_ENABLE(external-filters,
AC_SUBST(STATIC_PCRE_ONLY)
AC_SUBST(STATIC_PCRS_ONLY)
+dnl ========================================================
+dnl check for mbedTLS which is required for https inspection
+dnl ========================================================
+FEATURE_HTTPS_INSPECTION_ONLY=#
+OPT_MBEDTLS=no
+AC_ARG_WITH(mbedtls,dnl
+AC_HELP_STRING([--with-mbedtls], [Enable mbedTLS detection for https inspection.])
+AC_HELP_STRING([--without-mbedtls], [Disable mbedTLS detection]),
+ OPT_MBEDTLS=$withval)
+
+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"
+ ], [], -lmbedx509 -lmbedcrypto)
+
+ if test "x$FEATURE_HTTPS_INSPECTION" = "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=
+ fi
+fi
+AC_SUBST(FEATURE_HTTPS_INSPECTION_ONLY)
+
+
+dnl ========================================================
+dnl Check for Brotli which can be used for decompression
+dnl ========================================================
+WITH_BROTLI=no
+AC_ARG_WITH(brotli,
+AC_HELP_STRING([--with-brotli], [Enable Brotli detection])
+AC_HELP_STRING([--without-brotli], [Disable Brotli detection]),
+ WITH_BROTLI=$withval)
+
+if test X"$WITH_BROTLI" != Xno; then
+
+ LIBS="$LIBS -lbrotlidec"
+
+ AC_CHECK_LIB(brotlidec, BrotliDecoderDecompress)
+
+ AC_CHECK_HEADERS(brotli/decode.h,
+ FEATURE_BROTLI=1
+ AC_DEFINE(FEATURE_BROTLI, 1, [If Brotli is used for decompression])
+ AC_SUBST(FEATURE_BROTLI, [1])
+ )
+fi
+
+
dnl =================================================================
dnl Final cleanup and output
dnl =================================================================