From: Francesco Chemolli Date: Sat, 26 Dec 2009 21:55:50 +0000 (+0100) Subject: Fixed output for disk-io modules. X-Git-Tag: SQUID_3_2_0_1~310^2~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=47d80734aec0530840b29ea9c7b3511cd5e412f7;p=thirdparty%2Fsquid.git Fixed output for disk-io modules. Refactored some --enable options to SQUID_YESNO. Made option-parsing for --with-coss-membuf-size stricter and refactored it. Refactored auth-modules detection and handling. --- diff --git a/configure.in b/configure.in index 816e07f19a..db03d12ae8 100644 --- a/configure.in +++ b/configure.in @@ -456,7 +456,7 @@ case $enableval in ;; *) squid_opt_enable_diskio="yes" - squid_disk_module_candidates=" `echo $enableval| sed -e 's/,/ /g;s/ */ /g'` " + squid_disk_module_candidates=" `echo $enableval| sed -e 's/,/ /g;s/ */ /g'` " SQUID_CLEANUP_MODULES_LIST([squid_disk_module_candidates]) ;; esac @@ -468,7 +468,7 @@ if test $squid_opt_enable_diskio = "auto"; then SQUID_LOOK_FOR_MODULES([$srcdir/src/DiskIO],[squid_disk_module_candidates]) fi -AC_MSG_RESULT([${squid_disk_module_candidates_output:-none}]) +AC_MSG_RESULT([${squid_disk_module_candidates:-none}]) SQUID_CHECK_EXISTING_MODULES([$srcdir/src/DiskIO],[squid_disk_module_candidates]) SQUID_DEFINE_UNQUOTED([USE_DISKIO],$squid_opt_enable_diskio, [DiskIO modules are expected to be available.]) @@ -1010,6 +1010,7 @@ if test "$squid_opt_enable_snmp" = "yes"; then SNMPLIB='../snmplib/libsnmp.a' makesnmplib=snmplib fi +AC_MSG_NOTICE([SNMP support enabled: $squid_opt_enable_snmp]) SQUID_DEFINE_UNQUOTED(SQUID_SNMP,$squid_opt_enable_snmp, [Define to enable SNMP monitoring of Squid]) AM_CONDITIONAL(USE_SNMP, [test "$squid_opt_enable_snmp" = "yes"]) @@ -1036,7 +1037,6 @@ AC_ARG_ENABLE(cachemgr-hostname, esac ]) -AM_CONDITIONAL(USE_SQUID_EUI, false) squid_opt_use_eui="yes" AC_ARG_ENABLE(eui, AS_HELP_STRING([--disable-eui],[Enable use of ARP / MAC/ EUI (ether address)]), @@ -1065,29 +1065,26 @@ if test "$squid_opt_use_eui" = "yes" ; then sys/sysctl.h \ sys/ioctl.h \ ) - AC_DEFINE(USE_SQUID_EUI,1,[Define this to include code which lets you use ethernet hardware addresses. This code uses API initially defined in 4.4-BSD.]) - AM_CONDITIONAL(USE_SQUID_EUI, true) -else - AC_MSG_NOTICE([EUI controls disabled (ether address)]) fi +AC_MSG_NOTICE([EUI controls enabled: $squid_opt_use_eui]) +SQUID_DEFINE_UNQUOTED(USE_SQUID_EUI,$squid_opt_use_eui, + [Define this to include code which lets you use ethernet hardware addresses. This code uses API initially defined in 4.4-BSD.]) +AM_CONDITIONAL(USE_SQUID_EUI, [test "$squid_opt_use_eui" = "yes" ]) -USE_HTCP=true -AM_CONDITIONAL(ENABLE_HTCP, false) +squid_opt_enable_htcp="yes" AC_ARG_ENABLE(htcp, - AS_HELP_STRING([--disable-htcp],[Disable HTCP protocol support]), -[ if test "$enableval" = "no" ; then - AC_MSG_NOTICE([HTCP support disabled]) - fi + AS_HELP_STRING([--disable-htcp],[Disable HTCP protocol support]), [ + SQUID_YESNO([$enableval],[unrecognized argument to --disable-htcp: $enableval]) + squid_opt_enable_htcp=$enableval ]) -if test "$USE_HTCP" = "true"; then - AC_DEFINE(USE_HTCP,1, - [Define this to include code for the Hypertext Cache Protocol (HTCP)]) -fi -AM_CONDITIONAL(ENABLE_HTCP, [test "$USE_HTCP" = "true"]) +AC_MSG_NOTICE([HTCP support enabled: $squid_opt_enable_htcp]) +SQUID_DEFINE_UNQUOTED([USE_HTCP],$squid_opt_enable_htcp, + [Define this to include code for the Hypertext Cache Protocol (HTCP)]) +AM_CONDITIONAL(ENABLE_HTCP, [test "$squid_opt_enable_htcp" = "yes"]) +dnl TODO KK: SSL not yet refactored dnl SSL is not enabled by default. AM_CONDITIONAL(ENABLE_SSL, false) - dnl Default is to use OpenSSL when available AC_ARG_ENABLE(ssl, AS_HELP_STRING([--enable-ssl],[Enable ssl gatewaying support using OpenSSL]), @@ -1143,34 +1140,41 @@ fi AC_SUBST(SSLLIB) +squid_opt_enable_forw_via_db="no" AC_ARG_ENABLE(forw-via-db, - AS_HELP_STRING([--enable-forw-via-db],[Enable Forw/Via database]), -[ if test "$enableval" = "yes" ; then - AC_MSG_NOTICE([FORW-VIA enabled]) - AC_DEFINE(FORW_VIA_DB,1,[Enable Forw/Via database]) - fi + AS_HELP_STRING([--enable-forw-via-db],[Enable Forw/Via database]), [ + SQUID_YESNO([$enableval],[unrecognized argument to --enable-forw-via-db: $enableval]) + squid_opt_enable_forw_via_db=$enableval ]) +AC_MSG_NOTICE([Forw/Via database enabled: $squid_opt_enable_forw_via_db]) +SQUID_DEFINE_UNQUOTED(FORW_VIA_DB,$squid_opt_enable_forw_via_db,[Enable Forw/Via database]) +squid_opt_enable_cache_digests="no" AC_ARG_ENABLE(cache-digests, - AS_HELP_STRING([--enable-cache-digests],[Use Cache Digests. - See http://wiki.squid-cache.org/SquidFaq/CacheDigests]), -[ if test "$enableval" = "yes" ; then - AC_MSG_NOTICE([Cache Disgests enabled]) - AC_DEFINE(USE_CACHE_DIGESTS,1,[Use Cache Digests for locating objects in neighbor caches. This code is still semi-experimental.]) - fi + AS_HELP_STRING([--enable-cache-digests], + [Use Cache Digests. See http://wiki.squid-cache.org/SquidFaq/CacheDigests]), [ + SQUID_YESNO([$enableval],[unrecognized argument to --enable-cache-digests: $enableval]) + squid_opt_enable_cache_digests=$enableval ]) +AC_MSG_NOTICE([Cache Digests enabled: $squid_opt_enable_cache_digests]) +SQUID_DEFINE_UNQUOTED(USE_CACHE_DIGESTS,$squid_opt_enable_cache_digests, + [Use Cache Digests for locating objects in neighbor caches.]) + dnl Size of COSS memory buffer +squid_opt_coss_membuf_size=1048576 AC_ARG_WITH(coss-membuf-size, - AS_HELP_STRING([--with-coss-membuf-size=size],[COSS membuf size (default 1048576 bytes)]), -[ if test -n "$withval" -a "x$withval" != "xno" ; then - AC_MSG_NOTICE([Setting COSS membuf size to $with_coss_membuf_size bytes]) - AC_DEFINE_UNQUOTED(COSS_MEMBUF_SZ, $with_coss_membuf_size,[Define if you want to set the COSS membuf size]) - fi + AS_HELP_STRING([--with-coss-membuf-size=size],[COSS membuf size (default 1048576 bytes)]), [ + case $withval in + [[0-9]]*) squid_opt_coss_membuf_size=$withval ;; + *) AC_MSG_ERROR([--with-coss-membuf-size expects a numeric argument]) ;; + esac + AC_MSG_NOTICE([Setting COSS membuf size to $withval bytes]) ]) +AC_DEFINE_UNQUOTED(COSS_MEMBUF_SZ, $squid_opt_coss_membuf_size, + [Define if you want to set the COSS membuf size]) -dnl check for netio plugin stuff - +# check for netio plugin stuff dnl Enable poll() squid_opt_enable_poll=auto AC_ARG_ENABLE(poll, @@ -1275,43 +1279,39 @@ if test "$squid_opt_enable_epoll" != "no" ; then fi dnl Disable HTTP violations -squid_opt_enable_http_violations=1 +squid_opt_enable_http_violations="yes" AC_ARG_ENABLE(http-violations, AS_HELP_STRING([--disable-http-violations], [This allows you to remove code which is known to - violate the HTTP protocol specification.]), -[ if test "$enableval" = "no" ; then - AC_MSG_NOTICE([Disabling HTTP Violations]) - squid_opt_enable_http_violations=0 - fi + violate the HTTP protocol specification.]), [ + SQUID_YESNO([$enableval],[unrecognized argument to --disable-http-violations: $enableval]) + squid_opt_enable_http_violations=$enableval ]) -AC_DEFINE_UNQUOTED(HTTP_VIOLATIONS, $squid_opt_enable_http_violations,[If defined, squid will enable code which volates the HTTP standard specification]) +AC_MSG_NOTICE([HTTP violations support enabled: $squid_opt_kill_parent]) +SQUID_DEFINE_UNQUOTED(HTTP_VIOLATIONS, $squid_opt_enable_http_violations, + [Define to enable code which volates the HTTP standard specification]) -dnl Enable IPFW Transparent Proxy -squid_opt_enable_ipfw_transparent=0 +# IPFW Transparent Proxy +squid_opt_enable_ipfw_transparent="no" AC_ARG_ENABLE(ipfw-transparent, AS_HELP_STRING([--enable-ipfw-transparent],[Enable Transparent Proxy support for systems - using FreeBSD IPFW-style firewalling.]), -[ if test "$enableval" = "yes" ; then - AC_MSG_NOTICE([IPFW Transparent Proxy enabled]) - squid_opt_enable_ipfw_transparent=1 - fi + using FreeBSD IPFW-style firewalling.]), [ + SQUID_YESNO([$enableval],[unrecognized argument to --enable-ipfw-transparent: $enableval]) + squid_opt_enable_ipfw_transparent=$enableval ]) -AC_DEFINE_UNQUOTED(IPFW_TRANSPARENT,$squid_opt_enable_ipfw_transparent, +SQUID_DEFINE_UNQUOTED(IPFW_TRANSPARENT,$squid_opt_enable_ipfw_transparent, [Enable support for Transparent Proxy on systems using FreeBSD IPFW-style firewalling.]) -dnl Enable IP-Filter Transparent Proxy +# IP-Filter Transparent Proxy AH_TEMPLATE(IPF_TRANSPARENT, [Enable support for Transparent Proxy on systems using IPF-style firewalling]) squid_opt_ipf_transparent=no AC_ARG_ENABLE(ipf-transparent, AS_HELP_STRING([--enable-ipf-transparent], - [Enable Transparent Proxy support for OSes using IPFilter-style firewalling]) -[ if test "$enableval" = "yes" ; then - AC_MSG_NOTICE([IP-Filter Transparent Proxy enabled]) - squid_opt_ipf_transparent="yes" - #will be AC_DEFINE'd later, after checking for appropriate infrastructure - fi + [Enable Transparent Proxy support for OSes using IPFilter-style firewalling]), [ + SQUID_YESNO([$enableval],[unrecognized argument to --enable-ipf-transparent: $enableval]) + squid_opt_ipf_transparent=$enableval + #will be AC_DEFINE'd and MSG'ed later, after checking for appropriate infrastructure ]) dnl Enable PF Transparent Proxy @@ -1319,8 +1319,10 @@ AH_TEMPLATE(PF_TRANSPARENT, [Enable support for Transparent Proxy on systems using OpenBSD-style PF firewalling]) AC_ARG_ENABLE(pf-transparent, AS_HELP_STRING([--enable-pf-transparent], - [Enable Transparent Proxy support for systems using PF network address redirection.]), -[ if test "$enableval" = "yes" ; then + [Enable Transparent Proxy support for systems using PF network address redirection.]), [ + SQUID_YESNO([$enableval],[unrecognized argument to --enable-pf-transparent: $enableval]) + squid_opt_pf_transparent=$enableval + if test "$enableval" = "yes" ; then AC_MSG_NOTICE([PF Transparent Proxy enabled]) squid_opt_pf_transparent="yes" #will be AC_DEFINE'd later, after checking for appropriate infrastructure @@ -1438,45 +1440,44 @@ AC_ARG_ENABLE(linux-tproxy, #AC_DEFINE will be handled later ]) -AM_CONDITIONAL(MAKE_LEAKFINDER, false) dnl Enable Leak Finding Functions +squid_opt_enable_leakfinder=no AC_ARG_ENABLE(leakfinder, - AS_HELP_STRING([--enable-leakfinder],[Enable Leak Finding code. Enabling this alone - does nothing; you also have to modify the source - code to use the leak finding functions. Probably - Useful for hackers only.]), -[ if test "$enableval" = "yes" ; then - AC_MSG_NOTICE([Leak-Finding enabled]) - AC_DEFINE(USE_LEAKFINDER,1,[Enable code for assisting in finding memory leaks. Hacker stuff only.]) - AM_CONDITIONAL(MAKE_LEAKFINDER, true) - fi + AS_HELP_STRING([--enable-leakfinder], + [Enable Leak Finding code. Enabling this alone does nothing; + you also have to modify the source code to use the leak + finding functions. Probably Useful for hackers only.]), [ + SQUID_YESNO([$enableval],[unrecognized argument to --enable-leakfinder: $enableval]) + squid_opt_enable_leakfinder=$enableval ]) +AC_MSG_NOTICE([Leak Finder enabled: $squid_opt_enable_leakfinder]) +SQUID_DEFINE_UNQUOTED(USE_LEAKFINDER,$squid_opt_enable_leakfinder, + [Enable code for assisting in finding memory leaks. Not for the faint of heart]) +AM_CONDITIONAL(MAKE_LEAKFINDER, [test "$squid_opt_enable_leakfinder" = "yes"]) + -AH_TEMPLATE([FOLLOW_X_FORWARDED_FOR],[Enable following X-Forwarded-For headers]) squid_opt_follow_xff="yes" AC_ARG_ENABLE(follow-x-forwarded-for, AS_HELP_STRING([--enable-follow-x-forwarded-for],[Enable support for following the X-Forwarded-For HTTP header to try to find the IP address of the original or indirect client when a request has been forwarded through other proxies.]), [ -if test "$enableval" = "no" ; then - squid_opt_follow_xff="no" -fi + SQUID_YESNO([$enableval],[unrecognized argument to --enable-follow-x-forwarded-for: $enableval]) + squid_opt_follow_xff=$enableval ]) AC_MSG_NOTICE([Support for X-Forwarded-For enabled: $squid_opt_follow_xff]) -SQUID_DEFINE_UNQUOTED([FOLLOW_X_FORWARDED_FOR],$squid_opt_follow_xff) +SQUID_DEFINE_UNQUOTED([FOLLOW_X_FORWARDED_FOR],$squid_opt_follow_xff, + [Enable following X-Forwarded-For headers]) -AH_TEMPLATE(USE_IDENT,[Support for Ident (RFC 931) lookups]) squid_opt_use_ident="yes" AC_ARG_ENABLE(ident-lookups, AS_HELP_STRING([--disable-ident-lookups], - [Remove code that supports performing Ident (RFC 931) lookups.]), [ -if test "$enableval" = "no" ; then - squid_opt_use_ident="no" -fi + [Remove code that supports performing Ident (RFC 931) lookups.]), [ + SQUID_YESNO([$enableval],[unrecognized argument to --disable-ident-lookups: $enableval]) + squid_opt_use_ident=$enableval ]) AC_MSG_NOTICE([Support for Ident lookups enabled: $squid_opt_use_ident]) -SQUID_DEFINE_UNQUOTED(USE_IDENT,$squid_opt_use_ident) +SQUID_DEFINE_UNQUOTED(USE_IDENT,$squid_opt_use_ident,[Support for Ident (RFC 931) lookups]) squid_opt_use_dnsserver="no" AH_TEMPLATE(USE_DNSSERVERS, @@ -1495,7 +1496,6 @@ AC_ARG_ENABLE(internal-dns, ]) AM_CONDITIONAL([USE_DNSSERVER],[test "$squid_opt_use_dnsserver" = "yes" ]) -dnl ************** KK HERE ************* dnl Select Default hosts file location AC_ARG_ENABLE(default-hostsfile, @@ -1515,47 +1515,38 @@ AC_ARG_ENABLE(default-hostsfile, ],[OPT_DEFAULT_HOSTS="/etc/hosts"]) AC_SUBST(OPT_DEFAULT_HOSTS) -dnl Select auth schemes modules to build +dnl ************** KK HERE ************* +# Select auth schemes modules to build +squid_opt_enable_auth="auto" AC_ARG_ENABLE(auth, - AS_HELP_STRING([--enable-auth="list of auth scheme modules"],[Build support for the list of authentication schemes. + AS_HELP_STRING([--enable-auth="list of auth scheme modules"], + [Build support for the list of authentication schemes. The default is to build support for the Basic scheme. See src/auth for a list of available modules, or Programmers Guide section authentication schemes for details on how to build your custom auth scheme - module]), -[ case $enableval in + module]), [ + case $enableval in yes) - for dir in $srcdir/src/auth/*; do - module="`basename $dir`" - if test -d "$dir" && test "$module" != CVS; then - AUTH_MODULES="$AUTH_MODULES $module" - fi - done - ;; + : # auto is OK + ;; no) - ;; + squid_opt_enable_auth="no" + ;; *) - AUTH_MODULES="`echo $enableval| sed -e 's/,/ /g;s/ */ /g'`" - ;; + squid_opt_enable_auth="yes" + AUTH_MODULES="`echo $enableval| sed -e 's/,/ /g;s/ */ /g'`" + ;; esac -], -[ if test -z "$AUTH_MODULES"; then - AUTH_MODULES="ntlm basic digest negotiate" - fi ]) -if test -n "$AUTH_MODULES"; then - for module in $AUTH_MODULES; do - if test -d $srcdir/src/auth/$module; then - : - else - AC_MSG_ERROR(Auth scheme $module does not exist) - fi - eval AUTH_MODULE_${module}=yes - done - AC_MSG_NOTICE([Auth scheme modules built: $AUTH_MODULES]) -else - AC_MSG_WARN([Auth scheme modules built: None]) +AC_MSG_CHECKING([for authentication modules to build]) +if test "$squid_opt_enable_auth" = "auto" ; then + squid_opt_enable_auth="yes" + SQUID_LOOK_FOR_MODULES([$srcdir/src/auth],[AUTH_MODULES]) fi +SQUID_CHECK_EXISTING_MODULES([$srcdir/src/auth],[AUTH_MODULES]) +AC_MSG_RESULT([${AUTH_MODULES:-none}]) + dnl Authentication libraries to build dnl This list will not be needed when each auth library has its own Makefile AUTH_LIBS_TO_BUILD= @@ -1566,13 +1557,13 @@ AC_SUBST(AUTH_MODULES) AC_SUBST(AUTH_LIBS_TO_BUILD) dnl bundled auth modules, in order to have handy defines for the cppunit testsuite -test -n "$AUTH_MODULE_basic" && AC_DEFINE([HAVE_AUTH_MODULE_BASIC],1,[Basic auth module is built]) -test -n "$AUTH_MODULE_digest" && AC_DEFINE([HAVE_AUTH_MODULE_DIGEST],1,[Digest auth module is built]) -test -n "$AUTH_MODULE_ntlm" && AC_DEFINE([HAVE_AUTH_MODULE_NTLM],1,[NTLM auth module is built]) -test -n "$AUTH_MODULE_negotiate" && AC_DEFINE([HAVE_AUTH_MODULE_NEGOTIATE],1,[Negotiate auth module is built]) +test -n "$AUTH_MODULES_basic" && AC_DEFINE([HAVE_AUTH_MODULE_BASIC],1,[Basic auth module is built]) +test -n "$AUTH_MODULES_digest" && AC_DEFINE([HAVE_AUTH_MODULE_DIGEST],1,[Digest auth module is built]) +test -n "$AUTH_MODULES_ntlm" && AC_DEFINE([HAVE_AUTH_MODULE_NTLM],1,[NTLM auth module is built]) +test -n "$AUTH_MODULES_negotiate" && AC_DEFINE([HAVE_AUTH_MODULE_NEGOTIATE],1,[Negotiate auth module is built]) dnl Select basic auth scheme helpers to build -if test -n "$AUTH_MODULE_basic"; then +if test -n "$AUTH_MODULES_basic"; then BASIC_AUTH_HELPERS="all" fi AC_ARG_ENABLE(basic-auth-helpers, @@ -1588,7 +1579,7 @@ AC_ARG_ENABLE(basic-auth-helpers, BASIC_AUTH_HELPERS="" ;; *) - if test -z "$AUTH_MODULE_basic"; then + if test -z "$AUTH_MODULES_basic"; then AC_MSG_WARN([Basic auth helpers selected without the basic scheme enabled]) fi BASIC_AUTH_HELPERS="`echo $enableval| sed -e 's/,/ /g;s/ */ /g'`" @@ -1623,7 +1614,7 @@ fi AC_SUBST(BASIC_AUTH_HELPERS) dnl Select ntlm auth helpers to build -if test -n "$AUTH_MODULE_ntlm"; then +if test -n "$AUTH_MODULES_ntlm"; then NTLM_AUTH_HELPERS="all" fi AC_ARG_ENABLE(ntlm-auth-helpers, @@ -1667,7 +1658,7 @@ fi AC_SUBST(NTLM_AUTH_HELPERS) dnl Select negotiate auth helpers to build -if test -n "$AUTH_MODULE_negotiate"; then +if test -n "$AUTH_MODULES_negotiate"; then NEGOTIATE_AUTH_HELPERS="all" fi AC_ARG_ENABLE(negotiate-auth-helpers, @@ -1711,7 +1702,7 @@ fi AC_SUBST(NEGOTIATE_AUTH_HELPERS) dnl Select digest auth scheme helpers to build -if test -n "$AUTH_MODULE_digest"; then +if test -n "$AUTH_MODULES_digest"; then DIGEST_AUTH_HELPERS=all fi AC_ARG_ENABLE(digest-auth-helpers, @@ -3334,6 +3325,7 @@ SQUID_CHECK_FUNC___VACOPY dnl IP-Filter support requires ipf header files. These aren't dnl installed by default, so we need to check for them +AC_MSG_NOTICE([Support for IPF-based transparent proxy requested: $squid_opt_ipf_transparent]) if test "$squid_opt_ipf_transparent" != "no" ; then AC_MSG_CHECKING(for availability of IP-Filter header files) # hold on to your hats... @@ -3368,8 +3360,9 @@ dnl Solaris minor version (8, 9, 10, ...) fi dnl PF support requires a header file. +AC_MSG_NOTICE([Support for PF-based transparent proxy requested: $squid_opt_pf_transparent]) if test "$squid_opt_pf_transparent" != "no" ; then - AC_MSG_CHECKING(for availability o fPF header files) + AC_MSG_CHECKING(for availability of PF header files) # hold on to your hats... if test "$ac_cv_header_net_pfvar_h" = "yes" || test "$ac_cv_header_net_pf_pfvar_h" = "yes"; then squid_opt_pf_transparent="yes" @@ -3400,6 +3393,7 @@ if test "$squid_opt_linux_netfilter" != "no" ; then fi 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_WARN([Missing needed capabilities (libcap or libcap2) for TPROXY]) AC_MSG_WARN([Linux Transparent Proxy support WILL NOT be enabled]) @@ -3410,6 +3404,7 @@ fi # Linux Netfilter/TPROXYv2 support requires some specific header files and # support infrastructure (netfilter and libcap) +AC_MSG_NOTICE([Support for Linux TPROXY v2 transparent proxy requested: $squid_opt_linux_tproxy2]) if test "$squid_opt_linux_tproxy2" = "yes" -a "$use_libcap" != "yes" ; then AC_MSG_WARN([Missing needed capabilities (libcap or libcap2) for TPROXY]) AC_MSG_WARN([Disabling Linux TPROXY v2 support])