]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Improved --enable-linux-netfilter handling (now defaults to "auto")
authorFrancesco Chemolli <kinkie@squid-cache.org>
Fri, 23 Apr 2010 09:44:04 +0000 (11:44 +0200)
committerFrancesco Chemolli <kinkie@squid-cache.org>
Fri, 23 Apr 2010 09:44:04 +0000 (11:44 +0200)
Default-disabled IPF support.

configure.in

index 11662ef350835d0561269b1e54fae24c1449cf87..2b51a5d5814b923495fea5fc9ba47820cbbecf2f 100644 (file)
@@ -1287,7 +1287,8 @@ AC_ARG_ENABLE(ipf-transparent,
       [unrecognized argument to --enable-ipf-transparent: $enableval])
 ])
 #will be AC_DEFINE'd later, after checking for appropriate infrastructure
-AC_MSG_NOTICE([IPF-based transparent proxying requested: ${enable_ipf_transparent:=auto}])
+#IPF currently broken. Default-disabled for now.
+AC_MSG_NOTICE([IPF-based transparent proxying requested: ${enable_ipf_transparent:=no}])
 
 dnl Enable PF Transparent Proxy
 AC_ARG_ENABLE(pf-transparent,
@@ -1299,16 +1300,15 @@ AC_ARG_ENABLE(pf-transparent,
 #will be AC_DEFINE'd later, after checking for appropriate infrastructure
 AC_MSG_NOTICE([PF-based transparent proxying requested: ${enable_pf_transparent:=auto}])
 
-# Enable Linux Netfilter Transparent Proxy
-squid_opt_linux_netfilter="auto"
-AH_TEMPLATE(LINUX_NETFILTER,[Enable support for Transparent Proxy on Linux via Netfilter])
+# Linux Netfilter Transparent Proxy
 AC_ARG_ENABLE(linux-netfilter,
   AS_HELP_STRING([--enable-linux-netfilter],
                  [Enable Transparent Proxy support for Linux (Netfilter)]), [
-squid_opt_linux_netfilter=$enableval
-AC_MSG_NOTICE([Linux Transparent Proxy (Netfilter) support requested: $squid_opt_linux_netfilter])
-#will be AC_DEFINE'd later, after checking for appropriate infrastructure
+  SQUID_YESNO([$enableval],
+              [unrecognized argument to --enable-linux-netfilter: $enableval])
 ])
+AC_MSG_NOTICE([Linux Netfilter support requested: ${enable_linux_netfilter:=auto}])
+#will be AC_DEFINE'd later, after checking for appropriate infrastructure
 
 dnl Enable Large file support
 buildmodel=""
@@ -3175,7 +3175,6 @@ fi
 
 dnl PF support requires a header file.
 if test "$enable_pf_transparent" != "no" ; then
-  AC_MSG_CHECKING(for availability of PF header files)
        if test "$ac_cv_header_net_pfvar_h" = "yes" -o \
     "$ac_cv_header_net_pf_pfvar_h" = "yes"; then
                if test "$enable_pf_transparent" = "auto" ; then
@@ -3187,28 +3186,30 @@ if test "$enable_pf_transparent" != "no" ; then
                fi
                enable_pf_transparent="no"
        fi
-  AC_MSG_RESULT([$enable_pf_transparent])
 fi
 SQUID_DEFINE_UNQUOTED([PF_TRANSPARENT],$enable_pf_transparent,
   [Enable support for PF-style transparent proxying])
 
-if test "$squid_opt_linux_netfilter" != "no" ; then
-    AC_MSG_CHECKING(if Linux (Netfilter) kernel header files are installed)
-    # hold on to your hats...
-    if test "$ac_cv_header_linux_netfilter_ipv4_h" = "yes"; then
-        AC_DEFINE(LINUX_NETFILTER, 1)
+if test "$enable_linux_netfilter" != "no" ; then
+  if test "$ac_cv_header_linux_netfilter_ipv4_h" = "yes"; then
+    if test "$enable_linux_netfilter" = "auto" ; then
+      enable_linux_netfilter=yes
+    fi
+  else
+    if test "$enable_linux_netfilter" = "auto" ; then
+      enable_linux_netfilter=no
     else
-        squid_opt_linux_netfilter="no"
-        AC_DEFINE(LINUX_NETFILTER, 0)
-        AC_MSG_WARN([Cannot find necessary Linux kernel (Netfilter) header files])
-        AC_MSG_WARN([Linux Transparent and Intercepting Proxy support WILL NOT be enabled])
+      AC_MSG_ERROR([Linux Netfilter support requested but needed headers not found])
     fi
-    AC_MSG_RESULT($squid_opt_linux_netfilter)
+  fi
 fi
+AC_MSG_NOTICE([Linux Netfilter support enabled: $enable_linux_netfilter])
+SQUID_DEFINE_UNQUOTED([LINUX_NETFILTER],$enable_linux_netfilter,
+  [Enable support for Transparent Proxy on Linux via Netfilter])
 
 dnl Netfilter TPROXY depends on libcap but the NAT parts can still work.
-AC_MSG_NOTICE([Support for Netfilter-based interception proxy requested: $squid_opt_linux_netfilter])
-if test "$squid_opt_linux_netfilter" = "yes" && test "$use_libcap" != "yes" ; then
+AC_MSG_NOTICE([Support for Netfilter-based interception proxy requested: $enable_linux_netfilter])
+if test "$enable_linux_netfilter" = "yes" && test "$use_libcap" != "yes" ; then
     AC_MSG_WARN([Missing needed capabilities (libcap or libcap2) for TPROXY])
     AC_MSG_WARN([Linux Transparent Proxy support WILL NOT be enabled])
     AC_MSG_WARN([Reduced support to Interception Proxy])
@@ -3227,8 +3228,8 @@ if test "$squid_opt_linux_tproxy2" = "yes" -a "$use_libcap" != "yes" ; then
 fi
 if test "$squid_opt_linux_tproxy2" = "yes" ; then
   # we already checked that $use_libcap2=yes 
-  if test "$squid_opt_linux_netfilter" = "no" ; then
-    squid_opt_linux_netfilter="yes"
+  if test "$enable_linux_netfilter" = "no" ; then
+    enable_linux_netfilter="yes"
     AC_MSG_NOTICE([Enabling Linux Netfilter support needed by Linux TPROXY v2])
   fi
   AC_MSG_CHECKING([if TPROXYv2 header files are installed])