diff -ruN squid-2.6.PRE1/CONTRIBUTORS squid-2.6.PRE2/CONTRIBUTORS --- squid-2.6.PRE1/CONTRIBUTORS Wed May 17 22:03:22 2006 +++ squid-2.6.PRE2/CONTRIBUTORS Sat Jun 3 20:53:41 2006 @@ -71,11 +71,11 @@ Pedro Ribeiro John Dilley Adrian Chadd - Robert Collins + Robert Collins Brian Degenhardt Evan Jones Scott Schram - Francesco Chemolli + Francesco Chemolli Georgy Salnikov Glenn Chisholm Alex Rousskov @@ -93,5 +93,10 @@ Flavio Pescuma Paul Armstrong Steven Wilton + Felix Meschberger + Mark Bergsma + Tim Starling + Reuben Farrelly + Alan Barrett Duane Wessels diff -ruN squid-2.6.PRE1/ChangeLog squid-2.6.PRE2/ChangeLog --- squid-2.6.PRE1/ChangeLog Mon May 29 15:02:08 2006 +++ squid-2.6.PRE2/ChangeLog Sat Jun 3 20:27:53 2006 @@ -42,6 +42,10 @@ request details (browser, language etc). - umask now defaults to 027 to protect the content of cache and log files from local users + - HTCP support for access control and the CRL operation for + purgeing of cache content + - Optionally follow X-Forwarded-For headers to determine the original + client IP behind sedond level proxies Changes to squid-2.5.STABLE14 (20 May 2006) - [Minor] icons not displayed when visible_hostname is a diff -ruN squid-2.6.PRE1/Makefile.am squid-2.6.PRE2/Makefile.am --- squid-2.6.PRE1/Makefile.am Thu May 25 06:43:40 2006 +++ squid-2.6.PRE2/Makefile.am Fri Jun 2 15:35:38 2006 @@ -1,6 +1,6 @@ ## Process this file with automake to produce Makefile.in # -# $Id: Makefile.am,v 1.19 2006/05/25 12:43:40 hno Exp $ +# $Id: Makefile.am,v 1.20 2006/06/02 21:35:38 hno Exp $ # AUTOMAKE_OPTIONS = dist-bzip2 subdir-objects 1.5 @@ -42,3 +42,6 @@ install-pinger: chown root $(DEFAULT_PINGER) chmod 4711 $(DEFAULT_PINGER) + +distuninstallcheck_listfiles = \ + find . -name squid.conf -prune -o -name cachemgr.conf -prune -type f -print diff -ruN squid-2.6.PRE1/Makefile.in squid-2.6.PRE2/Makefile.in --- squid-2.6.PRE1/Makefile.in Thu May 25 06:45:09 2006 +++ squid-2.6.PRE2/Makefile.in Fri Jun 2 15:35:38 2006 @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $Id: Makefile.in,v 1.40 2006/05/25 12:45:09 hno Exp $ +# $Id: Makefile.in,v 1.41 2006/06/02 21:35:38 hno Exp $ # srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -75,7 +75,6 @@ && rm -fr $(distdir); }; } DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 GZIP_ENV = --best -distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ @@ -257,6 +256,9 @@ README \ SPONSORS \ bootstrap.sh + +distuninstallcheck_listfiles = \ + find . -name squid.conf -prune -o -name cachemgr.conf -prune -type f -print all: all-recursive diff -ruN squid-2.6.PRE1/RELEASENOTES.html squid-2.6.PRE2/RELEASENOTES.html --- squid-2.6.PRE1/RELEASENOTES.html Mon May 29 16:53:33 2006 +++ squid-2.6.PRE2/RELEASENOTES.html Tue Jun 6 11:46:36 2006 @@ -2,22 +2,74 @@ - Squid 2.6.PRE1 release notes + Squid 2.6.PRE2 release notes -

Squid 2.6.PRE1 release notes

+

Squid 2.6.PRE2 release notes

-

Squid Developers

$Id: release-2.6.html,v 1.7 2006/05/29 22:35:23 hno Exp $ +

Squid Developers

$Id: release-2.6.html,v 1.11 2006/06/06 08:20:55 hno Exp $
This document contains the release notes for version 2.6 of Squid. -Squid is a WWW Cache application developed by the National Laboratory +Squid is a WWW Cache application developed by the Web Caching community. +Squid was initially developed by the National Laboratory for Applied Network Research and members of the Web Caching community.

1. Key changes from squid 2.5:

    -
  • ...
  • +
  • Major improvements to the way that Squid handles web proxy, accelerated +and transparent proxy requests to make it easier to configure transparent and +acceleration functionality. The default behaviour is to function as a standard +HTTP proxy on each port that Squid is configured to listen on, but in addition +in this release the keywords "accelerated" and "transparent" can be specified +after each port to indicate to Squid the functionality that is to be enabled on +that port. This means that the old config directives relating to httpd_accel_* +are now deprecated.
  • +
  • WCCPv2 support multiple cache engines registering with multiple WCCP +routers and switches. WCCPv2 is preferred over WCCPv1 for performance and +flexibility reasons if your router or switch is able to support it (all recent +versions of IOS do so). Initially WCCPv2 under Linux is limited to registration +with only one router due to kernel limitations in more recent versions, although +this will be addressed in a future release of Squid.
  • +
  • TPROXY totally transparent proxy support under Linux, which to allow Squid +to appear totally invisible to both client and server systems when transparently +caching requests. This works by spoofing the source and destination address to +both the client and server.
  • +
  • Support for Etag and Vary HTTP headers. This further moves Squid towards +HTTP/1.1 compliance. The Vary header field is used for improved caching and +delivery of customized content to end clients, and the Etag is used similar to +an MD5 checksum between client and server to determine if a web page has changed +since it was last retrieved.
  • +
  • Collapsed forwarding, which gives Squid the ability to intelligently merge +client requests for objects into one request to the server. Of particular +benefit in accelerator setups but also provides some benefits to non accelerator +setups.
  • +
  • Support for epoll under Linux, which gives Squid the ability to handle +many many more concurrent requests with lower CPU overhead and lower +FileDescriptor usage. This feature is of particular benefit to very busy caches +as the poll() and select() routines do not scale anywhere near as well as epoll +does under high loads.
  • +
  • SSL assisted hardware encryption making use of OpenSSL functionality +within Squid.
  • +
  • Logging enhancements to allow even greater customization of the way Squid +logs requests in the access-log or to syslog if required
  • +
  • Authentication enhancements including Negotiate/Kerberos support, extra +workarounds for NTLM clients and others using Microsoft Integrated Login.
  • +
  • Additional external_acl parameters to support SSL and even more client +side parameters.
  • +
  • ACL changes in conjunction with SSL changes which have been merged, to +allow matching based on SSL certificate parameters.
  • +
  • Improvements to Cygwin support for users who wish to run Squid in a +Microsoft Windows/Cygwin environment as a system service.
  • +
  • New authentication helpers: +
      +
    • Digest LDAP helper
    • +
    • Native Windows basic, NTLM and negotiate helpers
    • +
    • External acl helpers for session monitoring and native Windows group +membership check
    • +
    +

@@ -136,6 +188,108 @@ #219

delay_pools stops working on -k reconfigure

+ +

4. Windows support:

+ +

This Squid version can run on Windows as a system service using the Cygwin environment.
+Windows NT4 and following are supported.
+On Windows 2000/XP/2003 the service is configured to use the Windows Service Recovery option +restarting automatically after 60 seconds. +

+ +
Usage

Some new command line options was added for Windows service support:

+

The service installation is made with -i command line switch, it's possible to use -f switch at +the same time for specify a different config-file settings for the Squid Service that is stored +on Windows Registry.

+

A new -n switch specify the Windows Service Name, so multiple Squid instance are allowed. +"Squid" is the default when the switch is not used.

+

So, to install the service, the syntax is:

+

+

+squid -i [-f file] [-n name]
+
+

+

Service uninstallation is made with -r command line switch plus the appropriate -n switch.

+

The -k switch family must be used with the appropriate -f and -n switches, so the syntax is:

+

+

+squid -k command [-f file] -n service-name
+
+ +where service-name is the name specified with -n options at service install time.

+

To use Squid original command line, the new -O switch must be used ONCE, the sintax is:

+

+

+squid -O cmdline [-n service-name]
+
+ +If multiple service command line options must be specified, use quote. The -n switch is +needed only when a non default service name is in use.

+

Don't use the "Start parameters" in the Windows 2000/XP/2003 Service applet: they are +specific to Windows services functionality and Squid is not designed for understand they.

+

Example:

+

+

+squid -O "-D -a 8080" -n squidsvc
+
+

+
+

+

+

+
Registry DNS lookup

On Windows platforms, if no value is specified in the dns_nameservers option on +squid.conf or in the /etc/resolv.conf file, the list of DNS name servers are +taken from the Windows registry, both static and dynamic DHCP configurations +are supported.

+
+

+

+

+
Compatibility Notes

+

    +
  • It's recommended to use '/' char in Squid paths instead of '\'
  • +
  • Paths with spaces (like 'C:\Programs Files\Squid) are NOT supported by Squid
  • +
  • When using ACL like 'acl aclname acltype "file"' the file must be in DOS text +format (CR+LF) and the full Windows path must be specified, for example: + +
    +acl blocklist url_regex -i "c:/squid/etc/blocked1.txt"
    +
    + +
  • +
  • The WIN32 equivalent of '/dev/null' is 'NUL'
  • +
  • Squid doesn't know how to run external helpers based on scripts, like .bat, .cmd, +.vbs, .pl, etc. So in squid.conf the interpreter path must be always specified, for example: + +
    +redirect_program c:/perl/bin/perl.exe c:/squid/libexec/redir.pl
    +redirect_program c:/winnt/system32/cmd.exe /C c:/squid/libexec/redir.cmd
    +
    +
  • +
  • When Squid runs in command line mode, the launching user account must have administrative privilege on the system
  • +
  • "Start parameters" in the Windows 2000/XP/2003 Service applet cannot be used
  • +
+

+
+

+

+

+
Known Limitations:

+

    +
  • Squid features not operational:
    +
      +
    • DISKD: still needs to be ported
    • +
    • WCCP: cannot work because user space GRE support on Windows is missing
    • +
    • Transparent Proxy: missing Windows non commercial interception driver
    • +
    +
  • +
  • Some code sections can make blocking calls.
  • +
  • Some external helpers may not work.
  • +
+

+
+

+ diff -ruN squid-2.6.PRE1/bootstrap.sh squid-2.6.PRE2/bootstrap.sh --- squid-2.6.PRE1/bootstrap.sh Tue May 23 08:51:36 2006 +++ squid-2.6.PRE2/bootstrap.sh Fri Jun 2 04:50:02 2006 @@ -8,7 +8,7 @@ # to match the versions you want to use, or set the variables on # the command line like "env acver=.. amver=... ./bootstrap.sh" acversions="${acver:-2.59 2.57 2.53 2.52}" -amversions="${amver:-1.9 1.7 1.6 1.5}" +amversions="${amver:-1.9 1.7 1.6}" ltversions="${ltver:-1.5 1.4}" SUBDIRS="" diff -ruN squid-2.6.PRE1/configure squid-2.6.PRE2/configure --- squid-2.6.PRE1/configure Mon May 29 16:53:14 2006 +++ squid-2.6.PRE2/configure Tue Jun 6 11:46:18 2006 @@ -1,7 +1,9 @@ #! /bin/sh -# From configure.in Revision: 1.345 . +# From configure.in Revision: 1.362 . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59. +# Generated by GNU Autoconf 2.59 for Squid Web Proxy 2.6.PRE2. +# +# Report bugs to . # # Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation @@ -266,13 +268,12 @@ : ${ac_max_here_lines=38} # Identity of this package. -PACKAGE_NAME= -PACKAGE_TARNAME= -PACKAGE_VERSION= -PACKAGE_STRING= -PACKAGE_BUGREPORT= +PACKAGE_NAME='Squid Web Proxy' +PACKAGE_TARNAME='squid' +PACKAGE_VERSION='2.6.PRE2' +PACKAGE_STRING='Squid Web Proxy 2.6.PRE2' +PACKAGE_BUGREPORT='http://www.squid-cache.org/bugs/' -ac_unique_file="src/main.c" ac_default_prefix=/usr/local/squid # Factoring default headers for most tests. ac_includes_default="\ @@ -780,7 +781,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures this package to adapt to many kinds of systems. +\`configure' configures Squid Web Proxy 2.6.PRE2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -845,7 +846,9 @@ fi if test -n "$ac_init_help"; then - + case $ac_init_help in + short | recursive ) echo "Configuration of Squid Web Proxy 2.6.PRE2:";; + esac cat <<\_ACEOF Optional Features: @@ -893,6 +896,8 @@ --enable-wccpv2 Enable Web Cache Coordination V2 Protocol --enable-kill-parent-hack Kill parent on shutdown + --enable-forward-log Enable experimental forward_log directive + --enable-multicast-miss Enable experimental multicast notification of cachemisses --enable-snmp Enable SNMP monitoring --enable-cachemgr-hostname=hostname Make cachemgr.cgi default to this host @@ -910,14 +915,14 @@ --enable-err-languages=\"lang1 lang2..\" Select languages to be installed. (All will be installed by default) + --enable-select Enable select() support. + --disable-select Disable select() support. --enable-poll Enable poll() instead of select(). Normally poll is preferred over select, but configure knows poll is broken on some platforms. If you think you are smarter than the configure script, you may enable poll with this option. --disable-poll Disable the use of poll(). - --enable-select Enable select() support. - --disable-select Disable select() support. --enable-epoll Enable epoll() instead of poll() or select(). epoll() is best where available, but must be explicitly set at the moment. @@ -932,7 +937,7 @@ Enable Transparent Proxy support for systems using PF network address redirection. --enable-linux-netfilter - Enable Transparent Proxy support for Linux 2.4. + Enable Transparent Proxy support for Linux (Netfilter) systems. --enable-large-cache-files Enable support for large cache files (>2GB). WARNING: on-disk cache format is changed by this option @@ -1005,6 +1010,11 @@ variance within an accelerator setup. Typically used together with other code that adds custom HTTP headers to the requests. + --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. Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -1051,6 +1061,7 @@ Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. +Report bugs to . _ACEOF fi @@ -1146,6 +1157,8 @@ test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF +Squid Web Proxy configure 2.6.PRE2 +generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation @@ -1158,7 +1171,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by $as_me, which was +It was created by Squid Web Proxy $as_me 2.6.PRE2, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -1486,6 +1499,16 @@ + + + + + + + + + ac_config_headers="$ac_config_headers include/autoconf.h" + ac_aux_dir= for ac_dir in cfgaux $srcdir/cfgaux; do if test -f $ac_dir/install-sh; then @@ -1792,8 +1815,8 @@ # Define the identity of the package. - PACKAGE=squid - VERSION=2.6.PRE1 + PACKAGE='squid' + VERSION='2.6.PRE2' cat >>confdefs.h <<_ACEOF @@ -1923,8 +1946,6 @@ - ac_config_headers="$ac_config_headers include/autoconf.h" - echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6 @@ -1951,13 +1972,13 @@ +PRESET_CFLAGS="$CFLAGS" +PRESET_LDFLAGS="$LDFLAGS" + if test -z "$LDFLAGS"; then LDFLAGS="-g" fi -PRESET_CFLAGS="$CFLAGS" -PRESET_LDFLAGS="$LDFLAGS" - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -3356,22 +3377,22 @@ CFLAGS=`echo $CFLAGS | sed -e 's/-O0-9/-O/'` ;; *) - CFLAGS="$CFLAGS -Wall" + CFLAGS="-Wall $CFLAGS" ;; esac else case "$host" in *mips-sgi-irix6.*) # suggested by Rafael Seidl - CFLAGS="$CFLAGS -n32 -mips3 -O3 -OPT:Olimit=0:space=OFF \ + CFLAGS="-O3 -OPT:Olimit=0:space=OFF \ -woff 1009,1014,1110,1116,1185,1188,1204,1230,1233 \ -Wl,-woff,85,-woff,84,-woff,134 \ - -nostdinc -I/usr/include -D_BSD_SIGNALS" + -nostdinc -I/usr/include -D_BSD_SIGNALS $CFLAGS" ;; alpha-dec-osf4.*) # Mogul says DEC compilers take both -g and -O2 CFLAGS=`echo $CFLAGS | sed -e 's/-g/-g3/'` - CFLAGS="$CFLAGS -O2" + CFLAGS="-O2 $CFLAGS" ;; *) ;; @@ -3382,15 +3403,18 @@ if test -z "$PRESET_LDFLAGS"; then if test "$GCC" = "yes"; then case "$host" in + *mips-sgi-irix6.*) + # Silence Linker warnings 84, 85 and 134 + LDFLAGS="-Wl,-woff,85 -Wl,-woff,84 -Wl,-woff,134 $LDFLAGS" + ;; *) # nothing ;; esac else case "$host" in - *mips-sgi-irix6.*) - # suggested by Rafael Seidl - LDFLAGS="-n32 -mips3 -nostdlib -L/usr/lib32" + *) + # nothing ;; esac fi @@ -3640,9 +3664,16 @@ case $enableval in yes) for module in $srcdir/src/fs/*; do - if test -f $module/Makefile.in; then - STORE_MODULES="$STORE_MODULES `basename $module`" - fi + name="`basename $module`" + case $name in + CVS) # Ignore + ;; + *) + if test -d $module; then + STORE_MODULES="$STORE_MODULES $name" + fi + ;; + esac done ;; no) @@ -3703,9 +3734,16 @@ case $enableval in yes) for module in $srcdir/src/repl/*; do - if test -f $module/Makefile.in; then - REPL_POLICIES="$REPL_POLICIES `basename $module`" - fi + name="`basename $module`" + case $name in + CVS) # Ignore + ;; + *) + if test -d $module; then + REPL_POLICIES="$REPL_POLICIES $name" + fi + ;; + esac done ;; no) @@ -3872,6 +3910,34 @@ fi; +# Check whether --enable-forward-log or --disable-forward-log was given. +if test "${enable_forward_log+set}" = set; then + enableval="$enable_forward_log" + if test "$enableval" = "yes" ; then + echo "forward_log enabled" + +cat >>confdefs.h <<\_ACEOF +#define WIP_FWD_LOG 1 +_ACEOF + + fi + +fi; + +# Check whether --enable-multicast-miss or --disable-multicast-miss was given. +if test "${enable_multicast_miss+set}" = set; then + enableval="$enable_multicast_miss" + if test "$enableval" = "yes" ; then + echo "multicast of cache miss URLs enabled" + +cat >>confdefs.h <<\_ACEOF +#define MULTICAST_MISS_STREAM 1 +_ACEOF + + fi + +fi; + if false; then @@ -4209,35 +4275,37 @@ fi; -# Check whether --enable-poll or --disable-poll was given. -if test "${enable_poll+set}" = set; then - enableval="$enable_poll" +# Check whether --enable-select or --disable-select was given. +if test "${enable_select+set}" = set; then + enableval="$enable_select" case "$enableval" in yes) - echo "Forcing poll() to be enabled" - ac_cv_func_poll='yes' + echo "Forcing select() to be enabled" + SELECT_TYPE="select" + ac_cv_func_select='yes' ;; no) - echo "Forcing poll() to be disabled" - ac_cv_func_poll='no' + echo "Forcing select() to be disabled" + ac_cv_func_select='no' ;; esac fi; -# Check whether --enable-select or --disable-select was given. -if test "${enable_select+set}" = set; then - enableval="$enable_select" +# Check whether --enable-poll or --disable-poll was given. +if test "${enable_poll+set}" = set; then + enableval="$enable_poll" case "$enableval" in yes) - echo "Forcing select() to be enabled" - ac_cv_func_select='yes' + echo "Forcing poll() to be enabled" + SELECT_TYPE="poll" + ac_cv_func_poll='yes' ;; no) - echo "Forcing select() to be disabled" - ac_cv_func_select='no' + echo "Forcing poll() to be disabled" + ac_cv_func_poll='no' ;; esac @@ -4250,6 +4318,7 @@ case "$enableval" in yes) echo "Forcing epoll() to be enabled" + SELECT_TYPE="epoll" force_epoll='yes' ;; no) @@ -4289,6 +4358,15 @@ _ACEOF IPF_TRANSPARENT="yes" + case "$host" in + *-solaris*) + solrev=`uname -r | sh -c 'IFS=. read j n x; echo $n'` + CFLAGS="-DSOLARIS2=$solrev $CFLAGS" + ;; + *) + ;; + esac + fi fi; @@ -4396,9 +4474,17 @@ echo "Removing -Xa for gcc on $host" CFLAGS="`echo $CFLAGS | sed -e 's/-Xa//'`" fi - echo "Removing -Usun for gcc on $host" + echo "Removing -Usun on $host" CFLAGS="`echo $CFLAGS | sed -e 's/-Usun//'`" ;; + *-sgi-irix6.*) + if test "$GCC" = "yes"; then + CFLAGS="`echo $CFLAGS | sed -e 's/-n32/-mabi=n32/'`" + LDFLAGS="`echo $LDFLAGS | sed -e 's/-n32//'`" + CFLAGS="`echo $CFLAGS | sed -e 's/-64/-mabi=64/'`" + LDFLAGS="`echo $LDFLAGS | sed -e 's/-64//'`" + fi + ;; *) ;; esac @@ -4565,11 +4651,18 @@ enableval="$enable_auth" case $enableval in yes) - for module in $srcdir/src/auth/*; do - if test -f $module/Makefile.in; then - AUTH_MODULES="$AUTH_MODULES `basename $module`" - fi - done + for module in $srcdir/src/auth/*; do + name="`basename $module`" + case $name in + CVS) # Ignore + ;; + *) + if test -d $module; then + AUTH_MODULES="$AUTH_MODULES $name" + fi + ;; + esac + done ;; no) ;; @@ -5405,9 +5498,9 @@ echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## +## ----------------------------------------------- ## +## Report this to http://www.squid-cache.org/bugs/ ## +## ----------------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 @@ -5523,6 +5616,20 @@ fi; +# Check whether --enable-follow-x-forwarded-for or --disable-follow-x-forwarded-for was given. +if test "${enable_follow_x_forwarded_for+set}" = set; then + enableval="$enable_follow_x_forwarded_for" + if test "$enableval" = "yes" ; then + echo "follow X-Forwarded-For enabled" + +cat >>confdefs.h <<\_ACEOF +#define FOLLOW_X_FORWARDED_FOR 1 +_ACEOF + + fi + +fi; + # Force some compilers to use ANSI features # case "$host" in @@ -6916,20 +7023,14 @@ - - - - - - - - - - -for ac_header in \ - sys/types.h \ +for ac_header in sys/types.h \ stddef.h \ limits.h \ + sys/param.h \ + sys/socket.h \ + netinet/in.h \ + stdio.h \ + stdlib.h \ arpa/inet.h \ arpa/nameser.h \ assert.h \ @@ -6943,11 +7044,6 @@ getopt.h \ gnumalloc.h \ grp.h \ - ip_compat.h \ - ip_fil_compat.h \ - ip_fil.h \ - ip_nat.h \ - ipl.h \ libc.h \ linux/netfilter_ipv4.h \ linux/netfilter_ipv4/ip_tproxy.h \ @@ -6959,13 +7055,7 @@ net/pfvar.h \ netdb.h \ netinet/if_ether.h \ - netinet/in.h \ netinet/tcp.h \ - netinet/ip_compat.h \ - netinet/ip_fil_compat.h \ - netinet/ip_fil.h \ - netinet/ip_nat.h \ - netinet/ipl.h \ openssl/err.h \ openssl/md5.h \ openssl/ssl.h \ @@ -6977,8 +7067,6 @@ sched.h \ signal.h \ stdarg.h \ - stdio.h \ - stdlib.h \ string.h \ strings.h \ sys/bitypes.h \ @@ -6986,11 +7074,9 @@ sys/ioctl.h \ sys/mount.h \ sys/msg.h \ - sys/param.h \ sys/prctl.h \ sys/resource.h \ - sys/select.h\ - sys/socket.h \ + sys/select.h \ sys/stat.h \ sys/statvfs.h \ syscall.h \ @@ -7012,7 +7098,7 @@ nss_common.h \ nss.h \ db.h \ - db_185.h + db_185.h \ do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` @@ -7037,6 +7123,27 @@ #if HAVE_LIMITS_H #include #endif +#if HAVE_SYS_PARAM_H +#include +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif +#if HAVE_STDIO_H +#include +#endif +#if HAVE_STDLIB_H +#include +#endif +#if HAVE_NETINET_IN_H +#include +#endif +#if HAVE_NET_IF_H +#include +#endif +#if HAVE_NETINET_IF_ETHER_H +#include +#endif #include <$ac_header> @@ -7084,9 +7191,33 @@ done -echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 -echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 -if test "${ac_cv_c_const+set}" = set; then + + + + + + + + + + +for ac_header in \ + ip_compat.h \ + ip_fil_compat.h \ + ip_fil.h \ + ip_nat.h \ + ipl.h \ + netinet/ip_compat.h \ + netinet/ip_fil_compat.h \ + netinet/ip_fil.h \ + netinet/ip_nat.h \ + netinet/ipl.h \ + +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF @@ -7096,72 +7227,171 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -int -main () -{ -/* FIXME: Include the comments suggested by Paul. */ -#ifndef __cplusplus - /* Ultrix mips cc rejects this. */ - typedef int charset[2]; - const charset x; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *ccp; - char **p; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - ccp = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++ccp; - p = (char**) ccp; - ccp = (char const *const *) p; - { /* SCO 3.2v4 cc rejects this. */ - char *t; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - } +#if HAVE_SYS_TYPES_H +#include #endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +#if HAVE_STDDEF_H +#include +#endif +#if HAVE_LIMITS_H +#include +#endif +#if HAVE_SYS_PARAM_H +#include +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif +#if HAVE_STDIO_H +#include +#endif +#if HAVE_STDLIB_H +#include +#endif +#if HAVE_NETINET_IN_H +#include +#endif +#if HAVE_NET_IF_H +#include +#endif +#if HAVE_NETINET_IF_ETHER_H +#include +#endif +#if HAVE_IP_COMPAT_H +#include +#elif HAVE_NETINET_IP_COMPAT_H +#include +#endif +#if HAVE_IP_FIL_H +#include +#elif HAVE_NETINET_IP_FIL_H +#include +#endif + + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_Header=no" +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 +echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 +if test "${ac_cv_c_const+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +/* FIXME: Include the comments suggested by Paul. */ +#ifndef __cplusplus + /* Ultrix mips cc rejects this. */ + typedef int charset[2]; + const charset x; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *ccp; + char **p; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + ccp = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++ccp; + p = (char**) ccp; + ccp = (char const *const *) p; + { /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + } +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 @@ -11607,56 +11837,41 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if ((pid_t *) 0) - return 0; -if (sizeof (pid_t)) - return 0; - ; - return 0; -} + +/* What a mess.. many systems have added the (now standard) bit types + * in their own ways, so we need to scan a wide variety of headers to + * find them.. + */ +#include +#if STDC_HEADERS +#include +#include +#endif +#if HAVE_INTTYPES_H +#include +#endif +#if HAVE_SYS_TYPES_H +#include +#endif +#if HAVE_SYS_BITYPES_H +#include +#endif + _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "(^|[^a-zA-Z_0-9])pid_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then ac_cv_type_pid_t=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_type_pid_t=no + ac_cv_type_pid_t=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest* + fi echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 echo "${ECHO_T}$ac_cv_type_pid_t" >&6 -if test $ac_cv_type_pid_t = yes; then - : -else +if test $ac_cv_type_pid_t = no; then -cat >>confdefs.h <<_ACEOF +cat >>confdefs.h <<\_ACEOF #define pid_t int _ACEOF @@ -11673,58 +11888,43 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if ((size_t *) 0) - return 0; -if (sizeof (size_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_size_t=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_type_size_t=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 -echo "${ECHO_T}$ac_cv_type_size_t" >&6 -if test $ac_cv_type_size_t = yes; then - : -else - -cat >>confdefs.h <<_ACEOF -#define size_t unsigned int -_ACEOF + +/* What a mess.. many systems have added the (now standard) bit types + * in their own ways, so we need to scan a wide variety of headers to + * find them.. + */ +#include +#if STDC_HEADERS +#include +#include +#endif +#if HAVE_INTTYPES_H +#include +#endif +#if HAVE_SYS_TYPES_H +#include +#endif +#if HAVE_SYS_BITYPES_H +#include +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + ac_cv_type_size_t=yes +else + ac_cv_type_size_t=no +fi +rm -f conftest* + +fi +echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 +echo "${ECHO_T}$ac_cv_type_size_t" >&6 +if test $ac_cv_type_size_t = no; then + +cat >>confdefs.h <<\_ACEOF +#define size_t unsigned int +_ACEOF fi @@ -11739,56 +11939,41 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if ((ssize_t *) 0) - return 0; -if (sizeof (ssize_t)) - return 0; - ; - return 0; -} + +/* What a mess.. many systems have added the (now standard) bit types + * in their own ways, so we need to scan a wide variety of headers to + * find them.. + */ +#include +#if STDC_HEADERS +#include +#include +#endif +#if HAVE_INTTYPES_H +#include +#endif +#if HAVE_SYS_TYPES_H +#include +#endif +#if HAVE_SYS_BITYPES_H +#include +#endif + _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "(^|[^a-zA-Z_0-9])ssize_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then ac_cv_type_ssize_t=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_type_ssize_t=no + ac_cv_type_ssize_t=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest* + fi echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5 echo "${ECHO_T}$ac_cv_type_ssize_t" >&6 -if test $ac_cv_type_ssize_t = yes; then - : -else +if test $ac_cv_type_ssize_t = no; then -cat >>confdefs.h <<_ACEOF +cat >>confdefs.h <<\_ACEOF #define ssize_t int _ACEOF @@ -11805,56 +11990,41 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if ((off_t *) 0) - return 0; -if (sizeof (off_t)) - return 0; - ; - return 0; -} + +/* What a mess.. many systems have added the (now standard) bit types + * in their own ways, so we need to scan a wide variety of headers to + * find them.. + */ +#include +#if STDC_HEADERS +#include +#include +#endif +#if HAVE_INTTYPES_H +#include +#endif +#if HAVE_SYS_TYPES_H +#include +#endif +#if HAVE_SYS_BITYPES_H +#include +#endif + _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "(^|[^a-zA-Z_0-9])off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then ac_cv_type_off_t=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_type_off_t=no + ac_cv_type_off_t=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest* + fi echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 echo "${ECHO_T}$ac_cv_type_off_t" >&6 -if test $ac_cv_type_off_t = yes; then - : -else +if test $ac_cv_type_off_t = no; then -cat >>confdefs.h <<_ACEOF +cat >>confdefs.h <<\_ACEOF #define off_t int _ACEOF @@ -11871,56 +12041,41 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if ((mode_t *) 0) - return 0; -if (sizeof (mode_t)) - return 0; - ; - return 0; -} + +/* What a mess.. many systems have added the (now standard) bit types + * in their own ways, so we need to scan a wide variety of headers to + * find them.. + */ +#include +#if STDC_HEADERS +#include +#include +#endif +#if HAVE_INTTYPES_H +#include +#endif +#if HAVE_SYS_TYPES_H +#include +#endif +#if HAVE_SYS_BITYPES_H +#include +#endif + _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "(^|[^a-zA-Z_0-9])mode_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then ac_cv_type_mode_t=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_type_mode_t=no + ac_cv_type_mode_t=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest* + fi echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5 echo "${ECHO_T}$ac_cv_type_mode_t" >&6 -if test $ac_cv_type_mode_t = yes; then - : -else +if test $ac_cv_type_mode_t = no; then -cat >>confdefs.h <<_ACEOF +cat >>confdefs.h <<\_ACEOF #define mode_t unsigned short _ACEOF @@ -11937,56 +12092,41 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if ((fd_mask *) 0) - return 0; -if (sizeof (fd_mask)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_fd_mask=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_type_fd_mask=no +/* What a mess.. many systems have added the (now standard) bit types + * in their own ways, so we need to scan a wide variety of headers to + * find them.. + */ +#include +#if STDC_HEADERS +#include +#include +#endif +#if HAVE_INTTYPES_H +#include +#endif +#if HAVE_SYS_TYPES_H +#include +#endif +#if HAVE_SYS_BITYPES_H +#include +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "(^|[^a-zA-Z_0-9])fd_mask[^a-zA-Z_0-9]" >/dev/null 2>&1; then + ac_cv_type_fd_mask=yes +else + ac_cv_type_fd_mask=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest* + fi echo "$as_me:$LINENO: result: $ac_cv_type_fd_mask" >&5 echo "${ECHO_T}$ac_cv_type_fd_mask" >&6 -if test $ac_cv_type_fd_mask = yes; then - : -else +if test $ac_cv_type_fd_mask = no; then -cat >>confdefs.h <<_ACEOF +cat >>confdefs.h <<\_ACEOF #define fd_mask int _ACEOF @@ -12123,471 +12263,33 @@ rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi -echo "$as_me:$LINENO: result: $ac_cv_sizeof_size_t" >&5 -echo "${ECHO_T}$ac_cv_sizeof_size_t" >&6 - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t -_ACEOF - - - -# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works -# for constant arguments. Useless! -echo "$as_me:$LINENO: checking for working alloca.h" >&5 -echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6 -if test "${ac_cv_working_alloca_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -char *p = (char *) alloca (2 * sizeof (int)); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_working_alloca_h=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_working_alloca_h=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5 -echo "${ECHO_T}$ac_cv_working_alloca_h" >&6 -if test $ac_cv_working_alloca_h = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_ALLOCA_H 1 -_ACEOF - -fi - -echo "$as_me:$LINENO: checking for alloca" >&5 -echo $ECHO_N "checking for alloca... $ECHO_C" >&6 -if test "${ac_cv_func_alloca_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __GNUC__ -# define alloca __builtin_alloca -#else -# ifdef _MSC_VER -# include -# define alloca _alloca -# else -# if HAVE_ALLOCA_H -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -char *alloca (); -# endif -# endif -# endif -# endif -#endif - -int -main () -{ -char *p = (char *) alloca (1); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_alloca_works=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_func_alloca_works=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5 -echo "${ECHO_T}$ac_cv_func_alloca_works" >&6 - -if test $ac_cv_func_alloca_works = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_ALLOCA 1 -_ACEOF - -else - # The SVR3 libPW and SVR4 libucb both contain incompatible functions -# that cause trouble. Some versions do not even contain alloca or -# contain a buggy version. If you still want to use their alloca, -# use ar to extract alloca.o from them instead of compiling alloca.c. - -ALLOCA=alloca.$ac_objext - -cat >>confdefs.h <<\_ACEOF -#define C_ALLOCA 1 -_ACEOF - - -echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5 -echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6 -if test "${ac_cv_os_cray+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#if defined(CRAY) && ! defined(CRAY2) -webecray -#else -wenotbecray -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "webecray" >/dev/null 2>&1; then - ac_cv_os_cray=yes -else - ac_cv_os_cray=no -fi -rm -f conftest* - -fi -echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5 -echo "${ECHO_T}$ac_cv_os_cray" >&6 -if test $ac_cv_os_cray = yes; then - for ac_func in _getb67 GETB67 getb67; do - as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_var=no" -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - -cat >>confdefs.h <<_ACEOF -#define CRAY_STACKSEG_END $ac_func -_ACEOF - - break -fi - - done -fi - -echo "$as_me:$LINENO: checking stack direction for C alloca" >&5 -echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6 -if test "${ac_cv_c_stack_direction+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - ac_cv_c_stack_direction=0 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -find_stack_direction () -{ - static char *addr = 0; - auto char dummy; - if (addr == 0) - { - addr = &dummy; - return find_stack_direction (); - } - else - return (&dummy > addr) ? 1 : -1; -} - -int -main () -{ - exit (find_stack_direction () < 0); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_c_stack_direction=1 -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_c_stack_direction=-1 -fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5 -echo "${ECHO_T}$ac_cv_c_stack_direction" >&6 - -cat >>confdefs.h <<_ACEOF -#define STACK_DIRECTION $ac_cv_c_stack_direction -_ACEOF - - -fi - - - -echo "$as_me:$LINENO: checking for socklen_t" >&5 -echo $ECHO_N "checking for socklen_t... $ECHO_C" >&6 -if test "${ac_cv_type_socklen_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#if STDC_HEADERS -#include -#include -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "socklen_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - ac_cv_type_socklen_t=yes -else - ac_cv_type_socklen_t=no -fi -rm -f conftest* - - -fi -echo "$as_me:$LINENO: result: $ac_cv_type_socklen_t" >&5 -echo "${ECHO_T}$ac_cv_type_socklen_t" >&6 -if test $ac_cv_type_socklen_t = no; then - -cat >>confdefs.h <<\_ACEOF -#define socklen_t int -_ACEOF - -fi - -echo "$as_me:$LINENO: checking for mtyp_t" >&5 -echo $ECHO_N "checking for mtyp_t... $ECHO_C" >&6 -if test "${ac_cv_type_mtyp_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "mtyp_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - ac_cv_type_mtyp_t=yes -else - ac_cv_type_mtyp_t=no -fi -rm -f conftest* - - -fi -echo "$as_me:$LINENO: result: $ac_cv_type_mtyp_t" >&5 -echo "${ECHO_T}$ac_cv_type_mtyp_t" >&6 -if test $ac_cv_type_mtyp_t = no; then +echo "$as_me:$LINENO: result: $ac_cv_sizeof_size_t" >&5 +echo "${ECHO_T}$ac_cv_sizeof_size_t" >&6 -cat >>confdefs.h <<\_ACEOF -#define mtyp_t long +cat >>confdefs.h <<_ACEOF +#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t _ACEOF - fi -echo "$as_me:$LINENO: checking for main in -lnsl" >&5 -echo $ECHO_N "checking for main in -lnsl... $ECHO_C" >&6 -if test "${ac_cv_lib_nsl_main+set}" = set; then +# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works +# for constant arguments. Useless! +echo "$as_me:$LINENO: checking for working alloca.h" >&5 +echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6 +if test "${ac_cv_working_alloca_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lnsl $LIBS" -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - - +#include int main () { -main (); +char *p = (char *) alloca (2 * sizeof (int)); ; return 0; } @@ -12614,48 +12316,62 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_lib_nsl_main=yes + ac_cv_working_alloca_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_nsl_main=no +ac_cv_working_alloca_h=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_main" >&5 -echo "${ECHO_T}$ac_cv_lib_nsl_main" >&6 -if test $ac_cv_lib_nsl_main = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBNSL 1 -_ACEOF +echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5 +echo "${ECHO_T}$ac_cv_working_alloca_h" >&6 +if test $ac_cv_working_alloca_h = yes; then - LIBS="-lnsl $LIBS" +cat >>confdefs.h <<\_ACEOF +#define HAVE_ALLOCA_H 1 +_ACEOF fi - -echo "$as_me:$LINENO: checking for main in -lsocket" >&5 -echo $ECHO_N "checking for main in -lsocket... $ECHO_C" >&6 -if test "${ac_cv_lib_socket_main+set}" = set; then +echo "$as_me:$LINENO: checking for alloca" >&5 +echo $ECHO_N "checking for alloca... $ECHO_C" >&6 +if test "${ac_cv_func_alloca_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsocket $LIBS" -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - +#ifdef __GNUC__ +# define alloca __builtin_alloca +#else +# ifdef _MSC_VER +# include +# define alloca _alloca +# else +# if HAVE_ALLOCA_H +# include +# else +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca /* predefined by HP cc +Olibcalls */ +char *alloca (); +# endif +# endif +# endif +# endif +#endif int main () { -main (); +char *p = (char *) alloca (1); ; return 0; } @@ -12682,54 +12398,122 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_lib_socket_main=yes + ac_cv_func_alloca_works=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_socket_main=no +ac_cv_func_alloca_works=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_socket_main" >&5 -echo "${ECHO_T}$ac_cv_lib_socket_main" >&6 -if test $ac_cv_lib_socket_main = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBSOCKET 1 +echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5 +echo "${ECHO_T}$ac_cv_func_alloca_works" >&6 + +if test $ac_cv_func_alloca_works = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_ALLOCA 1 _ACEOF - LIBS="-lsocket $LIBS" +else + # The SVR3 libPW and SVR4 libucb both contain incompatible functions +# that cause trouble. Some versions do not even contain alloca or +# contain a buggy version. If you still want to use their alloca, +# use ar to extract alloca.o from them instead of compiling alloca.c. + +ALLOCA=alloca.$ac_objext + +cat >>confdefs.h <<\_ACEOF +#define C_ALLOCA 1 +_ACEOF + + +echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5 +echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6 +if test "${ac_cv_os_cray+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#if defined(CRAY) && ! defined(CRAY2) +webecray +#else +wenotbecray +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "webecray" >/dev/null 2>&1; then + ac_cv_os_cray=yes +else + ac_cv_os_cray=no fi +rm -f conftest* -echo "$as_me:$LINENO: checking for winsock" >&5 -echo $ECHO_N "checking for winsock... $ECHO_C" >&6 -save_LIBS="$LIBS" -for curlib in ws2_32 wsock32; do - LIBS="$LIBS -l$curlib" - cat >conftest.$ac_ext <<_ACEOF +fi +echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5 +echo "${ECHO_T}$ac_cv_os_cray" >&6 +if test $ac_cv_os_cray = yes; then + for ac_func in _getb67 GETB67 getb67; do + as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func - char __attribute__((stdcall)) socket(int,int,int); - char __attribute__((stdcall)) select(int,int,int,int,int); - char __attribute__((stdcall)) closesocket(int); - char __attribute__((stdcall)) gethostname(int,int); +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} +#endif int main () { - - socket(1,2,3); - select(1,2,3,4,5); - closesocket(1); - gethostname(1,2); - +return f != $ac_func; ; return 0; } @@ -12749,116 +12533,189 @@ (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_var=no" +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + +cat >>confdefs.h <<_ACEOF +#define CRAY_STACKSEG_END $ac_func +_ACEOF + + break +fi + + done +fi + +echo "$as_me:$LINENO: checking stack direction for C alloca" >&5 +echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6 +if test "${ac_cv_c_stack_direction+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + ac_cv_c_stack_direction=0 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +int +find_stack_direction () +{ + static char *addr = 0; + auto char dummy; + if (addr == 0) + { + addr = &dummy; + return find_stack_direction (); + } + else + return (&dummy > addr) ? 1 : -1; +} + +int +main () +{ + exit (find_stack_direction () < 0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - have_winsock=yes + ac_cv_c_stack_direction=1 else - echo "$as_me: failed program was:" >&5 + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -have_winsock=no +( exit $ac_status ) +ac_cv_c_stack_direction=-1 fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5 +echo "${ECHO_T}$ac_cv_c_stack_direction" >&6 - if test $have_winsock = yes; then - ac_cv_func_select='yes' - if test $curlib = ws2_32; then - have_winsock=winsock2 - fi - break - fi - LIBS="$save_LIBS" -done -echo "$as_me:$LINENO: result: $have_winsock" >&5 -echo "${ECHO_T}$have_winsock" >&6 +cat >>confdefs.h <<_ACEOF +#define STACK_DIRECTION $ac_cv_c_stack_direction +_ACEOF -echo "$as_me:$LINENO: checking for unix domain sockets" >&5 -echo $ECHO_N "checking for unix domain sockets... $ECHO_C" >&6 -if test "${squid_cv_unixsocket+set}" = set; then + +fi + + + +echo "$as_me:$LINENO: checking for socklen_t" >&5 +echo $ECHO_N "checking for socklen_t... $ECHO_C" >&6 +if test "${ac_cv_type_socklen_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include +#include +#if STDC_HEADERS #include #include -#include -#include -int -main () -{ +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "socklen_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + ac_cv_type_socklen_t=yes +else + ac_cv_type_socklen_t=no +fi +rm -f conftest* - struct sockaddr_un sunaddr; - sunaddr.sun_family = AF_UNIX; - ; - return 0; -} +fi +echo "$as_me:$LINENO: result: $ac_cv_type_socklen_t" >&5 +echo "${ECHO_T}$ac_cv_type_socklen_t" >&6 +if test $ac_cv_type_socklen_t = no; then + +cat >>confdefs.h <<\_ACEOF +#define socklen_t int _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - squid_cv_unixsocket=yes + +fi + +echo "$as_me:$LINENO: checking for mtyp_t" >&5 +echo $ECHO_N "checking for mtyp_t... $ECHO_C" >&6 +if test "${ac_cv_type_mtyp_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -squid_cv_unixsocket=no + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "mtyp_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + ac_cv_type_mtyp_t=yes +else + ac_cv_type_mtyp_t=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest* + + fi -echo "$as_me:$LINENO: result: $squid_cv_unixsocket" >&5 -echo "${ECHO_T}$squid_cv_unixsocket" >&6 -if test x"$squid_cv_unixsocket" = x"yes"; then +echo "$as_me:$LINENO: result: $ac_cv_type_mtyp_t" >&5 +echo "${ECHO_T}$ac_cv_type_mtyp_t" >&6 +if test $ac_cv_type_mtyp_t = no; then cat >>confdefs.h <<\_ACEOF -#define HAVE_UNIXSOCKET 1 +#define mtyp_t long _ACEOF -fi + fi -if test "x$ac_cv_enabled_dlmalloc" = "xyes" ; then - echo "skipping libmalloc check (--enable-dlmalloc specified)" -else -echo "$as_me:$LINENO: checking for main in -lgnumalloc" >&5 -echo $ECHO_N "checking for main in -lgnumalloc... $ECHO_C" >&6 -if test "${ac_cv_lib_gnumalloc_main+set}" = set; then +echo "$as_me:$LINENO: checking for main in -lnsl" >&5 +echo $ECHO_N "checking for main in -lnsl... $ECHO_C" >&6 +if test "${ac_cv_lib_nsl_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lgnumalloc $LIBS" +LIBS="-lnsl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -12897,51 +12754,36 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_lib_gnumalloc_main=yes + ac_cv_lib_nsl_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_gnumalloc_main=no +ac_cv_lib_nsl_main=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_gnumalloc_main" >&5 -echo "${ECHO_T}$ac_cv_lib_gnumalloc_main" >&6 -if test $ac_cv_lib_gnumalloc_main = yes; then +echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_main" >&5 +echo "${ECHO_T}$ac_cv_lib_nsl_main" >&6 +if test $ac_cv_lib_nsl_main = yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_LIBGNUMALLOC 1 +#define HAVE_LIBNSL 1 _ACEOF - LIBS="-lgnumalloc $LIBS" + LIBS="-lnsl $LIBS" fi - if test "$ac_cv_lib_gnumalloc_main" = "yes"; then - echo "Disabling extended malloc functions when using gnumalloc" - ac_cv_func_mallinfo=no - ac_cv_func_mallocblksize=no - ac_cv_func_mallopt=no - else - case "$host" in - *-sun-solaris*) - echo "skipping libmalloc check for $host" - ;; - i386-*-freebsd*) - echo "skipping libmalloc check for $host" - ;; - *) - -echo "$as_me:$LINENO: checking for main in -lmalloc" >&5 -echo $ECHO_N "checking for main in -lmalloc... $ECHO_C" >&6 -if test "${ac_cv_lib_malloc_main+set}" = set; then +echo "$as_me:$LINENO: checking for main in -lsocket" >&5 +echo $ECHO_N "checking for main in -lsocket... $ECHO_C" >&6 +if test "${ac_cv_lib_socket_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lmalloc $LIBS" +LIBS="-lsocket $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -12980,53 +12822,54 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_lib_malloc_main=yes + ac_cv_lib_socket_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_malloc_main=no +ac_cv_lib_socket_main=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_malloc_main" >&5 -echo "${ECHO_T}$ac_cv_lib_malloc_main" >&6 -if test $ac_cv_lib_malloc_main = yes; then +echo "$as_me:$LINENO: result: $ac_cv_lib_socket_main" >&5 +echo "${ECHO_T}$ac_cv_lib_socket_main" >&6 +if test $ac_cv_lib_socket_main = yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_LIBMALLOC 1 +#define HAVE_LIBSOCKET 1 _ACEOF - LIBS="-lmalloc $LIBS" - -fi + LIBS="-lsocket $LIBS" - ;; - esac - fi fi - -echo "$as_me:$LINENO: checking for main in -lbsd" >&5 -echo $ECHO_N "checking for main in -lbsd... $ECHO_C" >&6 -if test "${ac_cv_lib_bsd_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lbsd $LIBS" -cat >conftest.$ac_ext <<_ACEOF +echo "$as_me:$LINENO: checking for winsock" >&5 +echo $ECHO_N "checking for winsock... $ECHO_C" >&6 +save_LIBS="$LIBS" +for curlib in ws2_32 wsock32; do + LIBS="$LIBS -l$curlib" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + char __attribute__((stdcall)) socket(int,int,int); + char __attribute__((stdcall)) select(int,int,int,int,int); + char __attribute__((stdcall)) closesocket(int); + char __attribute__((stdcall)) gethostname(int,int); int main () { -main (); + + socket(1,2,3); + select(1,2,3,4,5); + closesocket(1); + gethostname(1,2); + ; return 0; } @@ -13053,54 +12896,60 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_lib_bsd_main=yes + have_winsock=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_bsd_main=no +have_winsock=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_main" >&5 -echo "${ECHO_T}$ac_cv_lib_bsd_main" >&6 -if test $ac_cv_lib_bsd_main = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBBSD 1 -_ACEOF - - LIBS="-lbsd $LIBS" -fi + if test $have_winsock = yes; then + ac_cv_func_select='yes' + if test $curlib = ws2_32; then + have_winsock=winsock2 + fi + break + fi + LIBS="$save_LIBS" +done +echo "$as_me:$LINENO: result: $have_winsock" >&5 +echo "${ECHO_T}$have_winsock" >&6 -echo "$as_me:$LINENO: checking for main in -lregex" >&5 -echo $ECHO_N "checking for main in -lregex... $ECHO_C" >&6 -if test "${ac_cv_lib_regex_main+set}" = set; then +echo "$as_me:$LINENO: checking for unix domain sockets" >&5 +echo $ECHO_N "checking for unix domain sockets... $ECHO_C" >&6 +if test "${squid_cv_unixsocket+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lregex $LIBS" -cat >conftest.$ac_ext <<_ACEOF + + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - +#include +#include +#include +#include +#include int main () { -main (); + + struct sockaddr_un sunaddr; + sunaddr.sun_family = AF_UNIX; + ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 @@ -13114,37 +12963,42 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_lib_regex_main=yes + squid_cv_unixsocket=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_regex_main=no +squid_cv_unixsocket=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_lib_regex_main" >&5 -echo "${ECHO_T}$ac_cv_lib_regex_main" >&6 -if test $ac_cv_lib_regex_main = yes; then - REGEXLIB="-lregex" +echo "$as_me:$LINENO: result: $squid_cv_unixsocket" >&5 +echo "${ECHO_T}$squid_cv_unixsocket" >&6 +if test x"$squid_cv_unixsocket" = x"yes"; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_UNIXSOCKET 1 +_ACEOF + fi +if test "x$ac_cv_enabled_dlmalloc" = "xyes" ; then + echo "skipping libmalloc check (--enable-dlmalloc specified)" +else -echo "$as_me:$LINENO: checking for gethostbyname in -lbind" >&5 -echo $ECHO_N "checking for gethostbyname in -lbind... $ECHO_C" >&6 -if test "${ac_cv_lib_bind_gethostbyname+set}" = set; then +echo "$as_me:$LINENO: checking for main in -lgnumalloc" >&5 +echo $ECHO_N "checking for main in -lgnumalloc... $ECHO_C" >&6 +if test "${ac_cv_lib_gnumalloc_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lbind $LIBS" +LIBS="-lgnumalloc $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -13152,17 +13006,11 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gethostbyname (); + int main () { -gethostbyname (); +main (); ; return 0; } @@ -13189,41 +13037,51 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_lib_bind_gethostbyname=yes + ac_cv_lib_gnumalloc_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_bind_gethostbyname=no +ac_cv_lib_gnumalloc_main=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_bind_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_lib_bind_gethostbyname" >&6 -if test $ac_cv_lib_bind_gethostbyname = yes; then +echo "$as_me:$LINENO: result: $ac_cv_lib_gnumalloc_main" >&5 +echo "${ECHO_T}$ac_cv_lib_gnumalloc_main" >&6 +if test $ac_cv_lib_gnumalloc_main = yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_LIBBIND 1 +#define HAVE_LIBGNUMALLOC 1 _ACEOF - LIBS="-lbind $LIBS" + LIBS="-lgnumalloc $LIBS" fi -if test $ac_cv_lib_bind_gethostbyname = "no" ; then - case "$host" in - i386-*-freebsd*) - echo "skipping libresolv checks for $host" - ;; - *) - echo "$as_me:$LINENO: checking for inet_aton in -lresolv" >&5 -echo $ECHO_N "checking for inet_aton in -lresolv... $ECHO_C" >&6 -if test "${ac_cv_lib_resolv_inet_aton+set}" = set; then + if test "$ac_cv_lib_gnumalloc_main" = "yes"; then + echo "Disabling extended malloc functions when using gnumalloc" + ac_cv_func_mallinfo=no + ac_cv_func_mallocblksize=no + ac_cv_func_mallopt=no + else + case "$host" in + *-sun-solaris*) + echo "skipping libmalloc check for $host" + ;; + i386-*-freebsd*) + echo "skipping libmalloc check for $host" + ;; + *) + + +echo "$as_me:$LINENO: checking for main in -lmalloc" >&5 +echo $ECHO_N "checking for main in -lmalloc... $ECHO_C" >&6 +if test "${ac_cv_lib_malloc_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lresolv $LIBS" +LIBS="-lmalloc $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -13231,17 +13089,11 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char inet_aton (); + int main () { -inet_aton (); +main (); ; return 0; } @@ -13268,28 +13120,41 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_lib_resolv_inet_aton=yes + ac_cv_lib_malloc_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_resolv_inet_aton=no +ac_cv_lib_malloc_main=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_resolv_inet_aton" >&5 -echo "${ECHO_T}$ac_cv_lib_resolv_inet_aton" >&6 -if test $ac_cv_lib_resolv_inet_aton = yes; then - -echo "$as_me:$LINENO: checking for inet_aton in -l44bsd" >&5 -echo $ECHO_N "checking for inet_aton in -l44bsd... $ECHO_C" >&6 -if test "${ac_cv_lib_44bsd_inet_aton+set}" = set; then +echo "$as_me:$LINENO: result: $ac_cv_lib_malloc_main" >&5 +echo "${ECHO_T}$ac_cv_lib_malloc_main" >&6 +if test $ac_cv_lib_malloc_main = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBMALLOC 1 +_ACEOF + + LIBS="-lmalloc $LIBS" + +fi + + ;; + esac + fi +fi + + +echo "$as_me:$LINENO: checking for main in -lbsd" >&5 +echo $ECHO_N "checking for main in -lbsd... $ECHO_C" >&6 +if test "${ac_cv_lib_bsd_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-l44bsd $LIBS" +LIBS="-lbsd $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -13297,17 +13162,11 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char inet_aton (); + int main () { -inet_aton (); +main (); ; return 0; } @@ -13334,38 +13193,35 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_lib_44bsd_inet_aton=yes + ac_cv_lib_bsd_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_44bsd_inet_aton=no +ac_cv_lib_bsd_main=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_44bsd_inet_aton" >&5 -echo "${ECHO_T}$ac_cv_lib_44bsd_inet_aton" >&6 -if test $ac_cv_lib_44bsd_inet_aton = yes; then +echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_main" >&5 +echo "${ECHO_T}$ac_cv_lib_bsd_main" >&6 +if test $ac_cv_lib_bsd_main = yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_LIB44BSD 1 +#define HAVE_LIBBSD 1 _ACEOF - LIBS="-l44bsd $LIBS" - -fi + LIBS="-lbsd $LIBS" fi - -echo "$as_me:$LINENO: checking for main in -lresolv" >&5 -echo $ECHO_N "checking for main in -lresolv... $ECHO_C" >&6 -if test "${ac_cv_lib_resolv_main+set}" = set; then +echo "$as_me:$LINENO: checking for main in -lregex" >&5 +echo $ECHO_N "checking for main in -lregex... $ECHO_C" >&6 +if test "${ac_cv_lib_regex_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lresolv $LIBS" +LIBS="-lregex $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -13404,31 +13260,24 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_lib_resolv_main=yes + ac_cv_lib_regex_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_resolv_main=no +ac_cv_lib_regex_main=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_resolv_main" >&5 -echo "${ECHO_T}$ac_cv_lib_resolv_main" >&6 -if test $ac_cv_lib_resolv_main = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBRESOLV 1 -_ACEOF - - LIBS="-lresolv $LIBS" - +echo "$as_me:$LINENO: result: $ac_cv_lib_regex_main" >&5 +echo "${ECHO_T}$ac_cv_lib_regex_main" >&6 +if test $ac_cv_lib_regex_main = yes; then + REGEXLIB="-lregex" fi - ;; - esac -fi + case "$host_os" in mingw|mingw32) echo "Use MSVCRT for math functions." @@ -14689,8 +14538,23 @@ -if test "$ac_cv_func_epoll_ctl" = "yes" ; then +if test -n "$SELECT_TYPE"; then + : # Nothing to do +elif test "$ac_cv_func_epoll_ctl" = "yes" ; then SELECT_TYPE="epoll" +elif test "$ac_cv_func_poll" = "yes" ; then + + SELECT_TYPE="poll" +elif test "$ac_cv_func_select" = "yes" ; then + SELECT_TYPE="select" +else + echo "Eep! Can't find poll, epoll, or select!" + echo "I'll try select and hope for the best." + SELECT_TYPE="select" +fi + +case "$SELECT_TYPE" in +epoll) cat >>confdefs.h <<\_ACEOF #define USE_EPOLL 1 @@ -14765,30 +14629,26 @@ fi -elif test "$ac_cv_func_poll" = "yes" ; then - - SELECT_TYPE="poll" + ;; +poll) cat >>confdefs.h <<\_ACEOF #define USE_POLL 1 _ACEOF -elif test "$ac_cv_func_select" = "yes" ; then - SELECT_TYPE="select" + ;; +select) cat >>confdefs.h <<\_ACEOF #define USE_SELECT 1 _ACEOF -else - echo "Eep! Can't find poll, epoll, or select!" - echo "I'll try select and hope for the best." - SELECT_TYPE="select" - cat >>confdefs.h <<\_ACEOF -#define USE_SELECT 1 -_ACEOF + ;; +*) + echo "ERROR: Unknown select loop type '$SELECT_TYPE'" + exit 1 +esac -fi echo "Using ${SELECT_TYPE} for select loop." @@ -15109,15 +14969,6 @@ echo "WARNING: Cannot find necessary IP-Filter header files" echo " Transparent Proxy support WILL NOT be enabled" sleep 10 -elif test "$IPF_TRANSPARENT" = "yes" ; then - case "$host" in - *-solaris*) - solrev=`uname -r | sh -c 'IFS=. read j n x; echo $n'` - CFLAGS="-DSOLARIS2=$solrev $CFLAGS" - ;; - *) - ;; - esac fi if test "$PF_TRANSPARENT" ; then @@ -15149,8 +15000,8 @@ fi if test "$LINUX_NETFILTER" ; then - echo "$as_me:$LINENO: checking if Linux 2.4 kernel header files are installed" >&5 -echo $ECHO_N "checking if Linux 2.4 kernel header files are installed... $ECHO_C" >&6 + echo "$as_me:$LINENO: checking if Linux 2.4 or newer kernel header files are installed" >&5 +echo $ECHO_N "checking if Linux 2.4 or newer kernel header files are installed... $ECHO_C" >&6 # hold on to your hats... if test "$ac_cv_header_linux_netfilter_ipv4_h" = "yes"; then LINUX_NETFILTER="yes" @@ -15171,8 +15022,8 @@ echo "${ECHO_T}$LINUX_NETFILTER" >&6 fi if test "$LINUX_NETFILTER" = "no" ; then - echo "WARNING: Cannot find necessary Linux 2.4 kernel header files" - echo " Linux 2.4 Transparent Proxy support WILL NOT be enabled" + echo "WARNING: Cannot find necessary Linux kernel header files" + echo " Linux Netfilter Transparent Proxy support WILL NOT be enabled" sleep 10 fi @@ -15201,7 +15052,7 @@ if test "$LINUX_TPROXY" = "no" ; then echo "WARNING: Cannot find TPROXY headers, you need to install the" echo "tproxy package from:" - echo " - lynx http://www.balabit.com/downloads/tproxy/linux-2.4/" + echo " - lynx http://www.balabit.com/downloads/tproxy/" sleep 10 fi @@ -15910,62 +15761,6 @@ fi -echo "$as_me:$LINENO: checking for libresolv _dns_ttl_ hack" >&5 -echo $ECHO_N "checking for libresolv _dns_ttl_ hack... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -extern int _dns_ttl_; -int -main () -{ -return _dns_ttl_; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - -cat >>confdefs.h <<\_ACEOF -#define LIBRESOLV_DNS_TTL_HACK 1 -_ACEOF - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - echo "$as_me:$LINENO: checking if inet_ntoa() actually works" >&5 echo $ECHO_N "checking if inet_ntoa() actually works... $ECHO_C" >&6 if test "$cross_compiling" = yes; then @@ -16066,8 +15861,10 @@ { struct statvfs sfs; -sfs.f_blocks = sfs.f_bfree = sfs.f_frsize = -sfs.f_files = sfs.f_ffree = 0; +fsblkcnt_t blocks; +fsfilcnt_t files; +blocks = sfs.f_blocks = sfs.f_bfree = sfs.f_frsize = 0; +files = sfs.f_files = sfs.f_ffree = 0; statvfs("/tmp", &sfs); ; @@ -16295,7 +16092,7 @@ - ac_config_files="$ac_config_files Makefile lib/Makefile scripts/Makefile scripts/RunCache scripts/RunAccel src/Makefile src/fs/Makefile src/repl/Makefile src/auth/Makefile src/auth/basic/Makefile src/auth/digest/Makefile src/auth/ntlm/Makefile src/auth/negotiate/Makefile contrib/Makefile snmplib/Makefile icons/Makefile errors/Makefile src/fs/aufs/Makefile src/fs/coss/Makefile src/fs/diskd/Makefile src/fs/null/Makefile src/fs/ufs/Makefile src/repl/heap/Makefile src/repl/lru/Makefile doc/Makefile helpers/Makefile helpers/basic_auth/Makefile helpers/basic_auth/LDAP/Makefile helpers/basic_auth/MSNT/Makefile helpers/basic_auth/NCSA/Makefile helpers/basic_auth/PAM/Makefile helpers/basic_auth/SMB/Makefile helpers/basic_auth/YP/Makefile helpers/basic_auth/getpwnam/Makefile helpers/basic_auth/mswin_sspi/Makefile helpers/basic_auth/multi-domain-NTLM/Makefile helpers/basic_auth/SASL/Makefile helpers/digest_auth/Makefile helpers/digest_auth/password/Makefile helpers/digest_auth/ldap/Makefile helpers/ntlm_auth/Makefile helpers/ntlm_auth/fakeauth/Makefile helpers/ntlm_auth/mswin_sspi/Makefile helpers/ntlm_auth/no_check/Makefile helpers/ntlm_auth/SMB/Makefile helpers/ntlm_auth/SMB/smbval/Makefile helpers/negotiate_auth/Makefile helpers/negotiate_auth/mswin_sspi/Makefile helpers/external_acl/Makefile helpers/external_acl/ip_user/Makefile helpers/external_acl/ldap_group/Makefile helpers/external_acl/mswin_lm_group/Makefile helpers/external_acl/session/Makefile helpers/external_acl/unix_group/Makefile helpers/external_acl/wbinfo_group/Makefile tools/Makefile" + ac_config_files="$ac_config_files Makefile lib/Makefile scripts/Makefile scripts/RunCache scripts/RunAccel src/Makefile src/fs/Makefile src/repl/Makefile src/auth/Makefile contrib/Makefile snmplib/Makefile icons/Makefile errors/Makefile doc/Makefile helpers/Makefile helpers/basic_auth/Makefile helpers/basic_auth/LDAP/Makefile helpers/basic_auth/MSNT/Makefile helpers/basic_auth/NCSA/Makefile helpers/basic_auth/PAM/Makefile helpers/basic_auth/SMB/Makefile helpers/basic_auth/YP/Makefile helpers/basic_auth/getpwnam/Makefile helpers/basic_auth/mswin_sspi/Makefile helpers/basic_auth/multi-domain-NTLM/Makefile helpers/basic_auth/SASL/Makefile helpers/digest_auth/Makefile helpers/digest_auth/password/Makefile helpers/digest_auth/ldap/Makefile helpers/ntlm_auth/Makefile helpers/ntlm_auth/fakeauth/Makefile helpers/ntlm_auth/mswin_sspi/Makefile helpers/ntlm_auth/no_check/Makefile helpers/ntlm_auth/SMB/Makefile helpers/ntlm_auth/SMB/smbval/Makefile helpers/negotiate_auth/Makefile helpers/negotiate_auth/mswin_sspi/Makefile helpers/external_acl/Makefile helpers/external_acl/ip_user/Makefile helpers/external_acl/ldap_group/Makefile helpers/external_acl/mswin_lm_group/Makefile helpers/external_acl/session/Makefile helpers/external_acl/unix_group/Makefile helpers/external_acl/wbinfo_group/Makefile tools/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure @@ -16868,7 +16665,7 @@ } >&5 cat >&5 <<_CSEOF -This file was extended by $as_me, which was +This file was extended by Squid Web Proxy $as_me 2.6.PRE2, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16931,7 +16728,7 @@ cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -config.status +Squid Web Proxy config.status 2.6.PRE2 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" @@ -17050,21 +16847,10 @@ "src/fs/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/fs/Makefile" ;; "src/repl/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/repl/Makefile" ;; "src/auth/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/auth/Makefile" ;; - "src/auth/basic/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/auth/basic/Makefile" ;; - "src/auth/digest/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/auth/digest/Makefile" ;; - "src/auth/ntlm/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/auth/ntlm/Makefile" ;; - "src/auth/negotiate/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/auth/negotiate/Makefile" ;; "contrib/Makefile" ) CONFIG_FILES="$CONFIG_FILES contrib/Makefile" ;; "snmplib/Makefile" ) CONFIG_FILES="$CONFIG_FILES snmplib/Makefile" ;; "icons/Makefile" ) CONFIG_FILES="$CONFIG_FILES icons/Makefile" ;; "errors/Makefile" ) CONFIG_FILES="$CONFIG_FILES errors/Makefile" ;; - "src/fs/aufs/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/fs/aufs/Makefile" ;; - "src/fs/coss/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/fs/coss/Makefile" ;; - "src/fs/diskd/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/fs/diskd/Makefile" ;; - "src/fs/null/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/fs/null/Makefile" ;; - "src/fs/ufs/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/fs/ufs/Makefile" ;; - "src/repl/heap/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/repl/heap/Makefile" ;; - "src/repl/lru/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/repl/lru/Makefile" ;; "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "helpers/Makefile" ) CONFIG_FILES="$CONFIG_FILES helpers/Makefile" ;; "helpers/basic_auth/Makefile" ) CONFIG_FILES="$CONFIG_FILES helpers/basic_auth/Makefile" ;; diff -ruN squid-2.6.PRE1/configure.in squid-2.6.PRE2/configure.in --- squid-2.6.PRE1/configure.in Mon May 29 16:53:14 2006 +++ squid-2.6.PRE2/configure.in Tue Jun 6 11:46:18 2006 @@ -3,26 +3,26 @@ dnl dnl Duane Wessels, wessels@nlanr.net, February 1996 (autoconf v2.9) dnl -dnl $Id: configure.in,v 1.345 2006/05/29 22:50:45 hno Exp $ +dnl $Id: configure.in,v 1.362 2006/06/06 08:20:55 hno Exp $ dnl dnl dnl -AC_INIT(src/main.c) -AC_CONFIG_AUX_DIR(cfgaux) -AM_INIT_AUTOMAKE(squid, 2.6.PRE1) +AC_INIT(Squid Web Proxy, 2.6.PRE2, http://www.squid-cache.org/bugs/, squid) AM_CONFIG_HEADER(include/autoconf.h) -AC_REVISION($Revision: 1.345 $)dnl +AC_CONFIG_AUX_DIR(cfgaux) +AM_INIT_AUTOMAKE +AC_REVISION($Revision: 1.362 $)dnl AC_PREFIX_DEFAULT(/usr/local/squid) AM_MAINTAINER_MODE +PRESET_CFLAGS="$CFLAGS" +PRESET_LDFLAGS="$LDFLAGS" + dnl Set default LDFLAGS if test -z "$LDFLAGS"; then LDFLAGS="-g" fi -PRESET_CFLAGS="$CFLAGS" -PRESET_LDFLAGS="$LDFLAGS" - dnl Check for GNU cc AC_PROG_CC AM_PROG_CC_C_O @@ -98,22 +98,22 @@ CFLAGS=`echo $CFLAGS | sed -e 's/-O[0-9]/-O/'` ;; *) - CFLAGS="$CFLAGS -Wall" + CFLAGS="-Wall $CFLAGS" ;; esac else case "$host" in *mips-sgi-irix6.*) # suggested by Rafael Seidl - CFLAGS="$CFLAGS -n32 -mips3 -O3 -OPT:Olimit=0:space=OFF \ + CFLAGS="-O3 -OPT:Olimit=0:space=OFF \ -woff 1009,1014,1110,1116,1185,1188,1204,1230,1233 \ -Wl,-woff,85,-woff,84,-woff,134 \ - -nostdinc -I/usr/include -D_BSD_SIGNALS" + -nostdinc -I/usr/include -D_BSD_SIGNALS $CFLAGS" ;; alpha-dec-osf4.*) # Mogul says DEC compilers take both -g and -O2 CFLAGS=`echo $CFLAGS | sed -e 's/-g/-g3/'` - CFLAGS="$CFLAGS -O2" + CFLAGS="-O2 $CFLAGS" ;; *) ;; @@ -125,15 +125,18 @@ if test -z "$PRESET_LDFLAGS"; then if test "$GCC" = "yes"; then case "$host" in + *mips-sgi-irix6.*) + # Silence Linker warnings 84, 85 and 134 + LDFLAGS="-Wl,-woff,85 -Wl,-woff,84 -Wl,-woff,134 $LDFLAGS" + ;; *) # nothing ;; esac else case "$host" in - *mips-sgi-irix6.*) - # suggested by Rafael Seidl - LDFLAGS="-n32 -mips3 -nostdlib -L/usr/lib32" + *) + # nothing ;; esac fi @@ -368,9 +371,16 @@ [ case $enableval in yes) for module in $srcdir/src/fs/*; do - if test -f $module/Makefile.in; then - STORE_MODULES="$STORE_MODULES `basename $module`" - fi + name="`basename $module`" + case $name in + CVS) # Ignore + ;; + *) + if test -d $module; then + STORE_MODULES="$STORE_MODULES $name" + fi + ;; + esac done ;; no) @@ -436,9 +446,16 @@ [ case $enableval in yes) for module in $srcdir/src/repl/*; do - if test -f $module/Makefile.in; then - REPL_POLICIES="$REPL_POLICIES `basename $module`" - fi + name="`basename $module`" + case $name in + CVS) # Ignore + ;; + *) + if test -d $module; then + REPL_POLICIES="$REPL_POLICIES $name" + fi + ;; + esac done ;; no) @@ -545,6 +562,22 @@ fi ]) +AC_ARG_ENABLE(forward-log, +[ --enable-forward-log Enable experimental forward_log directive], +[ if test "$enableval" = "yes" ; then + echo "forward_log enabled" + AC_DEFINE(WIP_FWD_LOG, 1, [Define to enable experimental forward_log directive]) + fi +]) + +AC_ARG_ENABLE(multicast-miss, +[ --enable-multicast-miss Enable experimental multicast notification of cachemisses], +[ if test "$enableval" = "yes" ; then + echo "multicast of cache miss URLs enabled" + AC_DEFINE(MULTICAST_MISS_STREAM, 1, [Define to enable experimental multicast of cache miss URLs]) + fi +]) + AM_CONDITIONAL(USE_SNMP, false) AC_ARG_ENABLE(snmp, [ --enable-snmp Enable SNMP monitoring], @@ -757,6 +790,25 @@ fi ]) +dnl Enable select() +AC_ARG_ENABLE(select, +[ --enable-select Enable select() support. + --disable-select Disable select() support. ], + +[ + case "$enableval" in + yes) + echo "Forcing select() to be enabled" + SELECT_TYPE="select" + ac_cv_func_select='yes' + ;; + no) + echo "Forcing select() to be disabled" + ac_cv_func_select='no' + ;; + esac +]) + dnl Enable poll() AC_ARG_ENABLE(poll, [ --enable-poll Enable poll() instead of select(). Normally poll @@ -769,6 +821,7 @@ case "$enableval" in yes) echo "Forcing poll() to be enabled" + SELECT_TYPE="poll" ac_cv_func_poll='yes' ;; no) @@ -778,24 +831,6 @@ esac ]) -dnl Enable select() -AC_ARG_ENABLE(select, -[ --enable-select Enable select() support. - --disable-select Disable select() support. ], - -[ - case "$enableval" in - yes) - echo "Forcing select() to be enabled" - ac_cv_func_select='yes' - ;; - no) - echo "Forcing select() to be disabled" - ac_cv_func_select='no' - ;; - esac -]) - dnl Enable epoll() AC_ARG_ENABLE(epoll, [ --enable-epoll Enable epoll() instead of poll() or select(). @@ -806,6 +841,7 @@ case "$enableval" in yes) echo "Forcing epoll() to be enabled" + SELECT_TYPE="epoll" force_epoll='yes' ;; no) @@ -841,6 +877,17 @@ address redirection. This provides "masquerading" support for non Linux system.]) IPF_TRANSPARENT="yes" + dnl On Solaris Ipfilter includes expect that SOLARIS2 is defined with the + dnl Solaris minor version (8, 9, 10, ...) + case "$host" in + *-solaris*) + solrev=`uname -r | sh -c 'IFS=. read j n x; echo $n'` + CFLAGS="-DSOLARIS2=$solrev $CFLAGS" + ;; + *) + ;; + esac + fi ]) @@ -857,13 +904,13 @@ fi ]) -dnl Enable Linux Netfilter (2.4) Transparent Proxy +dnl Enable Linux Netfilter Transparent Proxy AC_ARG_ENABLE(linux-netfilter, [ --enable-linux-netfilter - Enable Transparent Proxy support for Linux 2.4.], + Enable Transparent Proxy support for Linux (Netfilter) systems.], [ if test "$enableval" = "yes" ; then echo "Linux-Netfilter Transparent Proxy enabled" - AC_DEFINE(LINUX_NETFILTER, 1, [Enable support for Transparent Proxy on Linux 2.4 systems]) + AC_DEFINE(LINUX_NETFILTER, 1, [Enable support for Transparent Proxy on Linux (Netfilter) systems]) LINUX_NETFILTER="yes" fi ]) @@ -938,19 +985,34 @@ CFLAGS="`getconf ${buildmodel}_CFLAGS` $CFLAGS" LIBS="`getconf ${buildmodel}_LIBS` $LIBS" LDFLAGS="`getconf ${buildmodel}_LDFLAGS` $LDFLAGS" + case "$host" in dnl dnl On Solaris getconf returns for CFLAGS -Xa and -Usun options, but: dnl -Xa is supported only by Sun cc, so we need to remove it when using gcc dnl The 'sun' define is needed by ipfilter includes, so we must remove -Usun - case "$host" in *-solaris*) if test "$GCC" = "yes"; then echo "Removing -Xa for gcc on $host" CFLAGS="`echo $CFLAGS | sed -e 's/-Xa//'`" fi - echo "Removing -Usun for gcc on $host" + echo "Removing -Usun on $host" CFLAGS="`echo $CFLAGS | sed -e 's/-Usun//'`" ;; +dnl +dnl On Irix 6.x getconf returns options valid only for the SGI MipsPRO compiler, +dnl so we must adjust something to avoid gcc errors. +dnl On Irix 6.x 32/64 bit we must replace "-n32" with "-mabi=n32" in CFLAGS and +dnl remove "-n32" from LDFLAGS +dnl On Irix 6.x 64 bit we must replace "-64" with "-mabi=64" in CFLAGS and remove +dnl "-64" from LDFLAGS + *-sgi-irix6.*) + if test "$GCC" = "yes"; then + CFLAGS="`echo $CFLAGS | sed -e 's/-n32/-mabi=n32/'`" + LDFLAGS="`echo $LDFLAGS | sed -e 's/-n32//'`" + CFLAGS="`echo $CFLAGS | sed -e 's/-64/-mabi=64/'`" + LDFLAGS="`echo $LDFLAGS | sed -e 's/-64//'`" + fi + ;; *) ;; esac @@ -1068,11 +1130,18 @@ module], [ case $enableval in yes) - for module in $srcdir/src/auth/*; do - if test -f $module/Makefile.in; then - AUTH_MODULES="$AUTH_MODULES `basename $module`" - fi - done + for module in $srcdir/src/auth/*; do + name="`basename $module`" + case $name in + CVS) # Ignore + ;; + *) + if test -d $module; then + AUTH_MODULES="$AUTH_MODULES $name" + fi + ;; + esac + done ;; no) ;; @@ -1369,6 +1438,18 @@ fi ]) +AC_ARG_ENABLE(follow-x-forwarded-for, +[ --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" = "yes" ; then + echo "follow X-Forwarded-For enabled" + AC_DEFINE(FOLLOW_X_FORWARDED_FOR, 1, [Enable following X-Forwarded-For headers]) + fi +]) + # Force some compilers to use ANSI features # case "$host" in @@ -1432,10 +1513,15 @@ AC_HEADER_STDC dnl Check for headers. sys/types.h and stddef.h and limits must be first (see below) -AC_CHECK_HEADERS( \ +AC_CHECK_HEADERS( sys/types.h \ stddef.h \ limits.h \ + sys/param.h \ + sys/socket.h \ + netinet/in.h \ + stdio.h \ + stdlib.h \ arpa/inet.h \ arpa/nameser.h \ assert.h \ @@ -1449,11 +1535,6 @@ getopt.h \ gnumalloc.h \ grp.h \ - ip_compat.h \ - ip_fil_compat.h \ - ip_fil.h \ - ip_nat.h \ - ipl.h \ libc.h \ linux/netfilter_ipv4.h \ linux/netfilter_ipv4/ip_tproxy.h \ @@ -1465,13 +1546,7 @@ net/pfvar.h \ netdb.h \ netinet/if_ether.h \ - netinet/in.h \ netinet/tcp.h \ - netinet/ip_compat.h \ - netinet/ip_fil_compat.h \ - netinet/ip_fil.h \ - netinet/ip_nat.h \ - netinet/ipl.h \ openssl/err.h \ openssl/md5.h \ openssl/ssl.h \ @@ -1483,8 +1558,6 @@ sched.h \ signal.h \ stdarg.h \ - stdio.h \ - stdlib.h \ string.h \ strings.h \ sys/bitypes.h \ @@ -1492,11 +1565,9 @@ sys/ioctl.h \ sys/mount.h \ sys/msg.h \ - sys/param.h \ sys/prctl.h \ sys/resource.h \ - sys/select.h\ - sys/socket.h \ + sys/select.h \ sys/stat.h \ sys/statvfs.h \ syscall.h \ @@ -1518,7 +1589,52 @@ nss_common.h \ nss.h \ db.h \ - db_185.h + db_185.h \ +,,,[ +#if HAVE_SYS_TYPES_H +#include +#endif +#if HAVE_STDDEF_H +#include +#endif +#if HAVE_LIMITS_H +#include +#endif +#if HAVE_SYS_PARAM_H +#include +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif +#if HAVE_STDIO_H +#include +#endif +#if HAVE_STDLIB_H +#include +#endif +#if HAVE_NETINET_IN_H +#include +#endif +#if HAVE_NET_IF_H +#include +#endif +#if HAVE_NETINET_IF_ETHER_H +#include +#endif +]) + +dnl Check for IP-Filter headers. These are a bit nasty.. +AC_CHECK_HEADERS( \ + ip_compat.h \ + ip_fil_compat.h \ + ip_fil.h \ + ip_nat.h \ + ipl.h \ + netinet/ip_compat.h \ + netinet/ip_fil_compat.h \ + netinet/ip_fil.h \ + netinet/ip_nat.h \ + netinet/ipl.h \ ,,,[ #if HAVE_SYS_TYPES_H #include @@ -1529,6 +1645,37 @@ #if HAVE_LIMITS_H #include #endif +#if HAVE_SYS_PARAM_H +#include +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif +#if HAVE_STDIO_H +#include +#endif +#if HAVE_STDLIB_H +#include +#endif +#if HAVE_NETINET_IN_H +#include +#endif +#if HAVE_NET_IF_H +#include +#endif +#if HAVE_NETINET_IF_ETHER_H +#include +#endif +#if HAVE_IP_COMPAT_H +#include +#elif HAVE_NETINET_IP_COMPAT_H +#include +#endif +#if HAVE_IP_FIL_H +#include +#elif HAVE_NETINET_IP_FIL_H +#include +#endif ]) AC_C_CONST @@ -1692,12 +1839,12 @@ AC_CHECK_SYSTYPE(int64_t,unsigned __int64) fi -AC_CHECK_TYPE(pid_t, int) -AC_CHECK_TYPE(size_t, unsigned int) -AC_CHECK_TYPE(ssize_t, int) -AC_CHECK_TYPE(off_t, int) -AC_CHECK_TYPE(mode_t, unsigned short) -AC_CHECK_TYPE(fd_mask, int) +AC_CHECK_SYSTYPE(pid_t, int) +AC_CHECK_SYSTYPE(size_t, unsigned int) +AC_CHECK_SYSTYPE(ssize_t, int) +AC_CHECK_SYSTYPE(off_t, int) +AC_CHECK_SYSTYPE(mode_t, unsigned short) +AC_CHECK_SYSTYPE(fd_mask, int) AC_CHECK_SIZEOF_SYSTYPE(off_t, 4) AC_CHECK_SIZEOF_SYSTYPE(size_t, 4) @@ -1812,18 +1959,7 @@ AC_CHECK_LIB(bsd, main) AC_CHECK_LIB(regex, main, [REGEXLIB="-lregex"]) -AC_CHECK_LIB(bind, gethostbyname) -if test $ac_cv_lib_bind_gethostbyname = "no" ; then - case "$host" in - i386-*-freebsd*) - echo "skipping libresolv checks for $host" - ;; - *) - AC_CHECK_LIB(resolv, inet_aton, AC_CHECK_LIB(44bsd, inet_aton)) - AC_CHECK_LIB(resolv, main) - ;; - esac -fi + case "$host_os" in mingw|mingw32) echo "Use MSVCRT for math functions." @@ -2135,24 +2271,38 @@ dnl Actually do the define magic now dnl mostly ripped from squid-commloops, thanks to adrian and benno -if test "$ac_cv_func_epoll_ctl" = "yes" ; then +if test -n "$SELECT_TYPE"; then + : # Nothing to do +elif test "$ac_cv_func_epoll_ctl" = "yes" ; then SELECT_TYPE="epoll" - AC_DEFINE(USE_EPOLL,1,[Use epoll() for the IO loop]) - AC_CHECK_LIB(epoll, epoll_create, [EPOLL_LIBS="-lepoll"]) - AC_SUBST(EPOLL_LIBS) elif test "$ac_cv_func_poll" = "yes" ; then SELECT_TYPE="poll" - AC_DEFINE(USE_POLL,1,[Use poll() for the IO loop]) elif test "$ac_cv_func_select" = "yes" ; then SELECT_TYPE="select" - AC_DEFINE(USE_SELECT,1,[Use select() for the IO loop]) else echo "Eep! Can't find poll, epoll, or select!" echo "I'll try select and hope for the best." SELECT_TYPE="select" - AC_DEFINE(USE_SELECT,1) fi + +case "$SELECT_TYPE" in +epoll) + AC_DEFINE(USE_EPOLL,1,[Use epoll() for the IO loop]) + AC_CHECK_LIB(epoll, epoll_create, [EPOLL_LIBS="-lepoll"]) + AC_SUBST(EPOLL_LIBS) + ;; +poll) + AC_DEFINE(USE_POLL,1,[Use poll() for the IO loop]) + ;; +select) + AC_DEFINE(USE_SELECT,1,[Use select() for the IO loop]) + ;; +*) + echo "ERROR: Unknown select loop type '$SELECT_TYPE'" + exit 1 +esac + echo "Using ${SELECT_TYPE} for select loop." AM_CONDITIONAL([USE_POLL], [test $SELECT_TYPE = poll]) AM_CONDITIONAL([USE_EPOLL], [test $SELECT_TYPE = epoll]) @@ -2275,17 +2425,6 @@ echo "WARNING: Cannot find necessary IP-Filter header files" echo " Transparent Proxy support WILL NOT be enabled" sleep 10 -elif test "$IPF_TRANSPARENT" = "yes" ; then -dnl On Solaris Ipfilter includes expect that SOLARIS2 is defined with the -dnl Solaris minor version (8, 9, 10, ...) - case "$host" in - *-solaris*) - solrev=`uname -r | sh -c 'IFS=. read j n x; echo $n'` - CFLAGS="-DSOLARIS2=$solrev $CFLAGS" - ;; - *) - ;; - esac fi dnl PF support requires a header file. @@ -2309,23 +2448,23 @@ sleep 10 fi -dnl Linux-Netfilter support requires Linux 2.4 kernel header files. +dnl Linux-Netfilter support requires Linux 2.4 or newer kernel header files. dnl Shamelessly copied from above if test "$LINUX_NETFILTER" ; then - AC_MSG_CHECKING(if Linux 2.4 kernel header files are installed) + AC_MSG_CHECKING(if Linux 2.4 or newer kernel header files are installed) # hold on to your hats... if test "$ac_cv_header_linux_netfilter_ipv4_h" = "yes"; then LINUX_NETFILTER="yes" - AC_DEFINE(LINUX_NETFILTER, 1, [Enable support for Transparent Proxy on Linux 2.4 systems]) + AC_DEFINE(LINUX_NETFILTER, 1, [Enable support for Transparent Proxy on Linux (Netfilter) systems]) else LINUX_NETFILTER="no" - AC_DEFINE(LINUX_NETFILTER, 0, [Enable support for Transparent Proxy on Linux 2.4 systems]) + AC_DEFINE(LINUX_NETFILTER, 0, [Enable support for Transparent Proxy on Linux (Netfilter) systems]) fi AC_MSG_RESULT($LINUX_NETFILTER) fi if test "$LINUX_NETFILTER" = "no" ; then - echo "WARNING: Cannot find necessary Linux 2.4 kernel header files" - echo " Linux 2.4 Transparent Proxy support WILL NOT be enabled" + echo "WARNING: Cannot find necessary Linux kernel header files" + echo " Linux Netfilter Transparent Proxy support WILL NOT be enabled" sleep 10 fi @@ -2346,7 +2485,7 @@ if test "$LINUX_TPROXY" = "no" ; then echo "WARNING: Cannot find TPROXY headers, you need to install the" echo "tproxy package from:" - echo " - lynx http://www.balabit.com/downloads/tproxy/linux-2.4/" + echo " - lynx http://www.balabit.com/downloads/tproxy/" sleep 10 fi @@ -2637,13 +2776,6 @@ AC_DEFINE(NEED_SYS_ERRLIST, 1, [If we need to declare sys_errlist[] as external]) fi -dnl Not cached since people are likely to change this -AC_MSG_CHECKING(for libresolv _dns_ttl_ hack) -AC_TRY_LINK(extern int _dns_ttl_;,return _dns_ttl_;, -[AC_MSG_RESULT(yes) -AC_DEFINE(LIBRESOLV_DNS_TTL_HACK, 1, [If libresolv.a has been hacked to export _dns_ttl_])], -AC_MSG_RESULT(no)) - AC_MSG_CHECKING(if inet_ntoa() actually works) AC_TRY_RUN([ #include @@ -2695,8 +2827,10 @@ ], [ struct statvfs sfs; -sfs.f_blocks = sfs.f_bfree = sfs.f_frsize = -sfs.f_files = sfs.f_ffree = 0; +fsblkcnt_t blocks; +fsfilcnt_t files; +blocks = sfs.f_blocks = sfs.f_bfree = sfs.f_frsize = 0; +files = sfs.f_files = sfs.f_ffree = 0; statvfs("/tmp", &sfs); ], ac_cv_func_statvfs=yes, @@ -2824,21 +2958,10 @@ src/fs/Makefile \ src/repl/Makefile \ src/auth/Makefile \ - src/auth/basic/Makefile \ - src/auth/digest/Makefile \ - src/auth/ntlm/Makefile \ - src/auth/negotiate/Makefile \ contrib/Makefile \ snmplib/Makefile \ icons/Makefile \ errors/Makefile \ - src/fs/aufs/Makefile \ - src/fs/coss/Makefile \ - src/fs/diskd/Makefile \ - src/fs/null/Makefile \ - src/fs/ufs/Makefile \ - src/repl/heap/Makefile \ - src/repl/lru/Makefile \ doc/Makefile \ helpers/Makefile \ helpers/basic_auth/Makefile \ diff -ruN squid-2.6.PRE1/doc/Makefile.am squid-2.6.PRE2/doc/Makefile.am --- squid-2.6.PRE1/doc/Makefile.am Tue May 17 10:56:01 2005 +++ squid-2.6.PRE2/doc/Makefile.am Tue May 30 17:52:10 2006 @@ -1,7 +1,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.am,v 1.3 2005/05/17 16:56:01 hno Exp $ +# $Id: Makefile.am,v 1.4 2006/05/30 23:52:10 hno Exp $ # # Uncomment and customize the following to suit your needs: # @@ -16,6 +16,7 @@ s%@DEFAULT_CACHEMGR_CONFIG@%$(DEFAULT_CACHEMGR_CONFIG)%g;\ s%@DEFAULT_ERROR_DIR@%$(DEFAULT_ERROR_DIR)%g;\ s%@DEFAULT_MIME_TABLE@%$(DEFAULT_MIME_TABLE)%g;\ + s%@""PACKAGE_STRING""@%$(PACKAGE_STRING)%g;\ " squid.8: $(srcdir)/squid.8.in Makefile diff -ruN squid-2.6.PRE1/doc/Makefile.in squid-2.6.PRE2/doc/Makefile.in --- squid-2.6.PRE1/doc/Makefile.in Thu May 25 06:42:03 2006 +++ squid-2.6.PRE2/doc/Makefile.in Tue May 30 17:52:10 2006 @@ -17,7 +17,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.22 2006/05/25 12:42:03 hno Exp $ +# $Id: Makefile.in,v 1.23 2006/05/30 23:52:10 hno Exp $ # # Uncomment and customize the following to suit your needs: # @@ -233,6 +233,7 @@ s%@DEFAULT_CACHEMGR_CONFIG@%$(DEFAULT_CACHEMGR_CONFIG)%g;\ s%@DEFAULT_ERROR_DIR@%$(DEFAULT_ERROR_DIR)%g;\ s%@DEFAULT_MIME_TABLE@%$(DEFAULT_MIME_TABLE)%g;\ + s%@""PACKAGE_STRING""@%$(PACKAGE_STRING)%g;\ " man_MANS = \ diff -ruN squid-2.6.PRE1/doc/cachemgr.cgi.8.in squid-2.6.PRE2/doc/cachemgr.cgi.8.in --- squid-2.6.PRE1/doc/cachemgr.cgi.8.in Tue May 17 10:56:01 2005 +++ squid-2.6.PRE2/doc/cachemgr.cgi.8.in Tue May 30 17:52:10 2006 @@ -1,4 +1,4 @@ -.TH cachemgr.cgi 8 2005-04-25 "squid 2.5.STABLE10" +.TH cachemgr.cgi 8 2005-04-25 "@PACKAGE_STRING@" .\" Copyright and licensing information .\" goes here. .SH NAME diff -ruN squid-2.6.PRE1/doc/squid.8.in squid-2.6.PRE2/doc/squid.8.in --- squid-2.6.PRE1/doc/squid.8.in Wed May 24 22:39:05 2006 +++ squid-2.6.PRE2/doc/squid.8.in Fri Jun 2 10:37:29 2006 @@ -1,4 +1,4 @@ -.TH squid 8 2005-04-25 "squid 2.5.STABLE10" +.TH squid 8 2006-05-29 "@PACKAGE_STRING@" .\" Copyright and licensing information .\" goes here. .SH NAME @@ -6,7 +6,7 @@ .SH SYNOPSIS .B squid [ -.B \-dhsvzCDFNRVYX +.B \-dhirsvzCDFNRVYX ] [ .BI \-l " facility" ] [ @@ -18,6 +18,10 @@ .I port ] [ .B \-k " signal" +] [ +.BI \-n " service-name" +] [ +.BI \-O " cmd-line" ] .SH DESCRIPTION .B squid @@ -69,9 +73,17 @@ .I @DEFAULT_CONFIG_FILE@ .IP -h Print help message. +.IP -i +Install as a Windows Service (see -n option). .IP "-k reconfigure | rotate | shutdown | interrupt | kill | debug | check | parse" Parse configuration file, then send signal to running copy (except -k parse) and exit. +.IP "-n name" +Specify Windows Service name to use for service operations, default is: +.BI Squid +. +.IP -r +Remove a Windows Service (see -n option). .IP -s Enable logging to syslog. .IP "-l facility" @@ -90,6 +102,8 @@ Don't serve any requests until store is rebuilt. .IP -N No daemon mode. +.IP "-O options" +Set Windows Service Command line options in Registry. .IP -R Do not set REUSEADDR on port. .IP -X @@ -128,6 +142,7 @@ .BR pam_auth "(8), " .BR squid_ldap_auth "(8), " .BR squid_ldap_group "(8), " +.BR squid_session "(8), " .BR squid_unix_group "(8), " .br .B The Squid FAQ diff -ruN squid-2.6.PRE1/include/autoconf.h.in squid-2.6.PRE2/include/autoconf.h.in --- squid-2.6.PRE1/include/autoconf.h.in Sat May 27 08:03:23 2006 +++ squid-2.6.PRE2/include/autoconf.h.in Sat Jun 3 21:01:40 2006 @@ -39,6 +39,9 @@ /* Traffic management via "delay pools". */ #undef DELAY_POOLS +/* Enable following X-Forwarded-For headers */ +#undef FOLLOW_X_FORWARDED_FOR + /* Enable Forw/Via database */ #undef FORW_VIA_DB @@ -179,15 +182,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_IP_NAT_H -/* Define to 1 if you have the `44bsd' library (-l44bsd). */ -#undef HAVE_LIB44BSD - /* Define to 1 if you have the `aio' library (-laio). */ #undef HAVE_LIBAIO -/* Define to 1 if you have the `bind' library (-lbind). */ -#undef HAVE_LIBBIND - /* Define to 1 if you have the `bsd' library (-lbsd). */ #undef HAVE_LIBBSD @@ -215,9 +212,6 @@ /* Define to 1 if you have the `pthread' library (-lpthread). */ #undef HAVE_LIBPTHREAD -/* Define to 1 if you have the `resolv' library (-lresolv). */ -#undef HAVE_LIBRESOLV - /* Define to 1 if you have the `rt' library (-lrt). */ #undef HAVE_LIBRT @@ -605,15 +599,15 @@ /* Support large cache files > 2GB */ #undef LARGE_CACHE_FILES -/* If libresolv.a has been hacked to export _dns_ttl_ */ -#undef LIBRESOLV_DNS_TTL_HACK - -/* Enable support for Transparent Proxy on Linux 2.4 systems */ +/* Enable support for Transparent Proxy on Linux (Netfilter) systems */ #undef LINUX_NETFILTER /* Enable real Transparent Proxy support for Netfilter TPROXY. */ #undef LINUX_TPROXY +/* Define to enable experimental multicast of cache miss URLs */ +#undef MULTICAST_MISS_STREAM + /* If we need to declare sys_errlist[] as external */ #undef NEED_SYS_ERRLIST @@ -811,6 +805,9 @@ /* Version number of package */ #undef VERSION +/* Define to enable experimental forward_log directive */ +#undef WIP_FWD_LOG + /* Valgrind memory debugger support */ #undef WITH_VALGRIND @@ -827,7 +824,7 @@ /* Define to empty if `const' does not conform to ANSI C. */ #undef const -/* Define to `int' if does not define. */ +/* Have int datatype */ #undef fd_mask /* Define to `__inline__' or `__inline' if that's what the C compiler @@ -845,19 +842,19 @@ /* Have unsigned __int64 datatype */ #undef int64_t -/* Define to `unsigned short' if does not define. */ +/* Have unsigned short datatype */ #undef mode_t /* message type for message queues */ #undef mtyp_t -/* Define to `int' if does not define. */ +/* Have int datatype */ #undef off_t -/* Define to `int' if does not define. */ +/* Have int datatype */ #undef pid_t -/* Define to `unsigned int' if does not define. */ +/* Have unsigned int datatype */ #undef size_t /* This makes warnings go away. If you have socklen_t defined in your @@ -865,7 +862,7 @@ defined to int. */ #undef socklen_t -/* Define to `int' if does not define. */ +/* Have int datatype */ #undef ssize_t /* Have unsigned int datatype */ diff -ruN squid-2.6.PRE1/include/config.h squid-2.6.PRE2/include/config.h --- squid-2.6.PRE1/include/config.h Sat May 27 08:25:13 2006 +++ squid-2.6.PRE2/include/config.h Fri Jun 2 11:32:44 2006 @@ -1,5 +1,5 @@ /* - * $Id: config.h,v 1.11 2006/05/27 14:25:13 serassio Exp $ + * $Id: config.h,v 1.12 2006/06/02 17:32:44 serassio Exp $ * * AUTHOR: Duane Wessels * @@ -111,6 +111,9 @@ #elif defined(__NetBSD__) #define _SQUID_NETBSD_ +#elif defined(__OpenBSD__) +#define _SQUID_OPENBSD_ + #elif defined(__CYGWIN32__) || defined(__CYGWIN__) #define _SQUID_CYGWIN_ #define _SQUID_WIN32_ @@ -138,6 +141,13 @@ #ifndef fd_mask #define fd_mask unsigned long #endif +#endif + +/* + * Don't allow inclusion of malloc.h on FreeBSD, Next and OpenBSD + */ +#if defined(HAVE_MALLOC_H) && (defined(_SQUID_FREEBSD_) || defined(_SQUID_NEXT_) || defined(_SQUID_OPENBSD_)) +#undef HAVE_MALLOC_H #endif #if !defined(CACHEMGR_HOSTNAME) diff -ruN squid-2.6.PRE1/include/version.h squid-2.6.PRE2/include/version.h --- squid-2.6.PRE1/include/version.h Mon May 29 16:53:14 2006 +++ squid-2.6.PRE2/include/version.h Tue Jun 6 11:46:18 2006 @@ -9,5 +9,5 @@ */ #ifndef SQUID_RELEASE_TIME -#define SQUID_RELEASE_TIME 1148943191 +#define SQUID_RELEASE_TIME 1149615975 #endif diff -ruN squid-2.6.PRE1/lib/hash.c squid-2.6.PRE2/lib/hash.c --- squid-2.6.PRE1/lib/hash.c Wed May 17 17:32:13 2006 +++ squid-2.6.PRE2/lib/hash.c Fri Jun 2 11:32:44 2006 @@ -1,6 +1,6 @@ /* - * $Id: hash.c,v 1.16 2006/05/17 23:32:13 hno Exp $ + * $Id: hash.c,v 1.17 2006/06/02 17:32:44 serassio Exp $ * * DEBUG: section 0 Hash Tables * AUTHOR: Harvest Derived @@ -49,7 +49,7 @@ #endif #if HAVE_GNUMALLLOC_H #include -#elif HAVE_MALLOC_H && !defined(_SQUID_FREEBSD_) && !defined(_SQUID_NEXT_) +#elif HAVE_MALLOC_H #include #endif #if HAVE_ASSERT_H diff -ruN squid-2.6.PRE1/lib/md5.c squid-2.6.PRE2/lib/md5.c --- squid-2.6.PRE1/lib/md5.c Mon May 29 12:51:21 2006 +++ squid-2.6.PRE2/lib/md5.c Wed May 31 05:01:41 2006 @@ -26,9 +26,9 @@ */ #include "config.h" -/* MS VisualStudio Projects are monolitich, so we need the following - * #ifndef to exclude the MD5 code from compile process when we are - * not build SSL support. +/* MS VisualStudio Projects are monolithic, so we need the following + * #if to exclude the MD5 code from compile process when we are + * building the SSL support. */ #if !USE_SSL #if HAVE_STRING_H diff -ruN squid-2.6.PRE1/lib/radix.c squid-2.6.PRE2/lib/radix.c --- squid-2.6.PRE1/lib/radix.c Wed May 24 21:00:33 2006 +++ squid-2.6.PRE2/lib/radix.c Fri Jun 2 11:32:44 2006 @@ -1,5 +1,5 @@ /* - * $Id: radix.c,v 1.20 2006/05/25 03:00:33 hno Exp $ + * $Id: radix.c,v 1.21 2006/06/02 17:32:44 serassio Exp $ * * DEBUG: section 53 Radix tree data structure implementation * AUTHOR: NetBSD Derived @@ -96,7 +96,7 @@ #endif #if HAVE_GNUMALLOC_H #include -#elif HAVE_MALLOC_H && !defined(_SQUID_FREEBSD_) && !defined(_SQUID_NEXT_) +#elif HAVE_MALLOC_H #include #endif #if HAVE_MEMORY_H diff -ruN squid-2.6.PRE1/lib/util.c squid-2.6.PRE2/lib/util.c --- squid-2.6.PRE1/lib/util.c Sun Oct 23 09:20:49 2005 +++ squid-2.6.PRE2/lib/util.c Fri Jun 2 11:32:44 2006 @@ -1,6 +1,6 @@ /* - * $Id: util.c,v 1.90 2005/10/23 15:20:49 hno Exp $ + * $Id: util.c,v 1.91 2006/06/02 17:32:44 serassio Exp $ * * DEBUG: * AUTHOR: Harvest Derived @@ -54,7 +54,7 @@ #endif #if HAVE_GNUMALLLOC_H #include -#elif HAVE_MALLOC_H && !defined(_SQUID_FREEBSD_) && !defined(_SQUID_NEXT_) +#elif HAVE_MALLOC_H #include #endif #if HAVE_ERRNO_H diff -ruN squid-2.6.PRE1/snmplib/asn1.c squid-2.6.PRE2/snmplib/asn1.c --- squid-2.6.PRE1/snmplib/asn1.c Tue May 17 10:56:37 2005 +++ squid-2.6.PRE2/snmplib/asn1.c Fri Jun 2 11:32:44 2006 @@ -49,7 +49,7 @@ #endif #if HAVE_GNUMALLOC_H #include -#elif HAVE_MALLOC_H && !defined(_SQUID_FREEBSD_) && !defined(_SQUID_NEXT_) +#elif HAVE_MALLOC_H #include #endif #if HAVE_MEMORY_H diff -ruN squid-2.6.PRE1/snmplib/coexistance.c squid-2.6.PRE2/snmplib/coexistance.c --- squid-2.6.PRE1/snmplib/coexistance.c Tue Feb 12 19:40:33 2002 +++ squid-2.6.PRE2/snmplib/coexistance.c Fri Jun 2 11:32:44 2006 @@ -47,7 +47,7 @@ #endif #if HAVE_GNUMALLOC_H #include -#elif HAVE_MALLOC_H && !defined(_SQUID_FREEBSD_) && !defined(_SQUID_NEXT_) +#elif HAVE_MALLOC_H #include #endif #if HAVE_MEMORY_H diff -ruN squid-2.6.PRE1/snmplib/mib.c squid-2.6.PRE2/snmplib/mib.c --- squid-2.6.PRE1/snmplib/mib.c Sun Oct 23 09:20:51 2005 +++ squid-2.6.PRE2/snmplib/mib.c Fri Jun 2 11:32:44 2006 @@ -39,7 +39,7 @@ #endif #if HAVE_GNUMALLOC_H #include -#elif HAVE_MALLOC_H && !defined(_SQUID_FREEBSD_) && !defined(_SQUID_NEXT_) +#elif HAVE_MALLOC_H #include #endif #if HAVE_MEMORY_H diff -ruN squid-2.6.PRE1/snmplib/parse.c squid-2.6.PRE2/snmplib/parse.c --- squid-2.6.PRE1/snmplib/parse.c Wed May 17 13:57:54 2006 +++ squid-2.6.PRE2/snmplib/parse.c Fri Jun 2 11:32:44 2006 @@ -41,7 +41,7 @@ #endif #if HAVE_GNUMALLOC_H #include -#elif HAVE_MALLOC_H && !defined(_SQUID_FREEBSD_) && !defined(_SQUID_NEXT_) +#elif HAVE_MALLOC_H #include #endif #if HAVE_MEMORY_H diff -ruN squid-2.6.PRE1/snmplib/snmp_api.c squid-2.6.PRE2/snmplib/snmp_api.c --- squid-2.6.PRE1/snmplib/snmp_api.c Tue May 17 10:56:37 2005 +++ squid-2.6.PRE2/snmplib/snmp_api.c Fri Jun 2 11:32:44 2006 @@ -42,7 +42,7 @@ #endif #if HAVE_GNUMALLOC_H #include -#elif HAVE_MALLOC_H && !defined(_SQUID_FREEBSD_) && !defined(_SQUID_NEXT_) +#elif HAVE_MALLOC_H #include #endif #if HAVE_MEMORY_H diff -ruN squid-2.6.PRE1/snmplib/snmp_msg.c squid-2.6.PRE2/snmplib/snmp_msg.c --- squid-2.6.PRE1/snmplib/snmp_msg.c Tue Oct 23 23:26:12 2001 +++ squid-2.6.PRE2/snmplib/snmp_msg.c Fri Jun 2 11:32:45 2006 @@ -51,7 +51,7 @@ #endif #if HAVE_GNUMALLOC_H #include -#elif HAVE_MALLOC_H && !defined(_SQUID_FREEBSD_) && !defined(_SQUID_NEXT_) +#elif HAVE_MALLOC_H #include #endif #if HAVE_MEMORY_H diff -ruN squid-2.6.PRE1/snmplib/snmp_pdu.c squid-2.6.PRE2/snmplib/snmp_pdu.c --- squid-2.6.PRE1/snmplib/snmp_pdu.c Tue Feb 12 19:40:33 2002 +++ squid-2.6.PRE2/snmplib/snmp_pdu.c Fri Jun 2 11:32:45 2006 @@ -51,7 +51,7 @@ #endif #if HAVE_GNUMALLOC_H #include -#elif HAVE_MALLOC_H && !defined(_SQUID_FREEBSD_) && !defined(_SQUID_NEXT_) +#elif HAVE_MALLOC_H #include #endif #if HAVE_MEMORY_H diff -ruN squid-2.6.PRE1/snmplib/snmp_vars.c squid-2.6.PRE2/snmplib/snmp_vars.c --- squid-2.6.PRE1/snmplib/snmp_vars.c Wed Feb 13 14:49:48 2002 +++ squid-2.6.PRE2/snmplib/snmp_vars.c Fri Jun 2 11:32:45 2006 @@ -50,7 +50,7 @@ #endif #if HAVE_GNUMALLOC_H #include -#elif HAVE_MALLOC_H && !defined(_SQUID_FREEBSD_) && !defined(_SQUID_NEXT_) +#elif HAVE_MALLOC_H #include #endif #if HAVE_MEMORY_H diff -ruN squid-2.6.PRE1/src/HttpReply.c squid-2.6.PRE2/src/HttpReply.c --- squid-2.6.PRE1/src/HttpReply.c Thu May 25 05:59:29 2006 +++ squid-2.6.PRE2/src/HttpReply.c Mon Jun 5 16:01:22 2006 @@ -1,6 +1,6 @@ /* - * $Id: HttpReply.c,v 1.53 2006/05/25 11:59:29 hno Exp $ + * $Id: HttpReply.c,v 1.55 2006/06/05 22:01:22 hno Exp $ * * DEBUG: section 58 HTTP Reply (Response) * AUTHOR: Alex Rousskov @@ -116,7 +116,7 @@ } /* absorb: copy the contents of a new reply to the old one, destroy new one */ -void +static void httpReplyAbsorb(HttpReply * rep, HttpReply * new_rep) { assert(rep && new_rep); @@ -182,16 +182,21 @@ return mb; } -/* swap: create swap-based packer, pack, destroy packer */ +/* swap: create swap-based packer, pack, destroy packer. Absorbs the reply */ void -httpReplySwapOut(const HttpReply * rep, StoreEntry * e) +httpReplySwapOut(HttpReply * rep, StoreEntry * e) { Packer p; assert(rep && e); + if (rep != e->mem_obj->reply) { + httpReplyAbsorb(e->mem_obj->reply, rep); + rep = e->mem_obj->reply; + } packerToStoreInit(&p, e); - httpReplyPackInto(rep, &p); + httpReplyPackInto(e->mem_obj->reply, &p); packerClean(&p); + rep->hdr_sz = e->mem_obj->inmem_hi; } #if UNUSED_CODE @@ -239,7 +244,6 @@ httpStatusLineSet(&reply->sline, ver, status, reason); hdr = &reply->header; httpHeaderPutStr(hdr, HDR_SERVER, visible_appname_string); - httpHeaderPutStr(hdr, HDR_MIME_VERSION, "1.0"); httpHeaderPutTime(hdr, HDR_DATE, squid_curtime); if (ctype) { httpHeaderPutStr(hdr, HDR_CONTENT_TYPE, ctype); @@ -256,6 +260,7 @@ reply->content_length = clen; reply->expires = expires; reply->last_modified = lmt; + reply->pstate = psParsed; } void @@ -273,6 +278,7 @@ httpHeaderPutStr(hdr, HDR_LOCATION, loc); reply->date = squid_curtime; reply->content_length = 0; + reply->pstate = psParsed; } void diff -ruN squid-2.6.PRE1/src/HttpRequest.c squid-2.6.PRE2/src/HttpRequest.c --- squid-2.6.PRE1/src/HttpRequest.c Sat May 27 05:42:29 2006 +++ squid-2.6.PRE2/src/HttpRequest.c Mon Jun 5 23:57:55 2006 @@ -1,6 +1,6 @@ /* - * $Id: HttpRequest.c,v 1.39 2006/05/27 11:42:29 hno Exp $ + * $Id: HttpRequest.c,v 1.40 2006/06/06 05:57:55 hno Exp $ * * DEBUG: section 73 HTTP Request * AUTHOR: Duane Wessels @@ -80,6 +80,9 @@ } assert(req->etags == NULL); safe_free(req->etag); + if (req->pinned_connection) + cbdataUnlock(req->pinned_connection); + req->pinned_connection = NULL; memFree(req, MEM_REQUEST_T); } diff -ruN squid-2.6.PRE1/src/Makefile.am squid-2.6.PRE2/src/Makefile.am --- squid-2.6.PRE1/src/Makefile.am Thu May 25 05:59:29 2006 +++ squid-2.6.PRE2/src/Makefile.am Fri Jun 2 06:05:33 2006 @@ -1,7 +1,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.am,v 1.46 2006/05/25 11:59:29 hno Exp $ +# $Id: Makefile.am,v 1.47 2006/06/02 12:05:33 serassio Exp $ # # Uncomment and customize the following to suit your needs: # @@ -355,7 +355,8 @@ s%@DEFAULT_MIB_PATH@%$(DEFAULT_MIB_PATH)%g;\ s%@DEFAULT_ERROR_DIR@%$(DEFAULT_ERROR_DIR)%g;\ s%@DEFAULT_PREFIX@%$(DEFAULT_PREFIX)%g;\ - s%@DEFAULT_HOSTS@%$(DEFAULT_HOSTS)%g;"\ + s%@DEFAULT_HOSTS@%$(DEFAULT_HOSTS)%g;\ + s%@[V]ERSION@%$(VERSION)%g;"\ < $(srcdir)/cf.data.pre >$@ store_modules.c: store_modules.sh Makefile diff -ruN squid-2.6.PRE1/src/Makefile.in squid-2.6.PRE2/src/Makefile.in --- squid-2.6.PRE1/src/Makefile.in Thu May 25 06:42:23 2006 +++ squid-2.6.PRE2/src/Makefile.in Fri Jun 2 06:09:55 2006 @@ -17,7 +17,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.266 2006/05/25 12:42:23 hno Exp $ +# $Id: Makefile.in,v 1.267 2006/06/02 12:09:55 serassio Exp $ # # Uncomment and customize the following to suit your needs: # @@ -1191,7 +1191,8 @@ s%@DEFAULT_MIB_PATH@%$(DEFAULT_MIB_PATH)%g;\ s%@DEFAULT_ERROR_DIR@%$(DEFAULT_ERROR_DIR)%g;\ s%@DEFAULT_PREFIX@%$(DEFAULT_PREFIX)%g;\ - s%@DEFAULT_HOSTS@%$(DEFAULT_HOSTS)%g;"\ + s%@DEFAULT_HOSTS@%$(DEFAULT_HOSTS)%g;\ + s%@[V]ERSION@%$(VERSION)%g;"\ < $(srcdir)/cf.data.pre >$@ store_modules.c: store_modules.sh Makefile diff -ruN squid-2.6.PRE1/src/MemPool.c squid-2.6.PRE2/src/MemPool.c --- squid-2.6.PRE1/src/MemPool.c Sat May 27 07:33:27 2006 +++ squid-2.6.PRE2/src/MemPool.c Tue Jun 6 11:43:08 2006 @@ -1,6 +1,6 @@ /* - * $Id: MemPool.c,v 1.34 2006/05/27 13:33:27 hno Exp $ + * $Id: MemPool.c,v 1.37 2006/06/06 17:43:08 hno Exp $ * * DEBUG: section 63 Low Level Memory Pool Management * AUTHOR: Alex Rousskov @@ -385,8 +385,26 @@ return TheMeter.alloc.level; } -void -memPoolReport(const MemPool * pool, StoreEntry * e) +#if DEBUG_MEMPOOL +static void +memPoolDiffReport(const MemPool * pool, StoreEntry * e) +{ + assert(pool); + MemPoolMeter diff = pool->meter; + diff.alloc.level -= pool->diff_meter.alloc.level; + diff.inuse.level -= pool->diff_meter.inuse.level; + diff.idle.level -= pool->diff_meter.idle.level; + if (diff.alloc.level == 0 && diff.inuse.level == 0) + return; + storeAppendPrintf(e, " \t \t "); + memPoolMeterReport(&diff, pool->obj_size, + diff.alloc.level, pool->meter.inuse.level, pool->meter.idle.level, + e); +} +#endif + +static void +memPoolReport(MemPool * pool, StoreEntry * e, int diff) { assert(pool); storeAppendPrintf(e, "%-20s\t %4d\t ", @@ -394,6 +412,12 @@ memPoolMeterReport(&pool->meter, pool->obj_size, pool->meter.alloc.level, pool->meter.inuse.level, pool->meter.idle.level, e); +#if DEBUG_MEMPOOL + if (diff) + memPoolDiffReport(pool, e); + if (diff < 0) + pool->diff_meter = pool->meter; +#endif } void @@ -404,6 +428,19 @@ int inuse_count = 0; int idle_count = 0; int i; + int diff = 0; +#if DEBUG_MEMPOOL + char *arg = strrchr(e->mem_obj->url, '/'); + if (arg) { + arg++; + if (strcmp(arg, "reset") == 0) + diff = -1; + else if (strcmp(arg, "diff") == 0) + diff = 1; + } + storeAppendPrintf(e, "action:mem/diff\tView diff\n"); + storeAppendPrintf(e, "action:mem/reset\tReset diff\n"); +#endif /* caption */ storeAppendPrintf(e, "Current memory usage:\n"); /* heading */ @@ -419,9 +456,9 @@ "\n"); /* main table */ for (i = 0; i < Pools.count; i++) { - const MemPool *pool = Pools.items[i]; + MemPool *pool = Pools.items[i]; if (memPoolWasUsed(pool)) { - memPoolReport(pool, e); + memPoolReport(pool, e, diff); alloc_count += pool->meter.alloc.level; inuse_count += pool->meter.inuse.level; idle_count += pool->meter.idle.level; diff -ruN squid-2.6.PRE1/src/access_log.c squid-2.6.PRE2/src/access_log.c --- squid-2.6.PRE1/src/access_log.c Wed May 17 17:17:02 2006 +++ squid-2.6.PRE2/src/access_log.c Sat Jun 3 15:04:53 2006 @@ -1,6 +1,6 @@ /* - * $Id: access_log.c,v 1.80 2006/05/17 23:17:02 hno Exp $ + * $Id: access_log.c,v 1.81 2006/06/03 21:04:53 serassio Exp $ * * DEBUG: section 46 Access Log * AUTHOR: Duane Wessels @@ -787,7 +787,7 @@ lt->zero = 1; cur++; } - if (isdigit(*cur)) + if (isdigit((int) *cur)) lt->width = strtol(cur, &cur, 10); if (*cur == '.') lt->precision = strtol(cur + 1, &cur, 10); diff -ruN squid-2.6.PRE1/src/acl.c squid-2.6.PRE2/src/acl.c --- squid-2.6.PRE1/src/acl.c Sun May 28 17:11:15 2006 +++ squid-2.6.PRE2/src/acl.c Sat Jun 3 20:27:54 2006 @@ -1,6 +1,6 @@ /* - * $Id: acl.c,v 1.300 2006/05/28 23:11:15 hno Exp $ + * $Id: acl.c,v 1.302 2006/06/04 02:27:54 hno Exp $ * * DEBUG: section 28 Access Control * AUTHOR: Duane Wessels @@ -158,6 +158,8 @@ return ACL_BROWSER; if (!strcmp(s, "referer_regex")) return ACL_REFERER_REGEX; + if (!strcmp(s, "referrer_regex")) + return ACL_REFERER_REGEX; if (!strcmp(s, "proxy_auth")) return ACL_PROXY_AUTH; if (!strcmp(s, "proxy_auth_regex")) @@ -2370,7 +2372,12 @@ cbdataLock(A); if (request != NULL) { checklist->request = requestLink(request); - checklist->src_addr = request->client_addr; +#if FOLLOW_X_FORWARDED_FOR + if (Config.onoff.acl_uses_indirect_client) { + checklist->src_addr = request->indirect_client_addr; + } else +#endif /* FOLLOW_X_FORWARDED_FOR */ + checklist->src_addr = request->client_addr; checklist->my_addr = request->my_addr; checklist->my_port = request->my_port; } diff -ruN squid-2.6.PRE1/src/asn.c squid-2.6.PRE2/src/asn.c --- squid-2.6.PRE1/src/asn.c Sun May 28 18:49:33 2006 +++ squid-2.6.PRE2/src/asn.c Mon Jun 5 16:47:01 2006 @@ -1,6 +1,6 @@ /* - * $Id: asn.c,v 1.83 2006/05/29 00:49:33 hno Exp $ + * $Id: asn.c,v 1.84 2006/06/05 22:47:01 hno Exp $ * * DEBUG: section 53 AS Number handling * AUTHOR: Duane Wessels, Kostas Anagnostakis @@ -204,11 +204,11 @@ asState->request = requestLink(req); if ((e = storeGetPublic(asres, METHOD_GET)) == NULL) { e = storeCreateEntry(asres, asres, null_request_flags, METHOD_GET); - asState->sc = storeClientListAdd(e, asState); + asState->sc = storeClientRegister(e, asState); fwdStart(-1, e, asState->request); } else { storeLockObject(e); - asState->sc = storeClientListAdd(e, asState); + asState->sc = storeClientRegister(e, asState); } asState->entry = e; asState->seen = 0; @@ -305,7 +305,7 @@ { ASState *asState = data; debug(53, 3) ("asnStateFree: %s\n", storeUrl(asState->entry)); - storeUnregister(asState->sc, asState->entry, asState); + storeClientUnregister(asState->sc, asState->entry, asState); storeUnlockObject(asState->entry); requestUnlink(asState->request); cbdataFree(asState); diff -ruN squid-2.6.PRE1/src/auth/Makefile.am squid-2.6.PRE2/src/auth/Makefile.am --- squid-2.6.PRE1/src/auth/Makefile.am Tue May 23 14:28:20 2006 +++ squid-2.6.PRE2/src/auth/Makefile.am Fri Jun 2 15:35:38 2006 @@ -1,11 +1,8 @@ # Makefile for authentication modules in the Squid Object Cache server # -# $Id: Makefile.am,v 1.3 2006/05/23 20:28:20 serassio Exp $ +# $Id: Makefile.am,v 1.4 2006/06/02 21:35:38 hno Exp $ # AUTOMAKE_OPTIONS = subdir-objects - -DIST_SUBDIRS = basic digest ntlm negotiate -SUBDIRS = @AUTH_MODULES@ EXTRA_LIBRARIES = libbasic.a libdigest.a libntlm.a libnegotiate.a noinst_LIBRARIES = @AUTH_LIBS@ diff -ruN squid-2.6.PRE1/src/auth/Makefile.in squid-2.6.PRE2/src/auth/Makefile.in --- squid-2.6.PRE1/src/auth/Makefile.in Thu May 25 06:42:26 2006 +++ squid-2.6.PRE2/src/auth/Makefile.in Fri Jun 2 15:35:38 2006 @@ -76,12 +76,6 @@ $(libnegotiate_a_SOURCES) $(libntlm_a_SOURCES) DIST_SOURCES = $(libbasic_a_SOURCES) $(libdigest_a_SOURCES) \ $(libnegotiate_a_SOURCES) $(libntlm_a_SOURCES) -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -252,11 +246,9 @@ # Makefile for authentication modules in the Squid Object Cache server # -# $Id: Makefile.in,v 1.28 2006/05/25 12:42:26 hno Exp $ +# $Id: Makefile.in,v 1.29 2006/06/02 21:35:38 hno Exp $ # AUTOMAKE_OPTIONS = subdir-objects -DIST_SUBDIRS = basic digest ntlm negotiate -SUBDIRS = @AUTH_MODULES@ EXTRA_LIBRARIES = libbasic.a libdigest.a libntlm.a libnegotiate.a noinst_LIBRARIES = @AUTH_LIBS@ libbasic_a_SOURCES = basic/auth_basic.c basic/auth_basic.h @@ -266,7 +258,7 @@ INCLUDES = -I. -I$(top_builddir)/include -I$(top_srcdir)/include \ -I$(top_srcdir)/src -all: all-recursive +all: all-am .SUFFIXES: .SUFFIXES: .c .o .obj @@ -383,77 +375,6 @@ @am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` uninstall-info-am: -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -464,23 +385,10 @@ mkid -fID $$unique tags: TAGS -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ @@ -493,7 +401,7 @@ $$tags $$unique; \ fi ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ @@ -542,35 +450,19 @@ || exit 1; \ fi; \ done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - distdir) \ - || exit 1; \ - fi; \ - done check-am: all-am -check: check-recursive +check: check-am all-am: Makefile $(LIBRARIES) -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -installcheck: installcheck-recursive +installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ @@ -594,23 +486,23 @@ maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive +clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am -distclean: distclean-recursive +distclean: distclean-am -rm -rf basic/$(DEPDIR) digest/$(DEPDIR) negotiate/$(DEPDIR) ntlm/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags -dvi: dvi-recursive +dvi: dvi-am dvi-am: -html: html-recursive +html: html-am -info: info-recursive +info: info-am info-am: @@ -618,45 +510,41 @@ install-exec-am: -install-info: install-info-recursive +install-info: install-info-am install-man: installcheck-am: -maintainer-clean: maintainer-clean-recursive +maintainer-clean: maintainer-clean-am -rm -rf basic/$(DEPDIR) digest/$(DEPDIR) negotiate/$(DEPDIR) ntlm/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic -mostlyclean: mostlyclean-recursive +mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic -pdf: pdf-recursive +pdf: pdf-am pdf-am: -ps: ps-recursive +ps: ps-am ps-am: uninstall-am: uninstall-info-am -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-noinstLIBRARIES clean-recursive \ - ctags ctags-recursive distclean distclean-compile \ - distclean-generic distclean-recursive distclean-tags distdir \ - dvi dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-exec install-exec-am \ - install-info install-info-am install-man install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-recursive pdf pdf-am ps ps-am \ - tags tags-recursive uninstall uninstall-am uninstall-info-am +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-noinstLIBRARIES ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-info-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -ruN squid-2.6.PRE1/src/auth/basic/Makefile.am squid-2.6.PRE2/src/auth/basic/Makefile.am --- squid-2.6.PRE1/src/auth/basic/Makefile.am Wed Jun 26 04:37:43 2002 +++ squid-2.6.PRE2/src/auth/basic/Makefile.am Wed Dec 31 17:00:00 1969 @@ -1 +0,0 @@ -SUBDIRS = diff -ruN squid-2.6.PRE1/src/auth/basic/Makefile.in squid-2.6.PRE2/src/auth/basic/Makefile.in --- squid-2.6.PRE1/src/auth/basic/Makefile.in Thu May 25 06:42:26 2006 +++ squid-2.6.PRE2/src/auth/basic/Makefile.in Wed Dec 31 17:00:00 1969 @@ -1,524 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = src/auth/basic -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/cfgaux/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/autoconf.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AR_R = @AR_R@ -AUTH_LIBS = @AUTH_LIBS@ -AUTH_MODULES = @AUTH_MODULES@ -AUTH_OBJS = @AUTH_OBJS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BASIC_AUTH_HELPERS = @BASIC_AUTH_HELPERS@ -CACHE_HTTP_PORT = @CACHE_HTTP_PORT@ -CACHE_ICP_PORT = @CACHE_ICP_PORT@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CGIEXT = @CGIEXT@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CRYPTLIB = @CRYPTLIB@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -ENABLE_HTCP_FALSE = @ENABLE_HTCP_FALSE@ -ENABLE_HTCP_TRUE = @ENABLE_HTCP_TRUE@ -ENABLE_PINGER_FALSE = @ENABLE_PINGER_FALSE@ -ENABLE_PINGER_TRUE = @ENABLE_PINGER_TRUE@ -ENABLE_SSL_FALSE = @ENABLE_SSL_FALSE@ -ENABLE_SSL_TRUE = @ENABLE_SSL_TRUE@ -ENABLE_UNLINKD_FALSE = @ENABLE_UNLINKD_FALSE@ -ENABLE_UNLINKD_TRUE = @ENABLE_UNLINKD_TRUE@ -ENABLE_WIN32SPECIFIC_FALSE = @ENABLE_WIN32SPECIFIC_FALSE@ -ENABLE_WIN32SPECIFIC_TRUE = @ENABLE_WIN32SPECIFIC_TRUE@ -EPOLL_LIBS = @EPOLL_LIBS@ -ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ -ERR_LANGUAGES = @ERR_LANGUAGES@ -EXEEXT = @EXEEXT@ -EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@ -FALSE = @FALSE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBDLMALLOC = @LIBDLMALLOC@ -LIBOBJS = @LIBOBJS@ -LIBREGEX = @LIBREGEX@ -LIBS = @LIBS@ -LIBSASL = @LIBSASL@ -LIB_DB = @LIB_DB@ -LIB_EPOLL = @LIB_EPOLL@ -LIB_LBER = @LIB_LBER@ -LIB_LDAP = @LIB_LDAP@ -LIB_MALLOC = @LIB_MALLOC@ -LN = @LN@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MAKE_LEAKFINDER_FALSE = @MAKE_LEAKFINDER_FALSE@ -MAKE_LEAKFINDER_TRUE = @MAKE_LEAKFINDER_TRUE@ -MKDIR = @MKDIR@ -MV = @MV@ -NEED_OWN_MD5_FALSE = @NEED_OWN_MD5_FALSE@ -NEED_OWN_MD5_TRUE = @NEED_OWN_MD5_TRUE@ -NEED_OWN_SNPRINTF_FALSE = @NEED_OWN_SNPRINTF_FALSE@ -NEED_OWN_SNPRINTF_TRUE = @NEED_OWN_SNPRINTF_TRUE@ -NEED_OWN_STRSEP_FALSE = @NEED_OWN_STRSEP_FALSE@ -NEED_OWN_STRSEP_TRUE = @NEED_OWN_STRSEP_TRUE@ -NEGOTIATE_AUTH_HELPERS = @NEGOTIATE_AUTH_HELPERS@ -NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@ -OBJEXT = @OBJEXT@ -OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PERL = @PERL@ -PKGCONFIG = @PKGCONFIG@ -RANLIB = @RANLIB@ -REGEXLIB = @REGEXLIB@ -REPL_LIBS = @REPL_LIBS@ -REPL_OBJS = @REPL_OBJS@ -REPL_POLICIES = @REPL_POLICIES@ -RM = @RM@ -SET_MAKE = @SET_MAKE@ -SH = @SH@ -SHELL = @SHELL@ -SNMPLIB = @SNMPLIB@ -SSLLIB = @SSLLIB@ -STORE_LIBS = @STORE_LIBS@ -STORE_MODULES = @STORE_MODULES@ -STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@ -STORE_OBJS = @STORE_OBJS@ -STRIP = @STRIP@ -TRUE = @TRUE@ -USE_DELAY_POOLS_FALSE = @USE_DELAY_POOLS_FALSE@ -USE_DELAY_POOLS_TRUE = @USE_DELAY_POOLS_TRUE@ -USE_DNSSERVER_FALSE = @USE_DNSSERVER_FALSE@ -USE_DNSSERVER_TRUE = @USE_DNSSERVER_TRUE@ -USE_EPOLL_FALSE = @USE_EPOLL_FALSE@ -USE_EPOLL_TRUE = @USE_EPOLL_TRUE@ -USE_POLL_FALSE = @USE_POLL_FALSE@ -USE_POLL_TRUE = @USE_POLL_TRUE@ -USE_SELECT_FALSE = @USE_SELECT_FALSE@ -USE_SELECT_TRUE = @USE_SELECT_TRUE@ -USE_SNMP_FALSE = @USE_SNMP_FALSE@ -USE_SNMP_TRUE = @USE_SNMP_TRUE@ -VERSION = @VERSION@ -XTRA_LIBS = @XTRA_LIBS@ -XTRA_OBJS = @XTRA_OBJS@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -makesnmplib = @makesnmplib@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -SUBDIRS = -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/auth/basic/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/auth/basic/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -info: info-recursive - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-info-am - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-recursive ctags ctags-recursive \ - distclean distclean-generic distclean-recursive distclean-tags \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -ruN squid-2.6.PRE1/src/auth/digest/Makefile.am squid-2.6.PRE2/src/auth/digest/Makefile.am --- squid-2.6.PRE1/src/auth/digest/Makefile.am Wed Jun 26 04:38:02 2002 +++ squid-2.6.PRE2/src/auth/digest/Makefile.am Wed Dec 31 17:00:00 1969 @@ -1 +0,0 @@ -SUBDIRS = diff -ruN squid-2.6.PRE1/src/auth/digest/Makefile.in squid-2.6.PRE2/src/auth/digest/Makefile.in --- squid-2.6.PRE1/src/auth/digest/Makefile.in Thu May 25 06:42:26 2006 +++ squid-2.6.PRE2/src/auth/digest/Makefile.in Wed Dec 31 17:00:00 1969 @@ -1,524 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = src/auth/digest -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/cfgaux/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/autoconf.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AR_R = @AR_R@ -AUTH_LIBS = @AUTH_LIBS@ -AUTH_MODULES = @AUTH_MODULES@ -AUTH_OBJS = @AUTH_OBJS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BASIC_AUTH_HELPERS = @BASIC_AUTH_HELPERS@ -CACHE_HTTP_PORT = @CACHE_HTTP_PORT@ -CACHE_ICP_PORT = @CACHE_ICP_PORT@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CGIEXT = @CGIEXT@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CRYPTLIB = @CRYPTLIB@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -ENABLE_HTCP_FALSE = @ENABLE_HTCP_FALSE@ -ENABLE_HTCP_TRUE = @ENABLE_HTCP_TRUE@ -ENABLE_PINGER_FALSE = @ENABLE_PINGER_FALSE@ -ENABLE_PINGER_TRUE = @ENABLE_PINGER_TRUE@ -ENABLE_SSL_FALSE = @ENABLE_SSL_FALSE@ -ENABLE_SSL_TRUE = @ENABLE_SSL_TRUE@ -ENABLE_UNLINKD_FALSE = @ENABLE_UNLINKD_FALSE@ -ENABLE_UNLINKD_TRUE = @ENABLE_UNLINKD_TRUE@ -ENABLE_WIN32SPECIFIC_FALSE = @ENABLE_WIN32SPECIFIC_FALSE@ -ENABLE_WIN32SPECIFIC_TRUE = @ENABLE_WIN32SPECIFIC_TRUE@ -EPOLL_LIBS = @EPOLL_LIBS@ -ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ -ERR_LANGUAGES = @ERR_LANGUAGES@ -EXEEXT = @EXEEXT@ -EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@ -FALSE = @FALSE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBDLMALLOC = @LIBDLMALLOC@ -LIBOBJS = @LIBOBJS@ -LIBREGEX = @LIBREGEX@ -LIBS = @LIBS@ -LIBSASL = @LIBSASL@ -LIB_DB = @LIB_DB@ -LIB_EPOLL = @LIB_EPOLL@ -LIB_LBER = @LIB_LBER@ -LIB_LDAP = @LIB_LDAP@ -LIB_MALLOC = @LIB_MALLOC@ -LN = @LN@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MAKE_LEAKFINDER_FALSE = @MAKE_LEAKFINDER_FALSE@ -MAKE_LEAKFINDER_TRUE = @MAKE_LEAKFINDER_TRUE@ -MKDIR = @MKDIR@ -MV = @MV@ -NEED_OWN_MD5_FALSE = @NEED_OWN_MD5_FALSE@ -NEED_OWN_MD5_TRUE = @NEED_OWN_MD5_TRUE@ -NEED_OWN_SNPRINTF_FALSE = @NEED_OWN_SNPRINTF_FALSE@ -NEED_OWN_SNPRINTF_TRUE = @NEED_OWN_SNPRINTF_TRUE@ -NEED_OWN_STRSEP_FALSE = @NEED_OWN_STRSEP_FALSE@ -NEED_OWN_STRSEP_TRUE = @NEED_OWN_STRSEP_TRUE@ -NEGOTIATE_AUTH_HELPERS = @NEGOTIATE_AUTH_HELPERS@ -NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@ -OBJEXT = @OBJEXT@ -OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PERL = @PERL@ -PKGCONFIG = @PKGCONFIG@ -RANLIB = @RANLIB@ -REGEXLIB = @REGEXLIB@ -REPL_LIBS = @REPL_LIBS@ -REPL_OBJS = @REPL_OBJS@ -REPL_POLICIES = @REPL_POLICIES@ -RM = @RM@ -SET_MAKE = @SET_MAKE@ -SH = @SH@ -SHELL = @SHELL@ -SNMPLIB = @SNMPLIB@ -SSLLIB = @SSLLIB@ -STORE_LIBS = @STORE_LIBS@ -STORE_MODULES = @STORE_MODULES@ -STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@ -STORE_OBJS = @STORE_OBJS@ -STRIP = @STRIP@ -TRUE = @TRUE@ -USE_DELAY_POOLS_FALSE = @USE_DELAY_POOLS_FALSE@ -USE_DELAY_POOLS_TRUE = @USE_DELAY_POOLS_TRUE@ -USE_DNSSERVER_FALSE = @USE_DNSSERVER_FALSE@ -USE_DNSSERVER_TRUE = @USE_DNSSERVER_TRUE@ -USE_EPOLL_FALSE = @USE_EPOLL_FALSE@ -USE_EPOLL_TRUE = @USE_EPOLL_TRUE@ -USE_POLL_FALSE = @USE_POLL_FALSE@ -USE_POLL_TRUE = @USE_POLL_TRUE@ -USE_SELECT_FALSE = @USE_SELECT_FALSE@ -USE_SELECT_TRUE = @USE_SELECT_TRUE@ -USE_SNMP_FALSE = @USE_SNMP_FALSE@ -USE_SNMP_TRUE = @USE_SNMP_TRUE@ -VERSION = @VERSION@ -XTRA_LIBS = @XTRA_LIBS@ -XTRA_OBJS = @XTRA_OBJS@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -makesnmplib = @makesnmplib@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -SUBDIRS = -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/auth/digest/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/auth/digest/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -info: info-recursive - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-info-am - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-recursive ctags ctags-recursive \ - distclean distclean-generic distclean-recursive distclean-tags \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -ruN squid-2.6.PRE1/src/auth/negotiate/Makefile.am squid-2.6.PRE2/src/auth/negotiate/Makefile.am --- squid-2.6.PRE1/src/auth/negotiate/Makefile.am Mon May 15 16:06:49 2006 +++ squid-2.6.PRE2/src/auth/negotiate/Makefile.am Wed Dec 31 17:00:00 1969 @@ -1 +0,0 @@ -SUBDIRS = diff -ruN squid-2.6.PRE1/src/auth/negotiate/Makefile.in squid-2.6.PRE2/src/auth/negotiate/Makefile.in --- squid-2.6.PRE1/src/auth/negotiate/Makefile.in Thu May 25 06:42:26 2006 +++ squid-2.6.PRE2/src/auth/negotiate/Makefile.in Wed Dec 31 17:00:00 1969 @@ -1,524 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = src/auth/negotiate -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/cfgaux/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/autoconf.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AR_R = @AR_R@ -AUTH_LIBS = @AUTH_LIBS@ -AUTH_MODULES = @AUTH_MODULES@ -AUTH_OBJS = @AUTH_OBJS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BASIC_AUTH_HELPERS = @BASIC_AUTH_HELPERS@ -CACHE_HTTP_PORT = @CACHE_HTTP_PORT@ -CACHE_ICP_PORT = @CACHE_ICP_PORT@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CGIEXT = @CGIEXT@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CRYPTLIB = @CRYPTLIB@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -ENABLE_HTCP_FALSE = @ENABLE_HTCP_FALSE@ -ENABLE_HTCP_TRUE = @ENABLE_HTCP_TRUE@ -ENABLE_PINGER_FALSE = @ENABLE_PINGER_FALSE@ -ENABLE_PINGER_TRUE = @ENABLE_PINGER_TRUE@ -ENABLE_SSL_FALSE = @ENABLE_SSL_FALSE@ -ENABLE_SSL_TRUE = @ENABLE_SSL_TRUE@ -ENABLE_UNLINKD_FALSE = @ENABLE_UNLINKD_FALSE@ -ENABLE_UNLINKD_TRUE = @ENABLE_UNLINKD_TRUE@ -ENABLE_WIN32SPECIFIC_FALSE = @ENABLE_WIN32SPECIFIC_FALSE@ -ENABLE_WIN32SPECIFIC_TRUE = @ENABLE_WIN32SPECIFIC_TRUE@ -EPOLL_LIBS = @EPOLL_LIBS@ -ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ -ERR_LANGUAGES = @ERR_LANGUAGES@ -EXEEXT = @EXEEXT@ -EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@ -FALSE = @FALSE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBDLMALLOC = @LIBDLMALLOC@ -LIBOBJS = @LIBOBJS@ -LIBREGEX = @LIBREGEX@ -LIBS = @LIBS@ -LIBSASL = @LIBSASL@ -LIB_DB = @LIB_DB@ -LIB_EPOLL = @LIB_EPOLL@ -LIB_LBER = @LIB_LBER@ -LIB_LDAP = @LIB_LDAP@ -LIB_MALLOC = @LIB_MALLOC@ -LN = @LN@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MAKE_LEAKFINDER_FALSE = @MAKE_LEAKFINDER_FALSE@ -MAKE_LEAKFINDER_TRUE = @MAKE_LEAKFINDER_TRUE@ -MKDIR = @MKDIR@ -MV = @MV@ -NEED_OWN_MD5_FALSE = @NEED_OWN_MD5_FALSE@ -NEED_OWN_MD5_TRUE = @NEED_OWN_MD5_TRUE@ -NEED_OWN_SNPRINTF_FALSE = @NEED_OWN_SNPRINTF_FALSE@ -NEED_OWN_SNPRINTF_TRUE = @NEED_OWN_SNPRINTF_TRUE@ -NEED_OWN_STRSEP_FALSE = @NEED_OWN_STRSEP_FALSE@ -NEED_OWN_STRSEP_TRUE = @NEED_OWN_STRSEP_TRUE@ -NEGOTIATE_AUTH_HELPERS = @NEGOTIATE_AUTH_HELPERS@ -NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@ -OBJEXT = @OBJEXT@ -OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PERL = @PERL@ -PKGCONFIG = @PKGCONFIG@ -RANLIB = @RANLIB@ -REGEXLIB = @REGEXLIB@ -REPL_LIBS = @REPL_LIBS@ -REPL_OBJS = @REPL_OBJS@ -REPL_POLICIES = @REPL_POLICIES@ -RM = @RM@ -SET_MAKE = @SET_MAKE@ -SH = @SH@ -SHELL = @SHELL@ -SNMPLIB = @SNMPLIB@ -SSLLIB = @SSLLIB@ -STORE_LIBS = @STORE_LIBS@ -STORE_MODULES = @STORE_MODULES@ -STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@ -STORE_OBJS = @STORE_OBJS@ -STRIP = @STRIP@ -TRUE = @TRUE@ -USE_DELAY_POOLS_FALSE = @USE_DELAY_POOLS_FALSE@ -USE_DELAY_POOLS_TRUE = @USE_DELAY_POOLS_TRUE@ -USE_DNSSERVER_FALSE = @USE_DNSSERVER_FALSE@ -USE_DNSSERVER_TRUE = @USE_DNSSERVER_TRUE@ -USE_EPOLL_FALSE = @USE_EPOLL_FALSE@ -USE_EPOLL_TRUE = @USE_EPOLL_TRUE@ -USE_POLL_FALSE = @USE_POLL_FALSE@ -USE_POLL_TRUE = @USE_POLL_TRUE@ -USE_SELECT_FALSE = @USE_SELECT_FALSE@ -USE_SELECT_TRUE = @USE_SELECT_TRUE@ -USE_SNMP_FALSE = @USE_SNMP_FALSE@ -USE_SNMP_TRUE = @USE_SNMP_TRUE@ -VERSION = @VERSION@ -XTRA_LIBS = @XTRA_LIBS@ -XTRA_OBJS = @XTRA_OBJS@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -makesnmplib = @makesnmplib@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -SUBDIRS = -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/auth/negotiate/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/auth/negotiate/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -info: info-recursive - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-info-am - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-recursive ctags ctags-recursive \ - distclean distclean-generic distclean-recursive distclean-tags \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -ruN squid-2.6.PRE1/src/auth/ntlm/Makefile.am squid-2.6.PRE2/src/auth/ntlm/Makefile.am --- squid-2.6.PRE1/src/auth/ntlm/Makefile.am Wed Jun 26 04:38:05 2002 +++ squid-2.6.PRE2/src/auth/ntlm/Makefile.am Wed Dec 31 17:00:00 1969 @@ -1 +0,0 @@ -SUBDIRS = diff -ruN squid-2.6.PRE1/src/auth/ntlm/Makefile.in squid-2.6.PRE2/src/auth/ntlm/Makefile.in --- squid-2.6.PRE1/src/auth/ntlm/Makefile.in Thu May 25 06:42:26 2006 +++ squid-2.6.PRE2/src/auth/ntlm/Makefile.in Wed Dec 31 17:00:00 1969 @@ -1,524 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = src/auth/ntlm -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/cfgaux/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/autoconf.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AR_R = @AR_R@ -AUTH_LIBS = @AUTH_LIBS@ -AUTH_MODULES = @AUTH_MODULES@ -AUTH_OBJS = @AUTH_OBJS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BASIC_AUTH_HELPERS = @BASIC_AUTH_HELPERS@ -CACHE_HTTP_PORT = @CACHE_HTTP_PORT@ -CACHE_ICP_PORT = @CACHE_ICP_PORT@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CGIEXT = @CGIEXT@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CRYPTLIB = @CRYPTLIB@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -ENABLE_HTCP_FALSE = @ENABLE_HTCP_FALSE@ -ENABLE_HTCP_TRUE = @ENABLE_HTCP_TRUE@ -ENABLE_PINGER_FALSE = @ENABLE_PINGER_FALSE@ -ENABLE_PINGER_TRUE = @ENABLE_PINGER_TRUE@ -ENABLE_SSL_FALSE = @ENABLE_SSL_FALSE@ -ENABLE_SSL_TRUE = @ENABLE_SSL_TRUE@ -ENABLE_UNLINKD_FALSE = @ENABLE_UNLINKD_FALSE@ -ENABLE_UNLINKD_TRUE = @ENABLE_UNLINKD_TRUE@ -ENABLE_WIN32SPECIFIC_FALSE = @ENABLE_WIN32SPECIFIC_FALSE@ -ENABLE_WIN32SPECIFIC_TRUE = @ENABLE_WIN32SPECIFIC_TRUE@ -EPOLL_LIBS = @EPOLL_LIBS@ -ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ -ERR_LANGUAGES = @ERR_LANGUAGES@ -EXEEXT = @EXEEXT@ -EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@ -FALSE = @FALSE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBDLMALLOC = @LIBDLMALLOC@ -LIBOBJS = @LIBOBJS@ -LIBREGEX = @LIBREGEX@ -LIBS = @LIBS@ -LIBSASL = @LIBSASL@ -LIB_DB = @LIB_DB@ -LIB_EPOLL = @LIB_EPOLL@ -LIB_LBER = @LIB_LBER@ -LIB_LDAP = @LIB_LDAP@ -LIB_MALLOC = @LIB_MALLOC@ -LN = @LN@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MAKE_LEAKFINDER_FALSE = @MAKE_LEAKFINDER_FALSE@ -MAKE_LEAKFINDER_TRUE = @MAKE_LEAKFINDER_TRUE@ -MKDIR = @MKDIR@ -MV = @MV@ -NEED_OWN_MD5_FALSE = @NEED_OWN_MD5_FALSE@ -NEED_OWN_MD5_TRUE = @NEED_OWN_MD5_TRUE@ -NEED_OWN_SNPRINTF_FALSE = @NEED_OWN_SNPRINTF_FALSE@ -NEED_OWN_SNPRINTF_TRUE = @NEED_OWN_SNPRINTF_TRUE@ -NEED_OWN_STRSEP_FALSE = @NEED_OWN_STRSEP_FALSE@ -NEED_OWN_STRSEP_TRUE = @NEED_OWN_STRSEP_TRUE@ -NEGOTIATE_AUTH_HELPERS = @NEGOTIATE_AUTH_HELPERS@ -NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@ -OBJEXT = @OBJEXT@ -OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PERL = @PERL@ -PKGCONFIG = @PKGCONFIG@ -RANLIB = @RANLIB@ -REGEXLIB = @REGEXLIB@ -REPL_LIBS = @REPL_LIBS@ -REPL_OBJS = @REPL_OBJS@ -REPL_POLICIES = @REPL_POLICIES@ -RM = @RM@ -SET_MAKE = @SET_MAKE@ -SH = @SH@ -SHELL = @SHELL@ -SNMPLIB = @SNMPLIB@ -SSLLIB = @SSLLIB@ -STORE_LIBS = @STORE_LIBS@ -STORE_MODULES = @STORE_MODULES@ -STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@ -STORE_OBJS = @STORE_OBJS@ -STRIP = @STRIP@ -TRUE = @TRUE@ -USE_DELAY_POOLS_FALSE = @USE_DELAY_POOLS_FALSE@ -USE_DELAY_POOLS_TRUE = @USE_DELAY_POOLS_TRUE@ -USE_DNSSERVER_FALSE = @USE_DNSSERVER_FALSE@ -USE_DNSSERVER_TRUE = @USE_DNSSERVER_TRUE@ -USE_EPOLL_FALSE = @USE_EPOLL_FALSE@ -USE_EPOLL_TRUE = @USE_EPOLL_TRUE@ -USE_POLL_FALSE = @USE_POLL_FALSE@ -USE_POLL_TRUE = @USE_POLL_TRUE@ -USE_SELECT_FALSE = @USE_SELECT_FALSE@ -USE_SELECT_TRUE = @USE_SELECT_TRUE@ -USE_SNMP_FALSE = @USE_SNMP_FALSE@ -USE_SNMP_TRUE = @USE_SNMP_TRUE@ -VERSION = @VERSION@ -XTRA_LIBS = @XTRA_LIBS@ -XTRA_OBJS = @XTRA_OBJS@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -makesnmplib = @makesnmplib@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -SUBDIRS = -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/auth/ntlm/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/auth/ntlm/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -info: info-recursive - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-info-am - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-recursive ctags ctags-recursive \ - distclean distclean-generic distclean-recursive distclean-tags \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -ruN squid-2.6.PRE1/src/cache_cf.c squid-2.6.PRE2/src/cache_cf.c --- squid-2.6.PRE1/src/cache_cf.c Wed May 24 22:37:32 2006 +++ squid-2.6.PRE2/src/cache_cf.c Tue Jun 6 00:37:41 2006 @@ -1,6 +1,6 @@ /* - * $Id: cache_cf.c,v 1.441 2006/05/25 04:37:32 hno Exp $ + * $Id: cache_cf.c,v 1.442 2006/06/06 06:37:41 hno Exp $ * * DEBUG: section 3 Configuration File Parsing * AUTHOR: Harvest Derived @@ -1614,6 +1614,9 @@ #if USE_HTCP } else if (!strcasecmp(token, "htcp")) { p->options.htcp = 1; + } else if (!strcasecmp(token, "htcp-oldsquid")) { + p->options.htcp = 1; + p->options.htcp_oldsquid = 1; #endif } else if (!strcasecmp(token, "no-netdb-exchange")) { p->options.no_netdb_exchange = 1; diff -ruN squid-2.6.PRE1/src/cache_manager.c squid-2.6.PRE2/src/cache_manager.c --- squid-2.6.PRE1/src/cache_manager.c Sun Oct 23 09:20:54 2005 +++ squid-2.6.PRE2/src/cache_manager.c Tue Jun 6 11:38:59 2006 @@ -1,6 +1,6 @@ /* - * $Id: cache_manager.c,v 1.27 2005/10/23 15:20:54 hno Exp $ + * $Id: cache_manager.c,v 1.29 2006/06/06 17:38:59 hno Exp $ * * DEBUG: section 16 Cache Manager Objects * AUTHOR: Duane Wessels @@ -120,7 +120,9 @@ } else if (request[0] == '\0') { xstrncpy(request, "menu", MAX_URL); #endif - } else if ((a = cachemgrFindAction(request)) == NULL) { + } + request[strcspn(request, "/")] = '\0'; + if ((a = cachemgrFindAction(request)) == NULL) { debug(16, 1) ("cachemgrParseUrl: action '%s' not found\n", request); return NULL; } else { @@ -236,10 +238,8 @@ * password depends on action */ httpHeaderPutAuth(&rep->header, "Basic", mgr->action); - /* move info to the mem_obj->reply */ - httpReplyAbsorb(entry->mem_obj->reply, rep); /* store the reply */ - httpReplySwapOut(entry->mem_obj->reply, entry); + httpReplySwapOut(rep, entry); entry->expires = squid_curtime; storeComplete(entry); cachemgrStateFree(mgr); diff -ruN squid-2.6.PRE1/src/cf.data.pre squid-2.6.PRE2/src/cf.data.pre --- squid-2.6.PRE1/src/cf.data.pre Mon May 29 10:31:16 2006 +++ squid-2.6.PRE2/src/cf.data.pre Tue Jun 6 00:37:41 2006 @@ -1,6 +1,6 @@ # -# $Id: cf.data.pre,v 1.328 2006/05/29 16:31:16 hno Exp $ +# $Id: cf.data.pre,v 1.336 2006/06/06 06:37:41 hno Exp $ # # # SQUID Web Proxy Cache http://www.squid-cache.org/ @@ -31,8 +31,8 @@ # COMMENT_START - WELCOME TO SQUID 2 - ------------------ + WELCOME TO SQUID @VERSION@ + ---------------------------- This is the default Squid configuration file. You may wish to look at the Squid home page (http://www.squid-cache.org/) @@ -215,7 +215,7 @@ LOC: Config.SSL.ssl_engine DEFAULT: none DOC_START - The openssl engine to use. You will need to set this if you + The OpenSSL engine to use. You will need to set this if you would like to use hardware SSL acceleration for example. DOC_END @@ -432,6 +432,7 @@ allow-miss max-conn htcp + htcp-oldsquid carp-load-factor originserver userhash @@ -543,6 +544,8 @@ to the neighbor. You probably also want to set the "icp port" to 4827 instead of 3130. + use 'htcp-oldsquid' to send HTCP to old Squid versions + use 'carp-load-factor=f' to define a parent cache as one participating in a CARP array. The 'f' values for all CARP parents must add @@ -551,7 +554,7 @@ 'originserver' causes this parent peer to be contacted as a origin server. Meant to be used in accelerator setups. - use 'userhash' to load-balance amongs a set of parents + use 'userhash' to load-balance amongst a set of parents based on the client proxy_auth or ident username. use 'sourcehash' to load-balanse amongs a set of parents @@ -563,7 +566,7 @@ directives. use 'monitorurl=url' to have periodically request a given - URL from the peer, and only concider the peer as alive + URL from the peer, and only consider the peer as alive if this monitoring is successful (default none) use 'monitorsize=min[-max]' to limit the size range of @@ -581,7 +584,7 @@ use 'forceddomain=name' to forcibly set the Host header of requests forwarded to this peer. Useful in accelerator setups where the server (peer) expects a certain domain - name and using redirectors to feed this domainname + name and using redirectors to feed this domain name is not feasible. use 'ssl' to indicate that connections to this peer should @@ -602,7 +605,7 @@ 3 = SSL v3 only 4 = TLS v1 only - use sslcipher=... to specify the list of valid SSL chipers + use sslcipher=... to specify the list of valid SSL ciphers to use when connecting to this peer use ssloptions=... to specify various SSL engine options: @@ -633,7 +636,7 @@ peer hostname will be used. use front-end-https to enable the "Front-End-Https: On" - header needed when using Squid as a SSL frontend infront + header needed when using Squid as a SSL frontend in front of Microsoft OWA. See MS KB document Q307347 for details on this header. If set to auto then the header will only be added if the request is forwarded as a https:// @@ -659,7 +662,7 @@ has the effect such that UDP query packets are sent to 'bigserver' only when the requested object exists on a - server in the .edu domain. Prefixing the domainname + server in the .edu domain. Prefixing the domain name with '!' means the cache will be queried for objects NOT in that domain. @@ -731,7 +734,7 @@ TYPE: int LOC: Config.Timeout.mcast_icp_query DOC_START - For Multicast peers, Squid regularly sends out ICP "probes" to + For multicast peers, Squid regularly sends out ICP "probes" to count how many other peers are listening on the given multicast address. This value specifies how long Squid should wait to count all the replies. The default is 2000 msec, or 2 @@ -915,7 +918,7 @@ Objects greater than this size will not be attempted to kept in the memory cache. This should be set high enough to keep objects accessed frequently in memory to improve performance whilst low - enough to keep larger objects from hoarding cache_mem . + enough to keep larger objects from hoarding cache_mem. DOC_END NAME: ipcache_size @@ -1084,14 +1087,14 @@ higher hit ratio at the expense of an increase in response time. - The coss store type: + The COSS store type: block-size=n defines the "block size" for COSS cache_dir's. Squid uses file numbers as block numbers. Since file numbers are limited to 24 bits, the block size determines the maximum size of the COSS partition. The default is 512 bytes, which leads to a maximum cache_dir size of 512<<24, or 8 GB. Note - you should not change the coss block size after Squid + you should not change the COSS block size after Squid has written some objects to the cache_dir. Common options: @@ -1320,7 +1323,7 @@ DOC_END -NAME: referer_log +NAME: referer_log referrer_log TYPE: string LOC: Config.Log.referer DEFAULT: none @@ -1328,6 +1331,9 @@ DOC_START Squid will write the Referer field from HTTP requests to the filename specified here. By default referer_log is disabled. + Note that "referer" is actually a misspelling of "referrer" + however the misspelt version has been accepted into the HTTP RFCs + and we accept both. DOC_END @@ -1464,7 +1470,7 @@ DEFAULT: on LOC: Config.onoff.allow_underscore DOC_START - Underscore characers is not strictly allowed in Internet hostnames + Underscore characters is not strictly allowed in Internet hostnames but nevertheless used by many sites. Set this to off if you want Squid to be strict about the standard. DOC_END @@ -1643,7 +1649,7 @@ LOC: Config.Program.url_rewrite.concurrency DOC_START The number of requests each redirector helper can handle in - parallell. Defaults to 0 which indicates that the redirector + parallel. Defaults to 0 which indicates that the redirector is a old-style singlethreaded redirector. DOC_END @@ -1708,7 +1714,7 @@ LOC: Config.Program.location_rewrite.concurrency DOC_START The number of requests each Location rewriter helper can handle in - parallell. Defaults to 0 which indicates that the helper + parallel. Defaults to 0 which indicates that the helper is a old-style singlethreaded helper. DOC_END @@ -1735,7 +1741,7 @@ The order in which authentication schemes are presented to the client is dependent on the order the scheme first appears in config file. IE - has a bug (it's not rfc 2617 compliant) in that it will use the basic + has a bug (it's not RFC 2617 compliant) in that it will use the basic scheme if basic is the first entry presented, even if more secure schemes are presented. For now use the order in the recommended settings section below. If other browsers have difficulties (don't @@ -1826,7 +1832,7 @@ Specify the command for the external authenticator. Such a program reads a line containing "username":"realm" and replies with the appropriate H(A1) value base64 encoded or ERR if the user (or his H(A1) - hash) does not exists. See rfc 2616 for the definition of H(A1). + hash) does not exists. See RFC 2616 for the definition of H(A1). "ERR" responses may optionally be followed by a error description available as %m in the returned error page. @@ -2376,7 +2382,7 @@ This option changes the refresh algorithm to allow concurrent requests while an object is being refreshed to be processed as cache hits if the object expired less than X seconds ago. Default - is 0 to disable this feature. This option is mostly interesiting + is 0 to disable this feature. This option is mostly interesting in accelerator setups where a few objects is accessed very frequently. DOC_END @@ -2720,6 +2726,92 @@ NOCOMMENT_END DOC_END +NAME: follow_x_forwarded_for +TYPE: acl_access +IFDEF: FOLLOW_X_FORWARDED_FOR +LOC: Config.accessList.followXFF +DEFAULT: none +DEFAULT_IF_NONE: deny all +DOC_START + Allowing or Denying the X-Forwarded-For header to be followed to + find the original source of a request. + + Requests may pass through a chain of several other proxies + before reaching us. The X-Forwarded-For header will contain a + comma-separated list of the IP addresses in the chain, with the + rightmost address being the most recent. + + If a request reaches us from a source that is allowed by this + configuration item, then we consult the X-Forwarded-For header + to see where that host received the request from. If the + X-Forwarded-For header contains multiple addresses, and if + acl_uses_indirect_client is on, then we continue backtracking + until we reach an address for which we are not allowed to + follow the X-Forwarded-For header, or until we reach the first + address in the list. (If acl_uses_indirect_client is off, then + it's impossible to backtrack through more than one level of + X-Forwarded-For addresses.) + + The end result of this process is an IP address that we will + refer to as the indirect client address. This address may + be treated as the client address for access control, delay + pools and logging, depending on the acl_uses_indirect_client, + delay_pool_uses_indirect_client and log_uses_indirect_client + options. + + SECURITY CONSIDERATIONS: + + Any host for which we follow the X-Forwarded-For header + can place incorrect information in the header, and Squid + will use the incorrect information as if it were the + source address of the request. This may enable remote + hosts to bypass any access control restrictions that are + based on the client's source addresses. + + For example: + + acl localhost src 127.0.0.1 + acl my_other_proxy srcdomain .proxy.example.com + follow_x_forwarded_for allow localhost + follow_x_forwarded_for allow my_other_proxy +DOC_END + +NAME: acl_uses_indirect_client +COMMENT: on|off +TYPE: onoff +IFDEF: FOLLOW_X_FORWARDED_FOR +DEFAULT: on +LOC: Config.onoff.acl_uses_indirect_client +DOC_START + Controls whether the indirect client address + (see follow_x_forwarded_for) is used instead of the + direct client address in acl matching. +DOC_END + +NAME: delay_pool_uses_indirect_client +COMMENT: on|off +TYPE: onoff +IFDEF: FOLLOW_X_FORWARDED_FOR && DELAY_POOLS +DEFAULT: on +LOC: Config.onoff.delay_pool_uses_indirect_client +DOC_START + Controls whether the indirect client address + (see follow_x_forwarded_for) is used instead of the + direct client address in delay pools. +DOC_END + +NAME: log_uses_indirect_client +COMMENT: on|off +TYPE: onoff +IFDEF: FOLLOW_X_FORWARDED_FOR +DEFAULT: on +LOC: Config.onoff.log_uses_indirect_client +DOC_START + Controls whether the indirect client address + (see follow_x_forwarded_for) is used instead of the + direct client address in the access log. +DOC_END + NAME: http_access TYPE: acl_access LOC: Config.accessList.http @@ -2831,6 +2923,43 @@ NOCOMMENT_END DOC_END +NAME: htcp_access +IFDEF: USE_HTCP +TYPE: acl_access +LOC: Config.accessList.htcp +DEFAULT: none +DEFAULT_IF_NONE: deny all +DOC_START + Allowing or Denying access to the HTCP port based on defined + access lists + + htcp_access allow|deny [!]aclname ... + + See http_access for details + +#Allow HTCP queries from everyone +htcp_access allow all +DOC_END + +NAME: htcp_clr_access +IFDEF: USE_HTCP +TYPE: acl_access +LOC: Config.accessList.htcp_clr +DEFAULT: none +DEFAULT_IF_NONE: deny all +DOC_START + Allowing or Denying access to purge content using HTCP based + on defined access lists + + htcp_clr_access allow|deny [!]aclname ... + + See http_access for details + +#Allow HTCP CLR requests from trusted peers +acl htcp_clr_peer src 172.16.1.2 +htcp_clr_access allow htcp_clr_peer +DOC_END + NAME: miss_access TYPE: acl_access @@ -2930,7 +3059,7 @@ matching line. Note: The use of this directive using client dependent ACLs is - incompatible with the use of server side persistent connetions. To + incompatible with the use of server side persistent connections. To ensure correct results it is best to set server_persisten_connections to off when using this directive in such configurations. DOC_END @@ -2941,7 +3070,7 @@ LOC: Config.accessList.outgoing_address DOC_START Allows you to map requests to different outgoing IP addresses - based on the username or sourceaddress of the user making + based on the username or source address of the user making the request. tcp_outgoing_address ipaddr [[!]aclname] ... @@ -2961,8 +3090,8 @@ matching line. Note: The use of this directive using client dependent ACLs is - incompatible with the use of server side persistent connetions. To - ensure correct results it is best to set server_persisten_connections + incompatible with the use of server side persistent connections. To + ensure correct results it is best to set server_persistent_connections to off when using this directive in such configurations. DOC_END @@ -3563,8 +3692,7 @@ LOC: Config.Store.avgObjectSize DOC_START Average object size, used to estimate number of objects your - cache can hold. See doc/Release-Notes-1.1.txt. The default is - 13 KB. + cache can hold. The default is 13 KB. DOC_END NAME: store_objects_per_bucket @@ -4004,9 +4132,10 @@ DEFAULT: 4 IFDEF: USE_WCCP DOC_START - According to some users, Cisco IOS 11.2 only supports WCCP - version 3. If you're using that version of IOS, change - this value to 3. + According to some users, Cisco IOS 11.2 and earlier only + support WCCP version 3. If you're using that or an earlier + version of IOS, change this value to 3, otherwise do not specify + this parameter. DOC_END NAME: wccp2_forwarding_method @@ -4017,11 +4146,12 @@ DOC_START WCCP2 allows the setting of forwarding methods between the router/switch and the cache. Valid values are as follows: - 1 - GRE encapsulation - 2 - L2 redirect (forward the packet) - Currently (as of IOS 12.3) cisco routers only support GRE. - Cisco switches support the l2 redirect assignment. + 1 - GRE encapsulation (forward the packet in a GRE/WCCP tunnel) + 2 - L2 redirect (forward the packet using Layer 2/MAC rewriting) + + Currently (as of IOS 12.4) cisco routers only support GRE. + Cisco switches only support the L2 redirect assignment method. DOC_END NAME: wccp2_return_method @@ -4033,11 +4163,12 @@ WCCP2 allows the setting of return methods between the router/switch and the cache for packets that the cache decides not to handle. Valid values are as follows: - 1 - GRE encapsulation - 2 - L2 redirect (forward the packet) - Currently (as of IOS 12.3) cisco routers only support GRE. - Cisco switches support the l2 redirect assignment. + 1 - GRE encapsulation (forward the packet in a GRE/WCCP tunnel) + 2 - L2 redirect (forward the packet using Layer 2/MAC rewriting) + + Currently (as of IOS 12.4) cisco routers only support GRE. + Cisco switches only support the L2 redirect assignment. If the "ip wccp redirect exclude in" command has been enabled on the cache interface, then it is still safe for @@ -4058,11 +4189,11 @@ one must define the type of traffic to be redirected; this is done using the wccp2_service_info option. - The "standard" type does not require a wccp2_service_info option - just - the service id will suffice. + The "standard" type does not require a wccp2_service_info option, + just specifying the service id will suffice. - MD5 service authentication can be enabled by adding "password=" - to the end of this service declaration. + MD5 service authentication can be enabled by adding + "password=" to the end of this service declaration. Examples: @@ -4084,26 +4215,25 @@ The format is: - wccp2_service_info proto= flags=,.. + wccp2_service_info protocol= flags=,.. priority= ports=,.. The relevant WCCPv2 flags: + src_ip_hash, dst_ip_hash + source_port_hash, dest_port_hash - + ports_defined, ports_source + src_ip_alt_hash, dst_ip_alt_hash + src_port_alt_hash, dst_port_alt_hash + + ports_source - The port list can be one to eight entries. Specifying no ports is - currently valid but may result in a confused router. + The port list can be one to eight entries. Example: - wccp2_service_info 80 proto=tcp flags=src_ip_hash,ports_source + wccp2_service_info 80 protocol=tcp flags=src_ip_hash,ports_source priority=240 ports=80 Note: the service id must have been defined by a previous - 'wccp2_service dynamic entry. + 'wccp2_service dynamic ' entry. DOC_END NAME: wccp_address @@ -4118,7 +4248,7 @@ DEFAULT: 0.0.0.0 IFDEF: USE_WCCPv2 DOC_START - Use this option if you require WCCP to use a specific + Use this option if you require WCCP to use a specific interface address. The default behavior is to not bind to any specific address. @@ -4399,7 +4529,7 @@ DOC_END NAME: mcast_miss_ttl -IFDEF: MULTICAST_MISS_TTL +IFDEF: MULTICAST_MISS_STREAM TYPE: ushort LOC: Config.mcast_miss.ttl DEFAULT: 16 @@ -4435,7 +4565,7 @@ DEFAULT: on DOC_START By default, Squid will send any non-hierarchical requests - (matching hierarchy_stoplist or not cachable request type) direct + (matching hierarchy_stoplist or not cacheable request type) direct to origin servers. If you set this to off, Squid will prefer to send these @@ -4464,7 +4594,7 @@ Note: If you want Squid to use parents for all requests see the never_direct directive. prefer_direct only modifies how Squid - acts on cachable requests. + acts on cacheable requests. DOC_END NAME: strip_query_terms @@ -4823,8 +4953,9 @@ LOC: Config.onoff.linux_tproxy DEFAULT: off DOC_START - If you have Linux 2.4 with netfilter and TPROXY support and you - have compiled squid with the correct options then you can enable + If you have a Linux 2.4 or newer system with Netfilter TPROXY support, + and you have compiled squid with the correct options, then you can + enable this option to allow squid to spoof the source address of this option to allow squid to spoof the source address of outgoing connections to servers so that they see connections from the original client IP addresses. Enable this only if you know @@ -4838,19 +4969,23 @@ LOC: Config.tproxy_port DEFAULT: 0 DOC_START - If you have enabled the linux_tproxy option, this will decide when squid - will spoof the source IP address. If this option is set to "0" (default) - squid will spoof the source address for every connection. If this option - is set to any other value, then squid will only spoof the client address - if the connection to the proxy server is made on the specified poert. - - ie. If you have an iptables rule as follows: - iptables -t tproxy -A PREROUTING -m tcp --dport 80 -j TPROXY --on-port 90 - - Then setting this option to 90 will allow the transparent connections made - to squid's port 90 to have the source ip spoofed. If a client has specified - their proxy settings, and are using another port on the squid server (ie 3128) - then squid will nt spoof the source address. + If you have enabled the linux_tproxy option, this will decide when + squid will spoof the source IP address. If this option is set to + "0" (default), then squid will spoof the source address for every + connection. If this option is set to any other value, then squid + will only spoof the client address if the connection to the proxy + server is made on the specified port. + + If you have an iptables rule as follows: + + iptables -t tproxy -A PREROUTING -m tcp --dport 80 \ + -j TPROXY --on-port 90 + + Then setting this option to 90 will allow the transparent + connections made to squid's port 90 to have the source IP address + spoofed. If a client has specified their proxy settings and are + using another port on the squid server (eg 3128) then squid will + not spoof the source address. DOC_END EOF diff -ruN squid-2.6.PRE1/src/cf_gen_defines squid-2.6.PRE2/src/cf_gen_defines --- squid-2.6.PRE1/src/cf_gen_defines Mon May 15 09:41:02 2006 +++ squid-2.6.PRE2/src/cf_gen_defines Wed May 31 13:39:14 2006 @@ -6,6 +6,8 @@ print "struct { const char *name; const char *enable; int defined;} defines[] = {" define["DELAY_POOLS"]="--enable-delay-pools" define["HTTP_VIOLATIONS"]="--enable-http-violations" + define["LINUX_TPROXY"]="--enable-linux-tproxy" + define["MULTICAST_MISS_STREAM"]="--enable-multicast-miss" define["SQUID_SNMP"]="--enable-snmp" define["USE_CACHE_DIGESTS"]="--enable-cache-digests" define["USE_DNSSERVERS"]="--disable-internal-dns" @@ -19,6 +21,7 @@ define["USE_USERAGENT_LOG"]="--enable-useragent-log" define["USE_WCCP"]="--enable-wccp" define["USE_WCCPv2"]="--enable-wccpv2" + define["WIP_FWD_LOG"]="--enable-forward-log" } /^IFDEF:/ { if (define[$2] != "") diff -ruN squid-2.6.PRE1/src/client_side.c squid-2.6.PRE2/src/client_side.c --- squid-2.6.PRE1/src/client_side.c Sun May 28 19:53:22 2006 +++ squid-2.6.PRE2/src/client_side.c Mon Jun 5 23:57:55 2006 @@ -1,6 +1,6 @@ /* - * $Id: client_side.c,v 1.630 2006/05/29 01:53:22 hno Exp $ + * $Id: client_side.c,v 1.646 2006/06/06 05:57:55 hno Exp $ * * DEBUG: section 33 Client-side Routines * AUTHOR: Duane Wessels @@ -128,6 +128,11 @@ #if USE_IDENT static IDCB clientIdentDone; #endif +#if FOLLOW_X_FORWARDED_FOR +static void clientFollowXForwardedForStart(void *data); +static void clientFollowXForwardedForNext(void *data); +static void clientFollowXForwardedForDone(int answer, void *data); +#endif /* FOLLOW_X_FORWARDED_FOR */ static int clientOnlyIfCached(clientHttpRequest * http); static STCB clientSendMoreData; static STCB clientSendMoreHeaderData; @@ -148,14 +153,18 @@ static int clientRequestBodyTooLarge(squid_off_t clen); static void clientProcessBody(ConnStateData * conn); static void clientEatRequestBody(clientHttpRequest *); -static void clientAccessCheckDone2(int answer, void *data); +static void clientAccessCheck(void *data); +static void clientAccessCheckDone(int answer, void *data); static void clientAccessCheck2(void *data); +static void clientAccessCheckDone2(int answer, void *data); static BODY_HANDLER clientReadBody; static void clientAbortBody(request_t * req); #if USE_SSL static void httpsAcceptSSL(ConnStateData * connState, SSL_CTX * sslContext); #endif static int varyEvaluateMatch(StoreEntry * entry, request_t * request); +static int modifiedSince(StoreEntry *, request_t *); +static StoreEntry *clientCreateStoreEntry(clientHttpRequest *, method_t, request_flags); #if USE_IDENT static void @@ -187,7 +196,160 @@ return ch; } -void +#if FOLLOW_X_FORWARDED_FOR +/* + * clientFollowXForwardedForStart() copies the X-Forwarded-For + * header into x_forwarded_for_iterator and passes control to + * clientFollowXForwardedForNext(). + * + * clientFollowXForwardedForNext() checks the indirect_client_addr + * against the followXFF ACL and passes the result to + * clientFollowXForwardedForDone(). + * + * clientFollowXForwardedForDone() either grabs the next address + * from the tail of x_forwarded_for_iterator and loops back to + * clientFollowXForwardedForNext(), or cleans up and passes control to + * clientAccessCheck(). + */ + +static void +clientFollowXForwardedForStart(void *data) +{ + clientHttpRequest *http = data; + request_t *request = http->request; + request->x_forwarded_for_iterator = httpHeaderGetList( + &request->header, HDR_X_FORWARDED_FOR); + debug(33, 5) ("clientFollowXForwardedForStart: indirect_client_addr=%s XFF='%s'\n", + inet_ntoa(request->indirect_client_addr), + strBuf(request->x_forwarded_for_iterator)); + clientFollowXForwardedForNext(http); +} + +static void +clientFollowXForwardedForNext(void *data) +{ + clientHttpRequest *http = data; + request_t *request = http->request; + debug(33, 5) ("clientFollowXForwardedForNext: indirect_client_addr=%s XFF='%s'\n", + inet_ntoa(request->indirect_client_addr), + strBuf(request->x_forwarded_for_iterator)); + if (strLen(request->x_forwarded_for_iterator) != 0) { + /* check the acl to see whether to believe the X-Forwarded-For header */ + http->acl_checklist = clientAclChecklistCreate( + Config.accessList.followXFF, http); + aclNBCheck(http->acl_checklist, clientFollowXForwardedForDone, http); + } else { + /* nothing left to follow */ + debug(33, 5) ("clientFollowXForwardedForNext: nothing more to do\n"); + clientFollowXForwardedForDone(-1, http); + } +} + +static void +clientFollowXForwardedForDone(int answer, void *data) +{ + clientHttpRequest *http = data; + request_t *request = http->request; + /* + * answer should be be ACCESS_ALLOWED or ACCESS_DENIED if we are + * called as a result of ACL checks, or -1 if we are called when + * there's nothing left to do. + */ + if (answer == ACCESS_ALLOWED) { + /* + * The IP address currently in request->indirect_client_addr + * is trusted to use X-Forwarded-For. Remove the last + * comma-delimited element from x_forwarded_for_iterator and use + * it to to replace indirect_client_addr, then repeat the cycle. + */ + const char *p; + const char *asciiaddr; + int l; + struct in_addr addr; + debug(33, 5) ("clientFollowXForwardedForDone: indirect_client_addr=%s is trusted\n", + inet_ntoa(request->indirect_client_addr)); + p = strBuf(request->x_forwarded_for_iterator); + l = strLen(request->x_forwarded_for_iterator); + + /* + * XXX x_forwarded_for_iterator should really be a list of + * IP addresses, but it's a String instead. We have to + * walk backwards through the String, biting off the last + * comma-delimited part each time. As long as the data is in + * a String, we should probably implement and use a variant of + * strListGetItem() that walks backwards instead of forwards + * through a comma-separated list. But we don't even do that; + * we just do the work in-line here. + */ + /* skip trailing space and commas */ + while (l > 0 && (p[l - 1] == ',' || xisspace(p[l - 1]))) + l--; + strCut(request->x_forwarded_for_iterator, l); + /* look for start of last item in list */ + while (l > 0 && !(p[l - 1] == ',' || xisspace(p[l - 1]))) + l--; + asciiaddr = p + l; + if (inet_aton(asciiaddr, &addr) == 0) { + /* the address is not well formed; do not use it */ + debug(33, 3) ("clientFollowXForwardedForDone: malformed address '%s'\n", + asciiaddr); + goto done; + } + debug(33, 3) ("clientFollowXForwardedForDone: changing indirect_client_addr from %s to '%s'\n", + inet_ntoa(request->indirect_client_addr), + asciiaddr); + request->indirect_client_addr = addr; + strCut(request->x_forwarded_for_iterator, l); + if (!Config.onoff.acl_uses_indirect_client) { + /* + * If acl_uses_indirect_client is off, then it's impossible + * to follow more than one level of X-Forwarded-For. + */ + goto done; + } + clientFollowXForwardedForNext(http); + return; + } else if (answer == ACCESS_DENIED) { + debug(33, 5) ("clientFollowXForwardedForDone: indirect_client_addr=%s not trusted\n", + inet_ntoa(request->indirect_client_addr)); + } else { + debug(33, 5) ("clientFollowXForwardedForDone: indirect_client_addr=%s nothing more to do\n", + inet_ntoa(request->indirect_client_addr)); + } + done: + /* clean up, and pass control to clientAccessCheck */ + debug(33, 6) ("clientFollowXForwardedForDone: cleanup\n"); + if (Config.onoff.log_uses_indirect_client) { + /* + * Ensure that the access log shows the indirect client + * instead of the direct client. + */ + ConnStateData *conn = http->conn; + conn->log_addr = request->indirect_client_addr; + conn->log_addr.s_addr &= Config.Addrs.client_netmask.s_addr; + debug(33, 3) ("clientFollowXForwardedForDone: setting log_addr=%s\n", + inet_ntoa(conn->log_addr)); + } + stringClean(&request->x_forwarded_for_iterator); + http->acl_checklist = NULL; /* XXX do we need to aclChecklistFree() ? */ + clientAccessCheck(http); +} +#endif /* FOLLOW_X_FORWARDED_FOR */ + +static void +clientCheckFollowXForwardedFor(void *data) +{ + clientHttpRequest *http = data; +#if FOLLOW_X_FORWARDED_FOR + if (Config.accessList.followXFF && httpHeaderHas(&http->request->header, HDR_X_FORWARDED_FOR)) { + clientFollowXForwardedForStart(http); + return; + } +#endif + clientAccessCheck(http); +} + +static void clientAccessCheck(void *data) { clientHttpRequest *http = data; @@ -220,7 +382,7 @@ EBIT_TEST(r->cache_control->mask, CC_ONLY_IF_CACHED); } -StoreEntry * +static StoreEntry * clientCreateStoreEntry(clientHttpRequest * h, method_t m, request_flags flags) { StoreEntry *e; @@ -231,7 +393,7 @@ if (h->request == NULL) h->request = requestLink(requestCreate(m, PROTO_NONE, null_string)); e = storeCreateEntry(h->uri, h->log_uri, flags, m); - h->sc = storeClientListAdd(e, h); + h->sc = storeClientRegister(e, h); #if DELAY_POOLS if (h->log_type != LOG_TCP_DENIED) delaySetStoreClient(h->sc, delayClient(h)); @@ -241,7 +403,7 @@ return e; } -void +static void clientAccessCheckDone(int answer, void *data) { clientHttpRequest *http = data; @@ -444,6 +606,9 @@ httpHeaderAppend(&new_request->header, &old_request->header); new_request->client_addr = old_request->client_addr; new_request->client_port = old_request->client_port; +#if FOLLOW_X_FORWARDED_FOR + new_request->indirect_client_addr = old_request->indirect_client_addr; +#endif /* FOLLOW_X_FORWARDED_FOR */ new_request->my_addr = old_request->my_addr; new_request->my_port = old_request->my_port; new_request->client_port = old_request->client_port; @@ -526,8 +691,9 @@ safe_free(request->etag); safe_free(request->vary_headers); safe_free(request->vary_hdr); - storeUnregister(http->sc, entry, http); + storeClientUnregister(http->sc, entry, http); storeUnlockObject(entry); + http->entry = NULL; clientProcessRequest(http); } @@ -597,7 +763,7 @@ http->log_uri, http->request->flags, http->request->method); - http->sc = storeClientListAdd(entry, http); + http->sc = storeClientRegister(entry, http); #if DELAY_POOLS /* delay_id is already set on original store client */ delaySetStoreClient(http->sc, delayClient(http)); @@ -639,12 +805,6 @@ http->request->flags.refresh = 1; http->old_entry = http->entry; http->old_sc = http->sc; - /* - * Assert that 'http' is already a client of old_entry. If - * it is not, then the beginning of the object data might get - * freed from memory before we need to access it. - */ - assert(http->sc->callback_data == http); if (http->entry->mem_obj && http->entry->mem_obj->ims_entry) { entry = http->entry->mem_obj->ims_entry; debug(33, 5) ("clientProcessExpired: collapsed request\n"); @@ -677,7 +837,7 @@ } } /* NOTE, don't call storeLockObject(), storeCreateEntry() does it */ - http->sc = storeClientListAdd(entry, http); + http->sc = storeClientRegister(entry, http); #if DELAY_POOLS /* delay_id is already set on original store client */ delaySetStoreClient(http->sc, delayClient(http)); @@ -786,7 +946,7 @@ /* We have an existing entry, but failed to validate it */ /* Its okay to send the old one anyway */ http->log_type = LOG_TCP_REFRESH_FAIL_HIT; - storeUnregister(http->sc, entry, http); + storeClientUnregister(http->sc, entry, http); storeUnlockObject(entry); entry = http->entry = http->old_entry; http->sc = http->old_sc; @@ -797,7 +957,7 @@ debug(33, 3) ("clientHandleIMSReply: Reply is too large '%s', using old entry\n", url); /* use old entry, this repeats the code abovez */ http->log_type = LOG_TCP_REFRESH_FAIL_HIT; - storeUnregister(http->sc, entry, http); + storeClientUnregister(http->sc, entry, http); storeUnlockObject(entry); entry = http->entry = http->old_entry; http->sc = http->old_sc; @@ -828,7 +988,7 @@ * not the body they refer to. */ httpReplyUpdateOnNotModified(oldentry->mem_obj->reply, mem->reply); storeTimestampsSet(oldentry); - storeUnregister(http->sc, entry, http); + storeClientUnregister(http->sc, entry, http); http->sc = http->old_sc; storeUnlockObject(entry); entry = http->entry = oldentry; @@ -847,7 +1007,7 @@ storeTimestampsSet(http->old_entry); http->log_type = LOG_TCP_REFRESH_HIT; } - storeUnregister(http->old_sc, http->old_entry, http); + storeClientUnregister(http->old_sc, http->old_entry, http); storeUnlockObject(http->old_entry); recopy = 0; } @@ -867,7 +1027,7 @@ } } -int +static int modifiedSince(StoreEntry * entry, request_t * request) { squid_off_t object_length; @@ -901,7 +1061,7 @@ } } -void +static void clientPurgeRequest(clientHttpRequest * http) { StoreEntry *entry; @@ -943,7 +1103,7 @@ storeLockObject(http->entry); storeCreateMemObject(http->entry, http->uri, http->log_uri); http->entry->mem_obj->method = http->request->method; - http->sc = storeClientListAdd(http->entry, http); + http->sc = storeClientRegister(http->entry, http); http->log_type = LOG_TCP_HIT; storeClientCopy(http->sc, http->entry, http->out.offset, @@ -1176,7 +1336,7 @@ } if ((e = http->entry)) { http->entry = NULL; - storeUnregister(http->sc, e, http); + storeClientUnregister(http->sc, e, http); http->sc = NULL; storeUnlockObject(e); } @@ -1184,7 +1344,7 @@ * code in clientHandleIMSReply() */ if ((e = http->old_entry)) { http->old_entry = NULL; - storeUnregister(http->old_sc, e, http); + storeClientUnregister(http->old_sc, e, http); http->old_sc = NULL; storeUnlockObject(e); } @@ -1231,6 +1391,8 @@ authenticateOnCloseConnection(connState); memFreeBuf(connState->in.size, connState->in.buf); pconnHistCount(0, connState->nrequests); + if (connState->pinning.fd >= 0) + comm_close(connState->pinning.fd); cbdataFree(connState); #ifdef _SQUID_LINUX_ /* prevent those nasty RST packets */ @@ -1245,7 +1407,7 @@ clientInterpretRequestHeaders(clientHttpRequest * http) { request_t *request = http->request; - const HttpHeader *req_hdr = &request->header; + HttpHeader *req_hdr = &request->header; int no_cache = 0; const char *str; request->imslen = -1; @@ -1293,21 +1455,44 @@ #endif request->flags.nocache = 1; } + if (Config.onoff.pipeline_prefetch) + request->flags.no_connection_auth = 1; + /* ignore range header in non-GETs */ if (request->method == METHOD_GET) { request->range = httpHeaderGetRange(req_hdr); if (request->range) request->flags.range = 1; } - /* If any connection has been pinned to this client, force keep alive */ - if (http->conn->pinned) { - request->flags.must_keepalive = 1; + if (httpHeaderHas(req_hdr, HDR_AUTHORIZATION) || httpHeaderHas(req_hdr, HDR_PROXY_AUTHORIZATION)) { + HttpHeaderPos pos = HttpHeaderInitPos; + HttpHeaderEntry *e; request->flags.auth = 1; - request->flags.pinned = 1; + while ((e = httpHeaderGetEntry(req_hdr, &pos))) { + if (e->id == HDR_AUTHORIZATION || e->id == HDR_PROXY_AUTHORIZATION) { + if (!request->flags.no_connection_auth) { + const char *value = strBuf(e->value); + if (strncasecmp(value, "NTLM ", 5) == 0 + || + strncasecmp(value, "Negotiate ", 10) == 0 + || + strncasecmp(value, "Kerberos ", 9) == 0) { + request->flags.connection_auth = 1; + request->flags.must_keepalive = 1; + /* the pinned connection is set below */ + break; + } + } else { + httpHeaderDelAt(req_hdr, pos); + } + } + } } - if (httpHeaderHas(req_hdr, HDR_AUTHORIZATION)) + if (request->flags.connection_auth || http->conn->pinning.fd != -1) { request->flags.auth = 1; - else if (request->login[0] != '\0') + request->pinned_connection = http->conn; + cbdataLock(request->pinned_connection); + } else if (request->login[0] != '\0') request->flags.auth = 1; if (httpHeaderHas(req_hdr, HDR_VIA)) { String s = httpHeaderGetList(req_hdr, HDR_VIA); @@ -1705,25 +1890,27 @@ } /* Filter unproxyable authentication types */ if (http->log_type != LOG_TCP_DENIED && - (httpHeaderHas(hdr, HDR_WWW_AUTHENTICATE) || httpHeaderHas(hdr, HDR_PROXY_AUTHENTICATE))) { + (httpHeaderHas(hdr, HDR_WWW_AUTHENTICATE))) { HttpHeaderPos pos = HttpHeaderInitPos; HttpHeaderEntry *e; while ((e = httpHeaderGetEntry(hdr, &pos))) { - if (e->id == HDR_WWW_AUTHENTICATE || e->id == HDR_PROXY_AUTHENTICATE) { + if (e->id == HDR_WWW_AUTHENTICATE) { const char *value = strBuf(e->value); if ((strncasecmp(value, "NTLM", 4) == 0 && (value[4] == '\0' || value[4] == ' ')) || (strncasecmp(value, "Negotiate", 9) == 0 && - (value[9] == '\0' || value[9] == ' '))) { - - if (!request->flags.accelerated) { + (value[9] == '\0' || value[9] == ' ')) + || + (strncasecmp(value, "Kerberos", 8) == 0 && + (value[8] == '\0' || value[8] == ' '))) { + if (request->flags.no_connection_auth) { + httpHeaderDelAt(hdr, pos); + continue; + } else if (!request->flags.accelerated) { httpHeaderPutStr(hdr, HDR_PROXY_SUPPORT, "Session-Based-Authentication"); httpHeaderPutStr(hdr, HDR_CONNECTION, "Proxy-support"); } - request->flags.pinned = 1; - request->flags.must_keepalive = 1; - http->conn->pinned = 1; break; } } @@ -1755,6 +1942,10 @@ } if (!Config.onoff.client_pconns && !request->flags.must_keepalive) request->flags.proxy_keepalive = 0; + if (request->flags.connection_auth && !rep->keep_alive) { + debug(33, 2) ("clientBuildReplyHeader: Connection oriented auth but server side non-persistent\n"); + request->flags.proxy_keepalive = 0; + } /* Append Via */ { LOCAL_ARRAY(char, bbuf, MAX_URL + 32); @@ -1864,7 +2055,7 @@ http->log_type = LOG_TCP_SWAPFAIL_MISS; if ((e = http->entry)) { http->entry = NULL; - storeUnregister(http->sc, e, http); + storeClientUnregister(http->sc, e, http); http->sc = NULL; storeUnlockObject(e); } @@ -1917,14 +2108,14 @@ store_client *sc = http->sc; http->entry = NULL; /* saved in e */ memFree(buf, MEM_CLIENT_SOCK_BUF); - /* Warning: storeUnregister may abort the object so we must + /* Warning: storeClientUnregister may abort the object so we must * call storeLocateVary before unregistering, and * storeLocateVary may complete immediately so we cannot * rely on the http structure for this... */ http->sc = NULL; storeLocateVary(e, e->mem_obj->reply->hdr_sz, r->vary_headers, clientProcessVary, http); - storeUnregister(sc, e, http); + storeClientUnregister(sc, e, http); storeUnlockObject(e); /* Note: varyEvalyateMatch updates the request with vary information * so we only get here once. (it also takes care of cancelling loops) @@ -1942,7 +2133,7 @@ if (r->method == METHOD_PURGE) { memFree(buf, MEM_CLIENT_SOCK_BUF); http->entry = NULL; - storeUnregister(http->sc, e, http); + storeClientUnregister(http->sc, e, http); http->sc = NULL; storeUnlockObject(e); clientPurgeRequest(http); @@ -2092,7 +2283,7 @@ MemBuf mb = httpPacked304Reply(e->mem_obj->reply); http->log_type = LOG_TCP_IMS_HIT; memFree(buf, MEM_CLIENT_SOCK_BUF); - storeUnregister(http->sc, e, http); + storeClientUnregister(http->sc, e, http); http->sc = NULL; storeUnlockObject(e); e = clientCreateStoreEntry(http, http->request->method, null_request_flags); @@ -2448,7 +2639,7 @@ if (http->log_type != LOG_TCP_DENIED && clientReplyBodyTooLarge(http, rep->content_length)) { ErrorState *err = errorCon(ERR_TOO_BIG, HTTP_FORBIDDEN); err->request = requestLink(http->orig_request); - storeUnregister(http->sc, http->entry, http); + storeClientUnregister(http->sc, http->entry, http); http->sc = NULL; storeUnlockObject(http->entry); http->log_type = LOG_TCP_DENIED; @@ -2610,7 +2801,7 @@ page_id = ERR_ACCESS_DENIED; err = errorCon(page_id, HTTP_FORBIDDEN); err->request = requestLink(http->orig_request); - storeUnregister(http->sc, http->entry, http); + storeClientUnregister(http->sc, http->entry, http); http->sc = NULL; storeUnlockObject(http->entry); http->log_type = LOG_TCP_DENIED; @@ -2634,12 +2825,12 @@ if (e) { clientHttpRequest *http = state->http; /* Get rid of the old request entry */ - storeUnregister(http->sc, http->entry, http); + storeClientUnregister(http->sc, http->entry, http); storeUnlockObject(http->entry); /* Attach ourselves to the new request entry */ http->entry = e; storeLockObject(e); - http->sc = storeClientListAdd(http->entry, http); + http->sc = storeClientRegister(http->entry, http); /* Adjust the header size */ state->http->reply->hdr_sz = body_offset; /* Clean up any old body content */ @@ -2832,6 +3023,11 @@ debug(33, 3) ("clientKeepaliveNextRequest: FD %d\n", conn->fd); conn->defer.until = 0; /* Kick it to read a new request */ httpRequestFree(http); + if (conn->pinning.pinned && conn->pinning.fd == -1) { + debug(33, 2) ("clientKeepaliveNextRequest: FD %d Connection was pinned but server side gone. Terminating client connection\n", conn->fd); + comm_close(conn->fd); + return; + } if ((http = conn->chr) == NULL) { debug(33, 5) ("clientKeepaliveNextRequest: FD %d reading next req\n", conn->fd); @@ -2840,17 +3036,7 @@ * Set the timeout BEFORE calling clientReadRequest(). */ commSetTimeout(conn->fd, Config.Timeout.persistent_request, requestTimeout, conn); - /* - * CYGWIN has a problem and is blocking on read() requests when there - * is no data present. - * This hack may hit performance a little, but it's better than - * blocking!. - */ -#ifdef _SQUID_CYGWIN_ - commSetSelect(conn->fd, COMM_SELECT_READ, clientReadRequest, conn, 0); -#else clientReadRequest(conn->fd, conn); /* Read next request */ -#endif /* * Note, the FD may be closed at this point. */ @@ -2861,7 +3047,7 @@ */ /* if it was a pipelined CONNECT kick it alive here */ if (http->request->method == METHOD_CONNECT) - clientAccessCheck(http); + clientCheckFollowXForwardedFor(http); } else { debug(33, 2) ("clientKeepaliveNextRequest: FD %d Sending next\n", conn->fd); @@ -2987,7 +3173,7 @@ err->request = requestLink(http->orig_request); err->src_addr = http->conn->peer.sin_addr; if (http->entry) { - storeUnregister(http->sc, http->entry, http); + storeClientUnregister(http->sc, http->entry, http); http->sc = NULL; storeUnlockObject(http->entry); } @@ -3181,7 +3367,7 @@ } storeCreateMemObject(http->entry, http->uri, http->log_uri); http->entry->mem_obj->method = r->method; - http->sc = storeClientListAdd(http->entry, http); + http->sc = storeClientRegister(http->entry, http); #if DELAY_POOLS delaySetStoreClient(http->sc, delayClient(http)); #endif @@ -3223,7 +3409,7 @@ /* touch timestamp for refresh_stale_hit */ if (http->entry->mem_obj) http->entry->mem_obj->refresh_timestamp = squid_curtime; - storeUnregister(http->sc, http->entry, http); + storeClientUnregister(http->sc, http->entry, http); http->sc = NULL; storeUnlockObject(http->entry); http->entry = NULL; @@ -3259,7 +3445,6 @@ storeReleaseRequest(http->entry); httpRedirectReply(rep, http->redirect.status, http->redirect.location); httpReplySwapOut(rep, http->entry); - httpReplyAbsorb(http->entry->mem_obj->reply, rep); storeComplete(http->entry); return; } @@ -3535,22 +3720,16 @@ ConnStateData *conn = data; if (conn->body.size_left && !F->flags.socket_eof) { if (conn->in.offset >= conn->in.size - 1) { -#if USE_EPOLL - /* The commResumeFD function is called in this file */ - conn->in.clientfd = fd; commDeferFD(fd); -#endif return 1; } else { return 0; } } else { if (conn->defer.until > squid_curtime) { -#if USE_EPOLL /* This is a second resolution timer, so commEpollBackon will * handle the resume for this defer call */ commDeferFD(fd); -#endif return 1; } else { return 0; @@ -3730,9 +3909,9 @@ safe_free(prefix); break; } - if (conn->port->urlgroup) - request->urlgroup = xstrdup(conn->port->urlgroup); - request->flags.accelerated = http->flags.accel; + safe_free(prefix); + safe_free(http->log_uri); + http->log_uri = xstrdup(urlCanonicalClean(request)); if (!http->flags.internal && internalCheck(strBuf(request->urlpath))) { if (internalHostnameIs(request->host)) http->flags.internal = 1; @@ -3741,20 +3920,24 @@ if (http->flags.internal) { request_t *old_request = requestLink(request); request = urlParse(method, internalStoreUri("", strBuf(request->urlpath))); + httpHeaderAppend(&request->header, &old_request->header); requestUnlink(old_request); } } + if (conn->port->urlgroup) + request->urlgroup = xstrdup(conn->port->urlgroup); + request->flags.accelerated = http->flags.accel; /* * cache the Content-length value in request_t. */ request->content_length = httpHeaderGetSize(&request->header, HDR_CONTENT_LENGTH); request->flags.internal = http->flags.internal; - safe_free(prefix); - safe_free(http->log_uri); - http->log_uri = xstrdup(urlCanonicalClean(request)); request->client_addr = conn->peer.sin_addr; request->client_port = conn->peer.sin_port; +#if FOLLOW_X_FORWARDED_FOR + request->indirect_client_addr = request->client_addr; +#endif /* FOLLOW_X_FORWARDED_FOR */ request->my_addr = conn->me.sin_addr; request->my_port = ntohs(conn->me.sin_port); request->client_port = ntohs(conn->peer.sin_port); @@ -3805,7 +3988,7 @@ /* Stop reading requests... */ commSetSelect(fd, COMM_SELECT_READ, NULL, NULL, 0); if (conn->chr == http) - clientAccessCheck(http); + clientCheckFollowXForwardedFor(http); else { debug(33, 1) ("WARNING: pipelined CONNECT request seen from %s\n", inet_ntoa(http->conn->peer.sin_addr)); debugObj(33, 1, "Previous request:\n", conn->chr->request, (ObjPackMethod) & httpRequestPackDebug); @@ -3813,7 +3996,7 @@ } break; } else { - clientAccessCheck(http); + clientCheckFollowXForwardedFor(http); } } else if (parser_return_code == 0) { /* @@ -3952,15 +4135,9 @@ conn->body.size_left -= size; /* Move any remaining data */ conn->in.offset -= size; -#if USE_EPOLL /* Resume the fd if necessary */ - if (conn->in.clientfd) { - if (conn->in.offset < conn->in.size - 1) { - commResumeFD(conn->in.clientfd); - conn->in.clientfd = 0; - } - } -#endif + if (conn->in.offset < conn->in.size - 1) + commResumeFD(conn->fd); if (conn->in.offset > 0) xmemmove(conn->in.buf, conn->in.buf + size, conn->in.offset); /* Remove request link if this is the last part of the body, as @@ -4218,7 +4395,7 @@ if (pffd < 0) { pffd = open("/dev/pf", O_RDWR); if (pffd >= 0) - commSetCloseOnExec(natfd); + commSetCloseOnExec(pffd); } if (pffd < 0) { debug(50, 1) ("parseHttpRequest: PF open failed: %s\n", @@ -4244,7 +4421,7 @@ } return -1; } else { - int natted = conn->me.sin_addr.s_addr != nt.rdaddr.v4.s_addr; + int natted = conn->me.sin_addr.s_addr != nl.rdaddr.v4.s_addr; conn->me.sin_port = nl.rdport; conn->me.sin_addr = nl.rdaddr.v4; if (natted) @@ -4301,6 +4478,7 @@ connState->log_addr.s_addr &= Config.Addrs.client_netmask.s_addr; connState->me = me; connState->fd = fd; + connState->pinning.fd = -1; connState->in.buf = memAllocBuf(CLIENT_REQ_BUF_SZ, &connState->in.size); if (connState->port->transparent) { if (clientNatLookup(connState) == 0) { @@ -4767,4 +4945,52 @@ return VARY_MATCH; } } +} + +/* This is a handler normally called by comm_close() */ +static void +clientPinnedConnectionClosed(int fd, void *data) +{ + ConnStateData *conn = data; + conn->pinning.fd = -1; + safe_free(conn->pinning.host); + /* NOTE: pinning.pinned should be kept. This combined with fd == -1 at the end of a request indicates that the host + * connection has gone away */ +} + +void +clientPinConnection(ConnStateData * conn, const char *host, int port, int fd) +{ + if (!cbdataValid(conn)) + comm_close(fd); + if (conn->pinning.fd == fd) + return; + assert(conn->pinning.fd == -1); + conn->pinning.fd = fd; + safe_free(conn->pinning.host); + conn->pinning.host = xstrdup(host); + conn->pinning.port = port; + conn->pinning.pinned = 1; + comm_add_close_handler(fd, clientPinnedConnectionClosed, conn); +} + +int +clientGetPinnedConnection(ConnStateData * conn, request_t * request) +{ + int fd = conn->pinning.fd; + + if (fd < 0) + return -1; + + if (request && strcasecmp(conn->pinning.host, request->host) != 0) { + comm_close(fd); + return -1; + } + if (request && conn->pinning.port != request->port) { + comm_close(fd); + return -1; + } + conn->pinning.fd = -1; + comm_remove_close_handler(fd, clientPinnedConnectionClosed, conn); + return fd; } diff -ruN squid-2.6.PRE1/src/comm_epoll.c squid-2.6.PRE2/src/comm_epoll.c --- squid-2.6.PRE1/src/comm_epoll.c Mon May 29 15:12:27 2006 +++ squid-2.6.PRE2/src/comm_epoll.c Sat Jun 3 17:19:17 2006 @@ -1,6 +1,6 @@ /* - * $Id: comm_epoll.c,v 1.8 2006/05/29 21:12:27 hno Exp $ + * $Id: comm_epoll.c,v 1.15 2006/06/03 23:19:17 hno Exp $ * * DEBUG: section 5 Socket Functions * @@ -36,13 +36,17 @@ static int MAX_POLL_TIME = 1000; /* see also comm_quick_poll_required() */ +#define MAX_EVENTS 256 /* max events to process in one go */ + /* epoll structs */ static int kdpfd; -static struct epoll_event *pevents; +static struct epoll_event events[MAX_EVENTS]; +static int epoll_fds = 0; static void checkTimeouts(void); static int commDeferRead(int fd); + static const char * epolltype_atoi(int x) { @@ -68,16 +72,12 @@ { fde *F = &fd_table[fd]; - /* die if we have no fd (very unlikely), if the fd has no existing epoll - * state, if we are given a bad fd, or if the fd is not open. */ assert(fd >= 0); - assert(F->epoll_state); assert(F->flags.open); - /* Return if the fd is already backed off */ - if (F->epoll_backoff) { + if (F->epoll_backoff) return; - } + F->epoll_backoff = 1; commUpdateEvents(fd, 0); } @@ -88,12 +88,12 @@ { fde *F = &fd_table[fd]; - /* If the fd has been modified, do nothing and remove the flag */ - if (!(F->read_handler) || !(F->epoll_backoff)) { - debug(5, 2) ("commResumeFD: fd=%d ignoring read_handler=%p, epoll_backoff=%d\n", fd, F->read_handler, F->epoll_backoff); - F->epoll_backoff = 0; + assert(fd >= 0); + assert(F->flags.open); + + if (!F->epoll_backoff) return; - } + F->epoll_backoff = 0; commUpdateEvents(fd, 0); } @@ -101,10 +101,6 @@ void comm_select_init() { - pevents = (struct epoll_event *) xmalloc(SQUID_MAXFD * sizeof(struct epoll_event)); - if (!pevents) { - fatalf("comm_select_init: xmalloc() failed: %s\n", xstrerror()); - } kdpfd = epoll_create(SQUID_MAXFD); fd_open(kdpfd, FD_UNKNOWN, "epoll ctl"); commSetCloseOnExec(kdpfd); @@ -120,7 +116,6 @@ close(kdpfd); fd_close(kdpfd); kdpfd = -1; - safe_free(pevents); } void @@ -155,7 +150,7 @@ F->epoll_state = 0; if (ev.events != F->epoll_state) { - // If the struct is already in epoll MOD or DEL, else ADD + /* If the struct is already in epoll MOD or DEL, else ADD */ if (F->epoll_state) { epoll_ctl_type = ev.events ? EPOLL_CTL_MOD : EPOLL_CTL_DEL; } else { @@ -169,133 +164,156 @@ debug(5, 1) ("commSetSelect: epoll_ctl(%s): failed on fd=%d: %s\n", epolltype_atoi(epoll_ctl_type), fd, xstrerror()); } + switch (epoll_ctl_type) { + case EPOLL_CTL_ADD: + epoll_fds++; + break; + case EPOLL_CTL_DEL: + epoll_fds--; + break; + default: + break; + } + } +} + +static void +comm_call_handlers(int fd, int read_event, int write_event) +{ + fde *F = &fd_table[fd]; + debug(5, 8) ("comm_call_handlers(): got fd=%d read_event=%x write_event=%x F->read_handler=%p F->write_handler=%p\n" + ,fd, read_event, write_event, F->read_handler, F->write_handler); + if (F->read_handler) { + int do_read = 0; + switch (F->read_pending) { + case COMM_PENDING_NORMAL: + case COMM_PENDING_WANTS_READ: + do_read = read_event; + break; + case COMM_PENDING_WANTS_WRITE: + do_read = write_event; + break; + case COMM_PENDING_NOW: + do_read = 1; + break; + } + if (do_read) { + PF *hdl = F->read_handler; + void *hdl_data = F->read_data; + /* If the descriptor is meant to be deferred, don't handle */ + switch (commDeferRead(fd)) { + case 1: + if (!(F->epoll_backoff)) { + debug(5, 1) ("comm_epoll(): WARNING defer handler for fd=%d (desc=%s) does not call commDeferFD() - backing off manually\n", fd, F->desc); + commDeferFD(fd); + } + break; + default: + debug(5, 8) ("comm_epoll(): Calling read handler on fd=%d\n", fd); +#if SIMPLE_COMM_HANDLER + commUpdateReadHandler(fd, NULL, NULL); + hdl(fd, hdl_data); +#else + /* Optimized version to avoid the fd bouncing in/out of the waited set */ + F->read_handler = NULL; + F->read_data = NULL; + F->read_pending = COMM_PENDING_NORMAL; + hdl(fd, hdl_data); + if (F->flags.open && !F->read_handler) + commUpdateEvents(fd, 0); +#endif + statCounter.select_fds++; + } + } + } + if (F->write_handler) { + int do_write = 0; + switch (F->write_pending) { + case COMM_PENDING_WANTS_READ: + do_write = read_event; + break; + case COMM_PENDING_NORMAL: + case COMM_PENDING_WANTS_WRITE: + do_write = write_event; + break; + case COMM_PENDING_NOW: + do_write = 1; + break; + } + if (do_write) { + PF *hdl = F->write_handler; + void *hdl_data = F->write_data; +#if SIMPLE_COMM_HANDLER + commUpdateWriteHandler(fd, NULL, NULL); + hdl(fd, hdl_data); +#else + /* Optimized version to avoid the fd bouncing in/out of the waited set */ + F->write_handler = NULL; + F->write_data = NULL; + F->write_pending = COMM_PENDING_NORMAL; + hdl(fd, hdl_data); + if (F->flags.open) + commUpdateEvents(fd, 0); +#endif + statCounter.select_fds++; + } } } int -comm_epoll(int msec) +comm_select(int msec) { - struct timespec ts; static time_t last_timeout = 0; int i; int num; int fd; - fde *F; struct epoll_event *cevents; - double timeout = current_dtime + (msec / 1000.0); + double timeout; + double start = current_dtime; - if (msec > MAX_POLL_TIME) - msec = MAX_POLL_TIME; + timeout = current_dtime + (msec / 1000.0); debug(50, 3) ("comm_epoll: timeout %d\n", msec); - do { - double start; - getCurrentTime(); - start = current_dtime; - ts.tv_sec = msec / 1000; - ts.tv_nsec = (msec % 1000) * 1000; - - /* Check timeouts once per second */ - if (last_timeout < squid_curtime) { - last_timeout = squid_curtime; - checkTimeouts(); - } - /* Check for disk io callbacks */ - storeDirCallback(); - - for (;;) { - statCounter.syscalls.polls++; - num = epoll_wait(kdpfd, pevents, SQUID_MAXFD, msec); - statCounter.select_loops++; - - if (num >= 0) - break; - - if (ignoreErrno(errno)) - break; - - debug(5, 0) ("comm_epoll: epoll failure: %s\n", xstrerror()); + if (epoll_fds == 0) { + assert(shutting_down); + return COMM_SHUTDOWN; + } + /* Check for disk io callbacks */ + storeDirCallback(); - return COMM_ERROR; - } + /* Check timeouts once per second */ + if (last_timeout != squid_curtime) { + last_timeout = squid_curtime; + checkTimeouts(); + } + statCounter.syscalls.polls++; + num = epoll_wait(kdpfd, events, MAX_EVENTS, msec); + statCounter.select_loops++; - statHistCount(&statCounter.select_fds_hist, num); + if (num < 0) { + getCurrentTime(); + if (ignoreErrno(errno)) + return COMM_OK; - if (num <= 0) - continue; + debug(5, 1) ("comm_epoll: epoll failure: %s\n", xstrerror()); + return COMM_ERROR; + } + statHistCount(&statCounter.select_fds_hist, num); - for (i = 0, cevents = pevents; i < num; i++, cevents++) { + if (num > 0) { + for (i = 0, cevents = events; i < num; i++, cevents++) { fd = cevents->data.fd; - F = &fd_table[fd]; - debug(5, 8) ("comm_epoll(): got fd=%d events=%x monitoring=%x F->read_handler=%p F->write_handler=%p\n" - ,fd, cevents->events, F->epoll_state, F->read_handler, F->write_handler); - if (F->read_handler) { - int do_read = 0; - switch (F->read_pending) { - case COMM_PENDING_NORMAL: - case COMM_PENDING_WANTS_READ: - do_read = cevents->events & EPOLLIN; - break; - case COMM_PENDING_WANTS_WRITE: - do_read = cevents->events & EPOLLOUT; - break; - case COMM_PENDING_NOW: - do_read = 1; - break; - } - do_read |= cevents->events & (EPOLLHUP | EPOLLERR); - if (do_read) { - PF *hdl = F->read_handler; - void *hdl_data = F->read_data; - // If the descriptor is meant to be deferred, don't handle - switch (commDeferRead(fd)) { - case 1: - if (!(F->epoll_backoff)) { - debug(5, 1) ("comm_epoll(): WARNING defer handler for fd=%d (desc=%s) does not call commDeferFD() - backing off manually\n", fd, F->desc); - commDeferFD(fd); - } - break; - default: - debug(5, 8) ("comm_epoll(): Calling read handler on fd=%d\n", fd); - commUpdateReadHandler(fd, NULL, NULL); - hdl(fd, hdl_data); - statCounter.select_fds++; - } - } - } - if (F->write_handler) { - int do_write = 0; - switch (F->write_pending) { - case COMM_PENDING_WANTS_READ: - do_write = cevents->events & EPOLLIN; - break; - case COMM_PENDING_NORMAL: - case COMM_PENDING_WANTS_WRITE: - do_write = cevents->events & EPOLLOUT; - break; - case COMM_PENDING_NOW: - do_write = 1; - break; - } - do_write |= cevents->events & (EPOLLHUP | EPOLLERR); - if (do_write) { - PF *hdl = F->write_handler; - void *hdl_data = F->write_data; - commUpdateWriteHandler(fd, NULL, NULL); - hdl(fd, hdl_data); - statCounter.select_fds++; - } - } + comm_call_handlers(fd, cevents->events & ~EPOLLOUT, cevents->events & ~EPOLLIN); } getCurrentTime(); statCounter.select_time += (current_dtime - start); return COMM_OK; + } else { + getCurrentTime(); + debug(5, 8) ("comm_epoll: time out: %ld.\n", (long int) squid_curtime); + return COMM_TIMEOUT; } - while (timeout > current_dtime); - - debug(5, 8) ("comm_epoll: time out: %ld.\n", (long int) squid_curtime); - return COMM_TIMEOUT; } static int diff -ruN squid-2.6.PRE1/src/comm_poll.c squid-2.6.PRE2/src/comm_poll.c --- squid-2.6.PRE1/src/comm_poll.c Sun May 28 21:08:57 2006 +++ squid-2.6.PRE2/src/comm_poll.c Sat Jun 3 14:26:19 2006 @@ -1,6 +1,6 @@ /* - * $Id: comm_poll.c,v 1.11 2006/05/29 03:08:57 hno Exp $ + * $Id: comm_poll.c,v 1.13 2006/06/03 20:26:19 hno Exp $ * * DEBUG: section 5 Socket Functions * @@ -280,7 +280,7 @@ /* poll all sockets; call handlers for those that are ready. */ int -comm_poll(int msec) +comm_select(int msec) { struct pollfd pfds[SQUID_MAXFD]; #if DELAY_POOLS @@ -653,4 +653,18 @@ comm_quick_poll_required(void) { MAX_POLL_TIME = 10; +} + +/* Defer reads from this fd */ +void +commDeferFD(int fd) +{ + /* Not implemented */ +} + +/* Resume reading from the given fd */ +void +commResumeFD(int fd) +{ + /* Not implemented */ } diff -ruN squid-2.6.PRE1/src/comm_select.c squid-2.6.PRE2/src/comm_select.c --- squid-2.6.PRE1/src/comm_select.c Sun May 28 21:08:57 2006 +++ squid-2.6.PRE2/src/comm_select.c Thu Jun 1 18:07:40 2006 @@ -1,6 +1,6 @@ /* - * $Id: comm_select.c,v 1.72 2006/05/29 03:08:57 hno Exp $ + * $Id: comm_select.c,v 1.73 2006/06/02 00:07:40 hno Exp $ * * DEBUG: section 5 Socket Functions * @@ -716,4 +716,18 @@ comm_quick_poll_required(void) { MAX_POLL_TIME = 10; +} + +/* Defer reads from this fd */ +void +commDeferFD(int fd) +{ + /* Not implemented */ +} + +/* Resume reading from the given fd */ +void +commResumeFD(int fd) +{ + /* Not implemented */ } diff -ruN squid-2.6.PRE1/src/delay_pools.c squid-2.6.PRE2/src/delay_pools.c --- squid-2.6.PRE1/src/delay_pools.c Fri Apr 28 04:17:21 2006 +++ squid-2.6.PRE2/src/delay_pools.c Sat Jun 3 20:27:54 2006 @@ -1,6 +1,6 @@ /* - * $Id: delay_pools.c,v 1.29 2006/04/28 10:17:21 hno Exp $ + * $Id: delay_pools.c,v 1.30 2006/06/04 02:27:54 hno Exp $ * * DEBUG: section 77 Delay Pools * AUTHOR: David Luyer @@ -319,7 +319,12 @@ r = http->request; memset(&ch, '\0', sizeof(ch)); - ch.src_addr = r->client_addr; +#if FOLLOW_X_FORWARDED_FOR + if (Config.onoff.delay_pool_uses_indirect_client) { + ch.src_addr = r->indirect_client_addr; + } else +#endif /* FOLLOW_X_FORWARDED_FOR */ + ch.src_addr = r->client_addr; ch.my_addr = r->my_addr; ch.my_port = r->my_port; ch.conn = http->conn; diff -ruN squid-2.6.PRE1/src/dns.c squid-2.6.PRE2/src/dns.c --- squid-2.6.PRE1/src/dns.c Mon May 15 19:12:35 2006 +++ squid-2.6.PRE2/src/dns.c Wed May 31 04:57:49 2006 @@ -1,6 +1,6 @@ /* - * $Id: dns.c,v 1.90 2006/05/16 01:12:35 hno Exp $ + * $Id: dns.c,v 1.91 2006/05/31 10:57:49 serassio Exp $ * * DEBUG: section 34 Dnsserver interface * AUTHOR: Harvest Derived @@ -35,6 +35,11 @@ #include "squid.h" +/* MS VisualStudio Projects are monolithic, so we need the following + * #if to exclude the external DNS code from compile process when + * using Internal DNS. + */ +#if USE_DNSSERVERS static helper *dnsservers = NULL; static void @@ -138,3 +143,4 @@ return Answer; } #endif /*SQUID_SNMP */ +#endif /* USE_DNSSERVERS */ diff -ruN squid-2.6.PRE1/src/dns_internal.c squid-2.6.PRE2/src/dns_internal.c --- squid-2.6.PRE1/src/dns_internal.c Wed May 24 14:05:49 2006 +++ squid-2.6.PRE2/src/dns_internal.c Wed May 31 05:01:41 2006 @@ -1,6 +1,6 @@ /* - * $Id: dns_internal.c,v 1.56 2006/05/24 20:05:49 hno Exp $ + * $Id: dns_internal.c,v 1.57 2006/05/31 11:01:41 serassio Exp $ * * DEBUG: section 78 DNS lookups; interacts with lib/rfc1035.c * AUTHOR: Duane Wessels @@ -35,7 +35,7 @@ #include "squid.h" -/* MS VisualStudio Projects are monolitich, so we need the following +/* MS VisualStudio Projects are monolithic, so we need the following * #ifndef to exclude the internal DNS code from compile process when * using External DNS process. */ @@ -1025,5 +1025,5 @@ } return Answer; } -#endif /*SQUID_SNMP */ +#endif /* SQUID_SNMP */ #endif /* USE_DNSSERVERS */ diff -ruN squid-2.6.PRE1/src/errormap.c squid-2.6.PRE2/src/errormap.c --- squid-2.6.PRE1/src/errormap.c Mon May 15 19:08:28 2006 +++ squid-2.6.PRE2/src/errormap.c Mon Jun 5 16:47:01 2006 @@ -1,6 +1,6 @@ /* - * $Id: errormap.c,v 1.1 2006/05/16 01:08:28 hno Exp $ + * $Id: errormap.c,v 1.2 2006/06/05 22:47:01 hno Exp $ * * DEBUG: section ?? Error Beautifier * AUTHOR: Henrik Nordstrom @@ -89,7 +89,7 @@ static void errorMapFetchComplete(ErrorMapState * state) { - storeUnregister(state->sc, state->e, state); + storeClientUnregister(state->sc, state->e, state); state->sc = NULL; storeUnlockObject(state->e); state->e = NULL; @@ -186,7 +186,7 @@ state = cbdataAlloc(ErrorMapState); state->req = requestLink(req); state->e = storeCreateEntry(errorUrl, errorUrl, req->flags, req->method); - state->sc = storeClientListAdd(state->e, state); + state->sc = storeClientRegister(state->e, state); state->callback = callback; state->callback_data = callback_data; cbdataLock(callback_data); diff -ruN squid-2.6.PRE1/src/errorpage.c squid-2.6.PRE2/src/errorpage.c --- squid-2.6.PRE1/src/errorpage.c Sat May 27 09:50:16 2006 +++ squid-2.6.PRE2/src/errorpage.c Mon Jun 5 14:36:20 2006 @@ -1,6 +1,6 @@ /* - * $Id: errorpage.c,v 1.184 2006/05/27 15:50:16 serassio Exp $ + * $Id: errorpage.c,v 1.185 2006/06/05 20:36:20 hno Exp $ * * DEBUG: section 4 Error Generation * AUTHOR: Duane Wessels @@ -320,7 +320,6 @@ */ authenticateFixHeader(rep, err->auth_user_request, err->request, 0, 1); httpReplySwapOut(rep, entry); - httpReplyAbsorb(mem->reply, rep); EBIT_CLR(entry->flags, ENTRY_FWD_HDR_WAIT); storeBufferFlush(entry); storeComplete(entry); diff -ruN squid-2.6.PRE1/src/fd.c squid-2.6.PRE2/src/fd.c --- squid-2.6.PRE1/src/fd.c Sun May 28 20:55:45 2006 +++ squid-2.6.PRE2/src/fd.c Tue May 30 07:05:57 2006 @@ -1,6 +1,6 @@ /* - * $Id: fd.c,v 1.49 2006/05/29 02:55:45 hno Exp $ + * $Id: fd.c,v 1.50 2006/05/30 13:05:57 hno Exp $ * * DEBUG: section 51 Filedescriptor Functions * AUTHOR: Duane Wessels @@ -84,11 +84,6 @@ assert(F->write_handler == NULL); } debug(51, 3) ("fd_close FD %d %s\n", fd, F->desc); -#if USE_EPOLL - /* the epoll code needs to update the descriptor before flags.ope is 0 */ - commSetSelect(fd, COMM_SELECT_READ, NULL, NULL, 0); - commSetSelect(fd, COMM_SELECT_WRITE, NULL, NULL, 0); -#endif commSetEvents(fd, 0, 0, 0); F->flags.open = 0; fdUpdateBiggest(fd, 0); diff -ruN squid-2.6.PRE1/src/forward.c squid-2.6.PRE2/src/forward.c --- squid-2.6.PRE1/src/forward.c Mon May 29 10:32:39 2006 +++ squid-2.6.PRE2/src/forward.c Mon Jun 5 23:57:55 2006 @@ -1,6 +1,6 @@ /* - * $Id: forward.c,v 1.102 2006/05/29 16:32:39 hno Exp $ + * $Id: forward.c,v 1.107 2006/06/06 05:57:55 hno Exp $ * * DEBUG: section 17 Request Forwarding * AUTHOR: Duane Wessels @@ -118,7 +118,7 @@ fwdState->request = NULL; if (fwdState->err) errorStateFree(fwdState->err); - storeUnregisterAbort(e); + storeClientUnregisterAbort(e); storeUnlockObject(e); fwdState->entry = NULL; sfd = fwdState->server_fd; @@ -150,17 +150,14 @@ return 0; if (fwdState->request->flags.body_sent) return 0; + if (fwdState->request->pinned_connection) + return 0; return 1; } static int fwdCheckRetriable(FwdState * fwdState) { - /* If the conneciton is pinned, we want to allow the re-use of this fd - * regardless of method */ - if (fwdState->request->flags.pinned) - return 1; - /* If there is a request body then Squid can only try once * even if the method is indempotent */ @@ -454,6 +451,24 @@ return aclMapTOS(Config.accessList.outgoing_tos, &ch); } +static int +getPinnedFD(request_t * request) +{ + int fd; + ConnStateData *conn = request->pinned_connection; + if (!conn) + return -1; + + fd = clientGetPinnedConnection(conn, request); + + /* No pinned connection. Fall back */ + if (fd < 0 && !request->flags.connection_auth) { + cbdataUnlock(request->pinned_connection); + request->pinned_connection = NULL; + } + return fd; +} + static void fwdConnectStart(void *data) { @@ -494,8 +509,19 @@ ftimeout = 5; if (ftimeout < ctimeout) ctimeout = ftimeout; - if (fwdState->request->flags.pinned) - fd = pconnPop(name, port, domain, &fwdState->request->client_addr, fwdState->request->client_port); + if (fwdState->request->pinned_connection) { + fd = getPinnedFD(fwdState->request); + if (fd >= 0) { + fwdState->server_fd = fd; + fwdState->n_tries++; + fwdState->request->flags.auth = 1; + fwdState->request->flags.connection_auth = 1; + fwdState->request->flags.must_keepalive = 1; + comm_add_close_handler(fd, fwdServerClosed, fwdState); + fwdConnectDone(fd, COMM_OK, fwdState); + return; + } + } #if LINUX_TPROXY if (fd == -1 && (Config.onoff.linux_tproxy) && ((fwdState->request->my_port == Config.tproxy_port) || (Config.tproxy_port == 0))) @@ -873,12 +899,10 @@ else { int i = delayMostBytesWanted(mem, INT_MAX); if (0 == i) { -#if USE_EPOLL if (fd >= 0) { mem->serverfd = fd; commDeferFD(fd); } -#endif return 1; } /* was: rc = -(rc != INT_MAX); */ @@ -889,9 +913,7 @@ } #endif if (EBIT_TEST(e->flags, ENTRY_DEFER_READ)) { -#if USE_EPOLL commDeferFD(mem->serverfd); -#endif return 1; } if (EBIT_TEST(e->flags, ENTRY_FWD_HDR_WAIT)) @@ -903,20 +925,12 @@ * few other corner cases. */ if (fd >= 0 && mem->inmem_hi - mem->inmem_lo > SM_PAGE_SIZE + Config.Store.maxInMemObjSize + Config.readAheadGap) { -#if USE_EPOLL - EBIT_SET(e->flags, ENTRY_DEFER_READ); - mem->serverfd = fd; - commDeferFD(fd); -#endif + storeDeferRead(e, fd); return 1; } } if (fd >= 0 && mem->inmem_hi - storeLowestMemReaderOffset(e) > Config.readAheadGap) { - EBIT_SET(e->flags, ENTRY_DEFER_READ); -#if USE_EPOLL - mem->serverfd = fd; - commDeferFD(fd); -#endif + storeDeferRead(e, fd); return 1; } return rc; diff -ruN squid-2.6.PRE1/src/fqdncache.c squid-2.6.PRE2/src/fqdncache.c --- squid-2.6.PRE1/src/fqdncache.c Wed May 24 20:58:22 2006 +++ squid-2.6.PRE2/src/fqdncache.c Mon May 29 18:56:11 2006 @@ -1,6 +1,6 @@ /* - * $Id: fqdncache.c,v 1.155 2006/05/25 02:58:22 hno Exp $ + * $Id: fqdncache.c,v 1.156 2006/05/30 00:56:11 hno Exp $ * * DEBUG: section 35 FQDN Cache * AUTHOR: Harvest Derived @@ -190,11 +190,6 @@ fqdncache_entry *e = (fqdncache_entry *) hash_lookup(fqdn_table, f->hash.key); if (NULL != e) { /* avoid collision */ - if (f->flags.negcached && !e->flags.negcached && e->expires > squid_curtime) { - /* Don't waste good information */ - fqdncacheFreeEntry(f); - return; - } fqdncacheRelease(e); } hash_join(fqdn_table, &f->hash); diff -ruN squid-2.6.PRE1/src/fs/Makefile.am squid-2.6.PRE2/src/fs/Makefile.am --- squid-2.6.PRE1/src/fs/Makefile.am Thu May 25 00:23:17 2006 +++ squid-2.6.PRE2/src/fs/Makefile.am Fri Jun 2 15:35:39 2006 @@ -1,12 +1,9 @@ # Makefile for storage modules in the Squid Object Cache server # -# $Id: Makefile.am,v 1.5 2006/05/25 06:23:17 hno Exp $ +# $Id: Makefile.am,v 1.6 2006/06/02 21:35:39 hno Exp $ # AUTOMAKE_OPTIONS = subdir-objects - -DIST_SUBDIRS = aufs coss diskd null ufs -SUBDIRS = @STORE_MODULE_SUBDIRS@ EXTRA_LIBRARIES = libaufs.a libcoss.a libdiskd.a libnull.a libufs.a noinst_LIBRARIES = @STORE_LIBS@ diff -ruN squid-2.6.PRE1/src/fs/Makefile.in squid-2.6.PRE2/src/fs/Makefile.in --- squid-2.6.PRE1/src/fs/Makefile.in Thu May 25 06:42:26 2006 +++ squid-2.6.PRE2/src/fs/Makefile.in Fri Jun 2 15:35:39 2006 @@ -16,7 +16,7 @@ # Makefile for storage modules in the Squid Object Cache server # -# $Id: Makefile.in,v 1.30 2006/05/25 12:42:26 hno Exp $ +# $Id: Makefile.in,v 1.31 2006/06/02 21:35:39 hno Exp $ # srcdir = @srcdir@ @@ -89,12 +89,6 @@ $(libdiskd_a_SOURCES) $(libnull_a_SOURCES) $(libufs_a_SOURCES) DIST_SOURCES = $(libaufs_a_SOURCES) $(libcoss_a_SOURCES) \ $(libdiskd_a_SOURCES) $(libnull_a_SOURCES) $(libufs_a_SOURCES) -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -263,8 +257,6 @@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ AUTOMAKE_OPTIONS = subdir-objects -DIST_SUBDIRS = aufs coss diskd null ufs -SUBDIRS = @STORE_MODULE_SUBDIRS@ EXTRA_LIBRARIES = libaufs.a libcoss.a libdiskd.a libnull.a libufs.a noinst_LIBRARIES = @STORE_LIBS@ libaufs_a_SOURCES = aufs/aiops.c aufs/async_io.c aufs/store_asyncufs.h \ @@ -284,7 +276,7 @@ INCLUDES = -I. -I$(top_builddir)/include -I$(top_srcdir)/include \ -I$(top_srcdir)/src -all: all-recursive +all: all-am .SUFFIXES: .SUFFIXES: .c .o .obj @@ -447,77 +439,6 @@ @am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` uninstall-info-am: -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -528,23 +449,10 @@ mkid -fID $$unique tags: TAGS -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ @@ -557,7 +465,7 @@ $$tags $$unique; \ fi ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ @@ -607,35 +515,19 @@ || exit 1; \ fi; \ done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - distdir) \ - || exit 1; \ - fi; \ - done check-am: all-am -check: check-recursive +check: check-am all-am: Makefile $(LIBRARIES) -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -installcheck: installcheck-recursive +installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ @@ -661,23 +553,23 @@ maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive +clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am -distclean: distclean-recursive +distclean: distclean-am -rm -rf aufs/$(DEPDIR) coss/$(DEPDIR) diskd/$(DEPDIR) null/$(DEPDIR) ufs/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags -dvi: dvi-recursive +dvi: dvi-am dvi-am: -html: html-recursive +html: html-am -info: info-recursive +info: info-am info-am: @@ -685,45 +577,41 @@ install-exec-am: -install-info: install-info-recursive +install-info: install-info-am install-man: installcheck-am: -maintainer-clean: maintainer-clean-recursive +maintainer-clean: maintainer-clean-am -rm -rf aufs/$(DEPDIR) coss/$(DEPDIR) diskd/$(DEPDIR) null/$(DEPDIR) ufs/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic -mostlyclean: mostlyclean-recursive +mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic -pdf: pdf-recursive +pdf: pdf-am pdf-am: -ps: ps-recursive +ps: ps-am ps-am: uninstall-am: uninstall-info-am -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-noinstLIBRARIES clean-recursive \ - ctags ctags-recursive distclean distclean-compile \ - distclean-generic distclean-recursive distclean-tags distdir \ - dvi dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-exec install-exec-am \ - install-info install-info-am install-man install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-recursive pdf pdf-am ps ps-am \ - tags tags-recursive uninstall uninstall-am uninstall-info-am +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-noinstLIBRARIES ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-info-am aufs/all: libaufs.a diff -ruN squid-2.6.PRE1/src/fs/aufs/Makefile.am squid-2.6.PRE2/src/fs/aufs/Makefile.am --- squid-2.6.PRE1/src/fs/aufs/Makefile.am Fri Aug 31 05:19:32 2001 +++ squid-2.6.PRE2/src/fs/aufs/Makefile.am Wed Dec 31 17:00:00 1969 @@ -1,2 +0,0 @@ -all clean: - @cd .. && $(MAKE) $(MFLAGS) aufs/$@ diff -ruN squid-2.6.PRE1/src/fs/aufs/Makefile.in squid-2.6.PRE2/src/fs/aufs/Makefile.in --- squid-2.6.PRE1/src/fs/aufs/Makefile.in Thu May 25 06:42:26 2006 +++ squid-2.6.PRE2/src/fs/aufs/Makefile.in Wed Dec 31 17:00:00 1969 @@ -1,369 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = src/fs/aufs -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/cfgaux/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/autoconf.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AR_R = @AR_R@ -AUTH_LIBS = @AUTH_LIBS@ -AUTH_MODULES = @AUTH_MODULES@ -AUTH_OBJS = @AUTH_OBJS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BASIC_AUTH_HELPERS = @BASIC_AUTH_HELPERS@ -CACHE_HTTP_PORT = @CACHE_HTTP_PORT@ -CACHE_ICP_PORT = @CACHE_ICP_PORT@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CGIEXT = @CGIEXT@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CRYPTLIB = @CRYPTLIB@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -ENABLE_HTCP_FALSE = @ENABLE_HTCP_FALSE@ -ENABLE_HTCP_TRUE = @ENABLE_HTCP_TRUE@ -ENABLE_PINGER_FALSE = @ENABLE_PINGER_FALSE@ -ENABLE_PINGER_TRUE = @ENABLE_PINGER_TRUE@ -ENABLE_SSL_FALSE = @ENABLE_SSL_FALSE@ -ENABLE_SSL_TRUE = @ENABLE_SSL_TRUE@ -ENABLE_UNLINKD_FALSE = @ENABLE_UNLINKD_FALSE@ -ENABLE_UNLINKD_TRUE = @ENABLE_UNLINKD_TRUE@ -ENABLE_WIN32SPECIFIC_FALSE = @ENABLE_WIN32SPECIFIC_FALSE@ -ENABLE_WIN32SPECIFIC_TRUE = @ENABLE_WIN32SPECIFIC_TRUE@ -EPOLL_LIBS = @EPOLL_LIBS@ -ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ -ERR_LANGUAGES = @ERR_LANGUAGES@ -EXEEXT = @EXEEXT@ -EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@ -FALSE = @FALSE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBDLMALLOC = @LIBDLMALLOC@ -LIBOBJS = @LIBOBJS@ -LIBREGEX = @LIBREGEX@ -LIBS = @LIBS@ -LIBSASL = @LIBSASL@ -LIB_DB = @LIB_DB@ -LIB_EPOLL = @LIB_EPOLL@ -LIB_LBER = @LIB_LBER@ -LIB_LDAP = @LIB_LDAP@ -LIB_MALLOC = @LIB_MALLOC@ -LN = @LN@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MAKE_LEAKFINDER_FALSE = @MAKE_LEAKFINDER_FALSE@ -MAKE_LEAKFINDER_TRUE = @MAKE_LEAKFINDER_TRUE@ -MKDIR = @MKDIR@ -MV = @MV@ -NEED_OWN_MD5_FALSE = @NEED_OWN_MD5_FALSE@ -NEED_OWN_MD5_TRUE = @NEED_OWN_MD5_TRUE@ -NEED_OWN_SNPRINTF_FALSE = @NEED_OWN_SNPRINTF_FALSE@ -NEED_OWN_SNPRINTF_TRUE = @NEED_OWN_SNPRINTF_TRUE@ -NEED_OWN_STRSEP_FALSE = @NEED_OWN_STRSEP_FALSE@ -NEED_OWN_STRSEP_TRUE = @NEED_OWN_STRSEP_TRUE@ -NEGOTIATE_AUTH_HELPERS = @NEGOTIATE_AUTH_HELPERS@ -NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@ -OBJEXT = @OBJEXT@ -OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PERL = @PERL@ -PKGCONFIG = @PKGCONFIG@ -RANLIB = @RANLIB@ -REGEXLIB = @REGEXLIB@ -REPL_LIBS = @REPL_LIBS@ -REPL_OBJS = @REPL_OBJS@ -REPL_POLICIES = @REPL_POLICIES@ -RM = @RM@ -SET_MAKE = @SET_MAKE@ -SH = @SH@ -SHELL = @SHELL@ -SNMPLIB = @SNMPLIB@ -SSLLIB = @SSLLIB@ -STORE_LIBS = @STORE_LIBS@ -STORE_MODULES = @STORE_MODULES@ -STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@ -STORE_OBJS = @STORE_OBJS@ -STRIP = @STRIP@ -TRUE = @TRUE@ -USE_DELAY_POOLS_FALSE = @USE_DELAY_POOLS_FALSE@ -USE_DELAY_POOLS_TRUE = @USE_DELAY_POOLS_TRUE@ -USE_DNSSERVER_FALSE = @USE_DNSSERVER_FALSE@ -USE_DNSSERVER_TRUE = @USE_DNSSERVER_TRUE@ -USE_EPOLL_FALSE = @USE_EPOLL_FALSE@ -USE_EPOLL_TRUE = @USE_EPOLL_TRUE@ -USE_POLL_FALSE = @USE_POLL_FALSE@ -USE_POLL_TRUE = @USE_POLL_TRUE@ -USE_SELECT_FALSE = @USE_SELECT_FALSE@ -USE_SELECT_TRUE = @USE_SELECT_TRUE@ -USE_SNMP_FALSE = @USE_SNMP_FALSE@ -USE_SNMP_TRUE = @USE_SNMP_TRUE@ -VERSION = @VERSION@ -XTRA_LIBS = @XTRA_LIBS@ -XTRA_OBJS = @XTRA_OBJS@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -makesnmplib = @makesnmplib@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/fs/aufs/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/fs/aufs/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am - -all clean: - @cd .. && $(MAKE) $(MFLAGS) aufs/$@ -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -ruN squid-2.6.PRE1/src/fs/aufs/store_dir_aufs.c squid-2.6.PRE2/src/fs/aufs/store_dir_aufs.c --- squid-2.6.PRE1/src/fs/aufs/store_dir_aufs.c Sat May 27 11:20:17 2006 +++ squid-2.6.PRE2/src/fs/aufs/store_dir_aufs.c Sat Jun 3 20:01:38 2006 @@ -1,6 +1,6 @@ /* - * $Id: store_dir_aufs.c,v 1.56 2006/05/27 17:20:17 serassio Exp $ + * $Id: store_dir_aufs.c,v 1.57 2006/06/04 02:01:38 hno Exp $ * * DEBUG: section 47 Store Directory Routines * AUTHOR: Duane Wessels @@ -1688,10 +1688,17 @@ storeAufsDirStats(SwapDir * SD, StoreEntry * sentry) { squidaioinfo_t *aioinfo = SD->fsdata; +#ifdef HAVE_STATVFS + fsblkcnt_t totl_kb; + fsblkcnt_t free_kb; + fsfilcnt_t totl_in; + fsfilcnt_t free_in; +#else int totl_kb = 0; int free_kb = 0; int totl_in = 0; int free_in = 0; +#endif int x; storeAppendPrintf(sentry, "First level subdirectories: %d\n", aioinfo->l1); storeAppendPrintf(sentry, "Second level subdirectories: %d\n", aioinfo->l2); @@ -1704,6 +1711,16 @@ percent(aioinfo->map->n_files_in_map, aioinfo->map->max_n_files)); x = storeDirGetUFSStats(SD->path, &totl_kb, &free_kb, &totl_in, &free_in); if (0 == x) { +#ifdef HAVE_STATVFS + storeAppendPrintf(sentry, "Filesystem Space in use: %llu/%llu KB (%.0f%%)\n", + (unsigned long long) (totl_kb - free_kb), + (unsigned long long) totl_kb, + dpercent(totl_kb - free_kb, totl_kb)); + storeAppendPrintf(sentry, "Filesystem Inodes in use: %llu/%llu (%.0f%%)\n", + (unsigned long long) (totl_in - free_in), + (unsigned long long) totl_in, + dpercent(totl_in - free_in, totl_in)); +#else storeAppendPrintf(sentry, "Filesystem Space in use: %d/%d KB (%d%%)\n", totl_kb - free_kb, totl_kb, @@ -1712,6 +1729,7 @@ totl_in - free_in, totl_in, percent(totl_in - free_in, totl_in)); +#endif } storeAppendPrintf(sentry, "Flags:"); if (SD->flags.selected) diff -ruN squid-2.6.PRE1/src/fs/coss/Makefile.am squid-2.6.PRE2/src/fs/coss/Makefile.am --- squid-2.6.PRE1/src/fs/coss/Makefile.am Fri Aug 31 05:19:32 2001 +++ squid-2.6.PRE2/src/fs/coss/Makefile.am Wed Dec 31 17:00:00 1969 @@ -1,2 +0,0 @@ -all clean: - @cd .. && $(MAKE) $(MFLAGS) coss/$@ diff -ruN squid-2.6.PRE1/src/fs/coss/Makefile.in squid-2.6.PRE2/src/fs/coss/Makefile.in --- squid-2.6.PRE1/src/fs/coss/Makefile.in Thu May 25 06:42:26 2006 +++ squid-2.6.PRE2/src/fs/coss/Makefile.in Wed Dec 31 17:00:00 1969 @@ -1,369 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = src/fs/coss -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/cfgaux/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/autoconf.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AR_R = @AR_R@ -AUTH_LIBS = @AUTH_LIBS@ -AUTH_MODULES = @AUTH_MODULES@ -AUTH_OBJS = @AUTH_OBJS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BASIC_AUTH_HELPERS = @BASIC_AUTH_HELPERS@ -CACHE_HTTP_PORT = @CACHE_HTTP_PORT@ -CACHE_ICP_PORT = @CACHE_ICP_PORT@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CGIEXT = @CGIEXT@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CRYPTLIB = @CRYPTLIB@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -ENABLE_HTCP_FALSE = @ENABLE_HTCP_FALSE@ -ENABLE_HTCP_TRUE = @ENABLE_HTCP_TRUE@ -ENABLE_PINGER_FALSE = @ENABLE_PINGER_FALSE@ -ENABLE_PINGER_TRUE = @ENABLE_PINGER_TRUE@ -ENABLE_SSL_FALSE = @ENABLE_SSL_FALSE@ -ENABLE_SSL_TRUE = @ENABLE_SSL_TRUE@ -ENABLE_UNLINKD_FALSE = @ENABLE_UNLINKD_FALSE@ -ENABLE_UNLINKD_TRUE = @ENABLE_UNLINKD_TRUE@ -ENABLE_WIN32SPECIFIC_FALSE = @ENABLE_WIN32SPECIFIC_FALSE@ -ENABLE_WIN32SPECIFIC_TRUE = @ENABLE_WIN32SPECIFIC_TRUE@ -EPOLL_LIBS = @EPOLL_LIBS@ -ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ -ERR_LANGUAGES = @ERR_LANGUAGES@ -EXEEXT = @EXEEXT@ -EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@ -FALSE = @FALSE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBDLMALLOC = @LIBDLMALLOC@ -LIBOBJS = @LIBOBJS@ -LIBREGEX = @LIBREGEX@ -LIBS = @LIBS@ -LIBSASL = @LIBSASL@ -LIB_DB = @LIB_DB@ -LIB_EPOLL = @LIB_EPOLL@ -LIB_LBER = @LIB_LBER@ -LIB_LDAP = @LIB_LDAP@ -LIB_MALLOC = @LIB_MALLOC@ -LN = @LN@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MAKE_LEAKFINDER_FALSE = @MAKE_LEAKFINDER_FALSE@ -MAKE_LEAKFINDER_TRUE = @MAKE_LEAKFINDER_TRUE@ -MKDIR = @MKDIR@ -MV = @MV@ -NEED_OWN_MD5_FALSE = @NEED_OWN_MD5_FALSE@ -NEED_OWN_MD5_TRUE = @NEED_OWN_MD5_TRUE@ -NEED_OWN_SNPRINTF_FALSE = @NEED_OWN_SNPRINTF_FALSE@ -NEED_OWN_SNPRINTF_TRUE = @NEED_OWN_SNPRINTF_TRUE@ -NEED_OWN_STRSEP_FALSE = @NEED_OWN_STRSEP_FALSE@ -NEED_OWN_STRSEP_TRUE = @NEED_OWN_STRSEP_TRUE@ -NEGOTIATE_AUTH_HELPERS = @NEGOTIATE_AUTH_HELPERS@ -NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@ -OBJEXT = @OBJEXT@ -OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PERL = @PERL@ -PKGCONFIG = @PKGCONFIG@ -RANLIB = @RANLIB@ -REGEXLIB = @REGEXLIB@ -REPL_LIBS = @REPL_LIBS@ -REPL_OBJS = @REPL_OBJS@ -REPL_POLICIES = @REPL_POLICIES@ -RM = @RM@ -SET_MAKE = @SET_MAKE@ -SH = @SH@ -SHELL = @SHELL@ -SNMPLIB = @SNMPLIB@ -SSLLIB = @SSLLIB@ -STORE_LIBS = @STORE_LIBS@ -STORE_MODULES = @STORE_MODULES@ -STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@ -STORE_OBJS = @STORE_OBJS@ -STRIP = @STRIP@ -TRUE = @TRUE@ -USE_DELAY_POOLS_FALSE = @USE_DELAY_POOLS_FALSE@ -USE_DELAY_POOLS_TRUE = @USE_DELAY_POOLS_TRUE@ -USE_DNSSERVER_FALSE = @USE_DNSSERVER_FALSE@ -USE_DNSSERVER_TRUE = @USE_DNSSERVER_TRUE@ -USE_EPOLL_FALSE = @USE_EPOLL_FALSE@ -USE_EPOLL_TRUE = @USE_EPOLL_TRUE@ -USE_POLL_FALSE = @USE_POLL_FALSE@ -USE_POLL_TRUE = @USE_POLL_TRUE@ -USE_SELECT_FALSE = @USE_SELECT_FALSE@ -USE_SELECT_TRUE = @USE_SELECT_TRUE@ -USE_SNMP_FALSE = @USE_SNMP_FALSE@ -USE_SNMP_TRUE = @USE_SNMP_TRUE@ -VERSION = @VERSION@ -XTRA_LIBS = @XTRA_LIBS@ -XTRA_OBJS = @XTRA_OBJS@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -makesnmplib = @makesnmplib@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/fs/coss/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/fs/coss/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am - -all clean: - @cd .. && $(MAKE) $(MFLAGS) coss/$@ -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -ruN squid-2.6.PRE1/src/fs/diskd/Makefile.am squid-2.6.PRE2/src/fs/diskd/Makefile.am --- squid-2.6.PRE1/src/fs/diskd/Makefile.am Fri Aug 31 05:19:33 2001 +++ squid-2.6.PRE2/src/fs/diskd/Makefile.am Wed Dec 31 17:00:00 1969 @@ -1,11 +0,0 @@ -# -# Makefile for the DISKD storage driver for the Squid Object Cache server -# -# $Id: Makefile.am,v 1.1 2001/08/31 11:19:33 robertc Exp $ -# - -libexec_PROGRAMS = diskd -LDADD = $(top_builddir)/lib/libmiscutil.a @XTRA_LIBS@ - -INCLUDES = -I. -I$(top_builddir)/include -I$(top_srcdir)/include \ - -I$(top_srcdir)/src/ diff -ruN squid-2.6.PRE1/src/fs/diskd/Makefile.in squid-2.6.PRE2/src/fs/diskd/Makefile.in --- squid-2.6.PRE1/src/fs/diskd/Makefile.in Thu May 25 06:42:26 2006 +++ squid-2.6.PRE2/src/fs/diskd/Makefile.in Wed Dec 31 17:00:00 1969 @@ -1,495 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# -# Makefile for the DISKD storage driver for the Squid Object Cache server -# -# $Id: Makefile.in,v 1.25 2006/05/25 12:42:26 hno Exp $ -# - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -libexec_PROGRAMS = diskd$(EXEEXT) -subdir = src/fs/diskd -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/cfgaux/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/autoconf.h -CONFIG_CLEAN_FILES = -am__installdirs = "$(DESTDIR)$(libexecdir)" -libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(libexec_PROGRAMS) -diskd_SOURCES = diskd.c -diskd_OBJECTS = diskd.$(OBJEXT) -diskd_LDADD = $(LDADD) -diskd_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp -am__depfiles_maybe = depfiles -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -SOURCES = diskd.c -DIST_SOURCES = diskd.c -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AR_R = @AR_R@ -AUTH_LIBS = @AUTH_LIBS@ -AUTH_MODULES = @AUTH_MODULES@ -AUTH_OBJS = @AUTH_OBJS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BASIC_AUTH_HELPERS = @BASIC_AUTH_HELPERS@ -CACHE_HTTP_PORT = @CACHE_HTTP_PORT@ -CACHE_ICP_PORT = @CACHE_ICP_PORT@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CGIEXT = @CGIEXT@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CRYPTLIB = @CRYPTLIB@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -ENABLE_HTCP_FALSE = @ENABLE_HTCP_FALSE@ -ENABLE_HTCP_TRUE = @ENABLE_HTCP_TRUE@ -ENABLE_PINGER_FALSE = @ENABLE_PINGER_FALSE@ -ENABLE_PINGER_TRUE = @ENABLE_PINGER_TRUE@ -ENABLE_SSL_FALSE = @ENABLE_SSL_FALSE@ -ENABLE_SSL_TRUE = @ENABLE_SSL_TRUE@ -ENABLE_UNLINKD_FALSE = @ENABLE_UNLINKD_FALSE@ -ENABLE_UNLINKD_TRUE = @ENABLE_UNLINKD_TRUE@ -ENABLE_WIN32SPECIFIC_FALSE = @ENABLE_WIN32SPECIFIC_FALSE@ -ENABLE_WIN32SPECIFIC_TRUE = @ENABLE_WIN32SPECIFIC_TRUE@ -EPOLL_LIBS = @EPOLL_LIBS@ -ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ -ERR_LANGUAGES = @ERR_LANGUAGES@ -EXEEXT = @EXEEXT@ -EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@ -FALSE = @FALSE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBDLMALLOC = @LIBDLMALLOC@ -LIBOBJS = @LIBOBJS@ -LIBREGEX = @LIBREGEX@ -LIBS = @LIBS@ -LIBSASL = @LIBSASL@ -LIB_DB = @LIB_DB@ -LIB_EPOLL = @LIB_EPOLL@ -LIB_LBER = @LIB_LBER@ -LIB_LDAP = @LIB_LDAP@ -LIB_MALLOC = @LIB_MALLOC@ -LN = @LN@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MAKE_LEAKFINDER_FALSE = @MAKE_LEAKFINDER_FALSE@ -MAKE_LEAKFINDER_TRUE = @MAKE_LEAKFINDER_TRUE@ -MKDIR = @MKDIR@ -MV = @MV@ -NEED_OWN_MD5_FALSE = @NEED_OWN_MD5_FALSE@ -NEED_OWN_MD5_TRUE = @NEED_OWN_MD5_TRUE@ -NEED_OWN_SNPRINTF_FALSE = @NEED_OWN_SNPRINTF_FALSE@ -NEED_OWN_SNPRINTF_TRUE = @NEED_OWN_SNPRINTF_TRUE@ -NEED_OWN_STRSEP_FALSE = @NEED_OWN_STRSEP_FALSE@ -NEED_OWN_STRSEP_TRUE = @NEED_OWN_STRSEP_TRUE@ -NEGOTIATE_AUTH_HELPERS = @NEGOTIATE_AUTH_HELPERS@ -NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@ -OBJEXT = @OBJEXT@ -OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PERL = @PERL@ -PKGCONFIG = @PKGCONFIG@ -RANLIB = @RANLIB@ -REGEXLIB = @REGEXLIB@ -REPL_LIBS = @REPL_LIBS@ -REPL_OBJS = @REPL_OBJS@ -REPL_POLICIES = @REPL_POLICIES@ -RM = @RM@ -SET_MAKE = @SET_MAKE@ -SH = @SH@ -SHELL = @SHELL@ -SNMPLIB = @SNMPLIB@ -SSLLIB = @SSLLIB@ -STORE_LIBS = @STORE_LIBS@ -STORE_MODULES = @STORE_MODULES@ -STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@ -STORE_OBJS = @STORE_OBJS@ -STRIP = @STRIP@ -TRUE = @TRUE@ -USE_DELAY_POOLS_FALSE = @USE_DELAY_POOLS_FALSE@ -USE_DELAY_POOLS_TRUE = @USE_DELAY_POOLS_TRUE@ -USE_DNSSERVER_FALSE = @USE_DNSSERVER_FALSE@ -USE_DNSSERVER_TRUE = @USE_DNSSERVER_TRUE@ -USE_EPOLL_FALSE = @USE_EPOLL_FALSE@ -USE_EPOLL_TRUE = @USE_EPOLL_TRUE@ -USE_POLL_FALSE = @USE_POLL_FALSE@ -USE_POLL_TRUE = @USE_POLL_TRUE@ -USE_SELECT_FALSE = @USE_SELECT_FALSE@ -USE_SELECT_TRUE = @USE_SELECT_TRUE@ -USE_SNMP_FALSE = @USE_SNMP_FALSE@ -USE_SNMP_TRUE = @USE_SNMP_TRUE@ -VERSION = @VERSION@ -XTRA_LIBS = @XTRA_LIBS@ -XTRA_OBJS = @XTRA_OBJS@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -makesnmplib = @makesnmplib@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -LDADD = $(top_builddir)/lib/libmiscutil.a @XTRA_LIBS@ -INCLUDES = -I. -I$(top_builddir)/include -I$(top_srcdir)/include \ - -I$(top_srcdir)/src/ - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/fs/diskd/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/fs/diskd/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -install-libexecPROGRAMS: $(libexec_PROGRAMS) - @$(NORMAL_INSTALL) - test -z "$(libexecdir)" || $(mkdir_p) "$(DESTDIR)$(libexecdir)" - @list='$(libexec_PROGRAMS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p \ - ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(libexecdir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(libexecdir)/$$f" || exit 1; \ - else :; fi; \ - done - -uninstall-libexecPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(libexec_PROGRAMS)'; for p in $$list; do \ - f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " rm -f '$(DESTDIR)$(libexecdir)/$$f'"; \ - rm -f "$(DESTDIR)$(libexecdir)/$$f"; \ - done - -clean-libexecPROGRAMS: - -test -z "$(libexec_PROGRAMS)" || rm -f $(libexec_PROGRAMS) -diskd$(EXEEXT): $(diskd_OBJECTS) $(diskd_DEPENDENCIES) - @rm -f diskd$(EXEEXT) - $(LINK) $(diskd_LDFLAGS) $(diskd_OBJECTS) $(diskd_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskd.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` -uninstall-info-am: - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) -installdirs: - for dir in "$(DESTDIR)$(libexecdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libexecPROGRAMS mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: install-libexecPROGRAMS - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-libexecPROGRAMS - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libexecPROGRAMS ctags distclean distclean-compile \ - distclean-generic distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-libexecPROGRAMS install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-info-am \ - uninstall-libexecPROGRAMS - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -ruN squid-2.6.PRE1/src/fs/diskd/store_dir_diskd.c squid-2.6.PRE2/src/fs/diskd/store_dir_diskd.c --- squid-2.6.PRE1/src/fs/diskd/store_dir_diskd.c Sat May 27 11:20:18 2006 +++ squid-2.6.PRE2/src/fs/diskd/store_dir_diskd.c Sat Jun 3 20:01:39 2006 @@ -1,6 +1,6 @@ /* - * $Id: store_dir_diskd.c,v 1.77 2006/05/27 17:20:18 serassio Exp $ + * $Id: store_dir_diskd.c,v 1.78 2006/06/04 02:01:39 hno Exp $ * * DEBUG: section 47 Store Directory Routines * AUTHOR: Duane Wessels @@ -1965,10 +1965,17 @@ storeDiskdDirStats(SwapDir * SD, StoreEntry * sentry) { diskdinfo_t *diskdinfo = SD->fsdata; +#ifdef HAVE_STATVFS + fsblkcnt_t totl_kb = 0; + fsblkcnt_t free_kb = 0; + fsfilcnt_t totl_in = 0; + fsfilcnt_t free_in = 0; +#else int totl_kb = 0; int free_kb = 0; int totl_in = 0; int free_in = 0; +#endif int x; storeAppendPrintf(sentry, "First level subdirectories: %d\n", diskdinfo->l1); storeAppendPrintf(sentry, "Second level subdirectories: %d\n", diskdinfo->l2); @@ -1981,6 +1988,16 @@ percent(diskdinfo->map->n_files_in_map, diskdinfo->map->max_n_files)); x = storeDirGetUFSStats(SD->path, &totl_kb, &free_kb, &totl_in, &free_in); if (0 == x) { +#ifdef HAVE_STATVFS + storeAppendPrintf(sentry, "Filesystem Space in use: %" PRIu64 "/%" PRIu64 " KB (%.0f%%)\n", + (uint64_t) (totl_kb - free_kb), + (uint64_t) totl_kb, + dpercent(totl_kb - free_kb, totl_kb)); + storeAppendPrintf(sentry, "Filesystem Inodes in use: %" PRIu64 "/%" PRIu64 " (%.0f%%)\n", + (uint64_t) (totl_in - free_in), + (uint64_t) totl_in, + dpercent(totl_in - free_in, totl_in)); +#else storeAppendPrintf(sentry, "Filesystem Space in use: %d/%d KB (%d%%)\n", totl_kb - free_kb, totl_kb, @@ -1989,6 +2006,7 @@ totl_in - free_in, totl_in, percent(totl_in - free_in, totl_in)); +#endif } storeAppendPrintf(sentry, "Flags:"); if (SD->flags.selected) diff -ruN squid-2.6.PRE1/src/fs/diskd/store_io_diskd.c squid-2.6.PRE2/src/fs/diskd/store_io_diskd.c --- squid-2.6.PRE1/src/fs/diskd/store_io_diskd.c Tue May 17 10:56:43 2005 +++ squid-2.6.PRE2/src/fs/diskd/store_io_diskd.c Mon Jun 5 01:48:04 2006 @@ -1,6 +1,6 @@ /* - * $Id: store_io_diskd.c,v 1.29 2005/05/17 16:56:43 hno Exp $ + * $Id: store_io_diskd.c,v 1.30 2006/06/05 07:48:04 hno Exp $ * * DEBUG: section 79 Squid-side DISKD I/O functions. * AUTHOR: Duane Wessels @@ -175,6 +175,7 @@ diskdstate_t *diskdstate = sio->fsstate; debug(79, 3) ("storeDiskdClose: dirno %d, fileno %08X\n", SD->index, sio->swap_filen); + diskdstate->flags.close_request = 1; x = storeDiskdSend(_MQD_CLOSE, SD, diskdstate->id, @@ -186,7 +187,6 @@ debug(79, 1) ("storeDiskdSend CLOSE: %s\n", xstrerror()); storeDiskdIOCallback(sio, DISK_ERROR); } - diskdstate->flags.close_request = 1; diskd_stats.close.ops++; } diff -ruN squid-2.6.PRE1/src/fs/null/Makefile.am squid-2.6.PRE2/src/fs/null/Makefile.am --- squid-2.6.PRE1/src/fs/null/Makefile.am Fri Aug 31 05:19:34 2001 +++ squid-2.6.PRE2/src/fs/null/Makefile.am Wed Dec 31 17:00:00 1969 @@ -1,2 +0,0 @@ -all clean: - @cd .. && $(MAKE) $(MFLAGS) null/$@ diff -ruN squid-2.6.PRE1/src/fs/null/Makefile.in squid-2.6.PRE2/src/fs/null/Makefile.in --- squid-2.6.PRE1/src/fs/null/Makefile.in Thu May 25 06:42:26 2006 +++ squid-2.6.PRE2/src/fs/null/Makefile.in Wed Dec 31 17:00:00 1969 @@ -1,369 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = src/fs/null -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/cfgaux/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/autoconf.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AR_R = @AR_R@ -AUTH_LIBS = @AUTH_LIBS@ -AUTH_MODULES = @AUTH_MODULES@ -AUTH_OBJS = @AUTH_OBJS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BASIC_AUTH_HELPERS = @BASIC_AUTH_HELPERS@ -CACHE_HTTP_PORT = @CACHE_HTTP_PORT@ -CACHE_ICP_PORT = @CACHE_ICP_PORT@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CGIEXT = @CGIEXT@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CRYPTLIB = @CRYPTLIB@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -ENABLE_HTCP_FALSE = @ENABLE_HTCP_FALSE@ -ENABLE_HTCP_TRUE = @ENABLE_HTCP_TRUE@ -ENABLE_PINGER_FALSE = @ENABLE_PINGER_FALSE@ -ENABLE_PINGER_TRUE = @ENABLE_PINGER_TRUE@ -ENABLE_SSL_FALSE = @ENABLE_SSL_FALSE@ -ENABLE_SSL_TRUE = @ENABLE_SSL_TRUE@ -ENABLE_UNLINKD_FALSE = @ENABLE_UNLINKD_FALSE@ -ENABLE_UNLINKD_TRUE = @ENABLE_UNLINKD_TRUE@ -ENABLE_WIN32SPECIFIC_FALSE = @ENABLE_WIN32SPECIFIC_FALSE@ -ENABLE_WIN32SPECIFIC_TRUE = @ENABLE_WIN32SPECIFIC_TRUE@ -EPOLL_LIBS = @EPOLL_LIBS@ -ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ -ERR_LANGUAGES = @ERR_LANGUAGES@ -EXEEXT = @EXEEXT@ -EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@ -FALSE = @FALSE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBDLMALLOC = @LIBDLMALLOC@ -LIBOBJS = @LIBOBJS@ -LIBREGEX = @LIBREGEX@ -LIBS = @LIBS@ -LIBSASL = @LIBSASL@ -LIB_DB = @LIB_DB@ -LIB_EPOLL = @LIB_EPOLL@ -LIB_LBER = @LIB_LBER@ -LIB_LDAP = @LIB_LDAP@ -LIB_MALLOC = @LIB_MALLOC@ -LN = @LN@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MAKE_LEAKFINDER_FALSE = @MAKE_LEAKFINDER_FALSE@ -MAKE_LEAKFINDER_TRUE = @MAKE_LEAKFINDER_TRUE@ -MKDIR = @MKDIR@ -MV = @MV@ -NEED_OWN_MD5_FALSE = @NEED_OWN_MD5_FALSE@ -NEED_OWN_MD5_TRUE = @NEED_OWN_MD5_TRUE@ -NEED_OWN_SNPRINTF_FALSE = @NEED_OWN_SNPRINTF_FALSE@ -NEED_OWN_SNPRINTF_TRUE = @NEED_OWN_SNPRINTF_TRUE@ -NEED_OWN_STRSEP_FALSE = @NEED_OWN_STRSEP_FALSE@ -NEED_OWN_STRSEP_TRUE = @NEED_OWN_STRSEP_TRUE@ -NEGOTIATE_AUTH_HELPERS = @NEGOTIATE_AUTH_HELPERS@ -NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@ -OBJEXT = @OBJEXT@ -OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PERL = @PERL@ -PKGCONFIG = @PKGCONFIG@ -RANLIB = @RANLIB@ -REGEXLIB = @REGEXLIB@ -REPL_LIBS = @REPL_LIBS@ -REPL_OBJS = @REPL_OBJS@ -REPL_POLICIES = @REPL_POLICIES@ -RM = @RM@ -SET_MAKE = @SET_MAKE@ -SH = @SH@ -SHELL = @SHELL@ -SNMPLIB = @SNMPLIB@ -SSLLIB = @SSLLIB@ -STORE_LIBS = @STORE_LIBS@ -STORE_MODULES = @STORE_MODULES@ -STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@ -STORE_OBJS = @STORE_OBJS@ -STRIP = @STRIP@ -TRUE = @TRUE@ -USE_DELAY_POOLS_FALSE = @USE_DELAY_POOLS_FALSE@ -USE_DELAY_POOLS_TRUE = @USE_DELAY_POOLS_TRUE@ -USE_DNSSERVER_FALSE = @USE_DNSSERVER_FALSE@ -USE_DNSSERVER_TRUE = @USE_DNSSERVER_TRUE@ -USE_EPOLL_FALSE = @USE_EPOLL_FALSE@ -USE_EPOLL_TRUE = @USE_EPOLL_TRUE@ -USE_POLL_FALSE = @USE_POLL_FALSE@ -USE_POLL_TRUE = @USE_POLL_TRUE@ -USE_SELECT_FALSE = @USE_SELECT_FALSE@ -USE_SELECT_TRUE = @USE_SELECT_TRUE@ -USE_SNMP_FALSE = @USE_SNMP_FALSE@ -USE_SNMP_TRUE = @USE_SNMP_TRUE@ -VERSION = @VERSION@ -XTRA_LIBS = @XTRA_LIBS@ -XTRA_OBJS = @XTRA_OBJS@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -makesnmplib = @makesnmplib@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/fs/null/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/fs/null/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am - -all clean: - @cd .. && $(MAKE) $(MFLAGS) null/$@ -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -ruN squid-2.6.PRE1/src/fs/ufs/Makefile.am squid-2.6.PRE2/src/fs/ufs/Makefile.am --- squid-2.6.PRE1/src/fs/ufs/Makefile.am Fri Aug 31 05:19:35 2001 +++ squid-2.6.PRE2/src/fs/ufs/Makefile.am Wed Dec 31 17:00:00 1969 @@ -1,2 +0,0 @@ -all clean: - @cd .. && $(MAKE) $(MFLAGS) ufs/$@ diff -ruN squid-2.6.PRE1/src/fs/ufs/Makefile.in squid-2.6.PRE2/src/fs/ufs/Makefile.in --- squid-2.6.PRE1/src/fs/ufs/Makefile.in Thu May 25 06:42:27 2006 +++ squid-2.6.PRE2/src/fs/ufs/Makefile.in Wed Dec 31 17:00:00 1969 @@ -1,369 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = src/fs/ufs -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/cfgaux/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/autoconf.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AR_R = @AR_R@ -AUTH_LIBS = @AUTH_LIBS@ -AUTH_MODULES = @AUTH_MODULES@ -AUTH_OBJS = @AUTH_OBJS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BASIC_AUTH_HELPERS = @BASIC_AUTH_HELPERS@ -CACHE_HTTP_PORT = @CACHE_HTTP_PORT@ -CACHE_ICP_PORT = @CACHE_ICP_PORT@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CGIEXT = @CGIEXT@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CRYPTLIB = @CRYPTLIB@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -ENABLE_HTCP_FALSE = @ENABLE_HTCP_FALSE@ -ENABLE_HTCP_TRUE = @ENABLE_HTCP_TRUE@ -ENABLE_PINGER_FALSE = @ENABLE_PINGER_FALSE@ -ENABLE_PINGER_TRUE = @ENABLE_PINGER_TRUE@ -ENABLE_SSL_FALSE = @ENABLE_SSL_FALSE@ -ENABLE_SSL_TRUE = @ENABLE_SSL_TRUE@ -ENABLE_UNLINKD_FALSE = @ENABLE_UNLINKD_FALSE@ -ENABLE_UNLINKD_TRUE = @ENABLE_UNLINKD_TRUE@ -ENABLE_WIN32SPECIFIC_FALSE = @ENABLE_WIN32SPECIFIC_FALSE@ -ENABLE_WIN32SPECIFIC_TRUE = @ENABLE_WIN32SPECIFIC_TRUE@ -EPOLL_LIBS = @EPOLL_LIBS@ -ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ -ERR_LANGUAGES = @ERR_LANGUAGES@ -EXEEXT = @EXEEXT@ -EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@ -FALSE = @FALSE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBDLMALLOC = @LIBDLMALLOC@ -LIBOBJS = @LIBOBJS@ -LIBREGEX = @LIBREGEX@ -LIBS = @LIBS@ -LIBSASL = @LIBSASL@ -LIB_DB = @LIB_DB@ -LIB_EPOLL = @LIB_EPOLL@ -LIB_LBER = @LIB_LBER@ -LIB_LDAP = @LIB_LDAP@ -LIB_MALLOC = @LIB_MALLOC@ -LN = @LN@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MAKE_LEAKFINDER_FALSE = @MAKE_LEAKFINDER_FALSE@ -MAKE_LEAKFINDER_TRUE = @MAKE_LEAKFINDER_TRUE@ -MKDIR = @MKDIR@ -MV = @MV@ -NEED_OWN_MD5_FALSE = @NEED_OWN_MD5_FALSE@ -NEED_OWN_MD5_TRUE = @NEED_OWN_MD5_TRUE@ -NEED_OWN_SNPRINTF_FALSE = @NEED_OWN_SNPRINTF_FALSE@ -NEED_OWN_SNPRINTF_TRUE = @NEED_OWN_SNPRINTF_TRUE@ -NEED_OWN_STRSEP_FALSE = @NEED_OWN_STRSEP_FALSE@ -NEED_OWN_STRSEP_TRUE = @NEED_OWN_STRSEP_TRUE@ -NEGOTIATE_AUTH_HELPERS = @NEGOTIATE_AUTH_HELPERS@ -NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@ -OBJEXT = @OBJEXT@ -OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PERL = @PERL@ -PKGCONFIG = @PKGCONFIG@ -RANLIB = @RANLIB@ -REGEXLIB = @REGEXLIB@ -REPL_LIBS = @REPL_LIBS@ -REPL_OBJS = @REPL_OBJS@ -REPL_POLICIES = @REPL_POLICIES@ -RM = @RM@ -SET_MAKE = @SET_MAKE@ -SH = @SH@ -SHELL = @SHELL@ -SNMPLIB = @SNMPLIB@ -SSLLIB = @SSLLIB@ -STORE_LIBS = @STORE_LIBS@ -STORE_MODULES = @STORE_MODULES@ -STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@ -STORE_OBJS = @STORE_OBJS@ -STRIP = @STRIP@ -TRUE = @TRUE@ -USE_DELAY_POOLS_FALSE = @USE_DELAY_POOLS_FALSE@ -USE_DELAY_POOLS_TRUE = @USE_DELAY_POOLS_TRUE@ -USE_DNSSERVER_FALSE = @USE_DNSSERVER_FALSE@ -USE_DNSSERVER_TRUE = @USE_DNSSERVER_TRUE@ -USE_EPOLL_FALSE = @USE_EPOLL_FALSE@ -USE_EPOLL_TRUE = @USE_EPOLL_TRUE@ -USE_POLL_FALSE = @USE_POLL_FALSE@ -USE_POLL_TRUE = @USE_POLL_TRUE@ -USE_SELECT_FALSE = @USE_SELECT_FALSE@ -USE_SELECT_TRUE = @USE_SELECT_TRUE@ -USE_SNMP_FALSE = @USE_SNMP_FALSE@ -USE_SNMP_TRUE = @USE_SNMP_TRUE@ -VERSION = @VERSION@ -XTRA_LIBS = @XTRA_LIBS@ -XTRA_OBJS = @XTRA_OBJS@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -makesnmplib = @makesnmplib@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/fs/ufs/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/fs/ufs/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am - -all clean: - @cd .. && $(MAKE) $(MFLAGS) ufs/$@ -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -ruN squid-2.6.PRE1/src/fs/ufs/store_dir_ufs.c squid-2.6.PRE2/src/fs/ufs/store_dir_ufs.c --- squid-2.6.PRE1/src/fs/ufs/store_dir_ufs.c Sat May 27 11:20:18 2006 +++ squid-2.6.PRE2/src/fs/ufs/store_dir_ufs.c Sat Jun 3 20:01:40 2006 @@ -1,6 +1,6 @@ /* - * $Id: store_dir_ufs.c,v 1.56 2006/05/27 17:20:18 serassio Exp $ + * $Id: store_dir_ufs.c,v 1.57 2006/06/04 02:01:40 hno Exp $ * * DEBUG: section 47 Store Directory Routines * AUTHOR: Duane Wessels @@ -1718,10 +1718,17 @@ storeUfsDirStats(SwapDir * SD, StoreEntry * sentry) { ufsinfo_t *ufsinfo = SD->fsdata; +#ifdef HAVE_STATVFS + fsblkcnt_t totl_kb = 0; + fsblkcnt_t free_kb = 0; + fsfilcnt_t totl_in = 0; + fsfilcnt_t free_in = 0; +#else int totl_kb = 0; int free_kb = 0; int totl_in = 0; int free_in = 0; +#endif int x; storeAppendPrintf(sentry, "First level subdirectories: %d\n", ufsinfo->l1); storeAppendPrintf(sentry, "Second level subdirectories: %d\n", ufsinfo->l2); @@ -1734,6 +1741,16 @@ percent(ufsinfo->map->n_files_in_map, ufsinfo->map->max_n_files)); x = storeDirGetUFSStats(SD->path, &totl_kb, &free_kb, &totl_in, &free_in); if (0 == x) { +#ifdef HAVE_STATVFS + storeAppendPrintf(sentry, "Filesystem Space in use: %" PRIu64 "/%" PRIu64 " KB (%.0f%%)\n", + (uint64_t) (totl_kb - free_kb), + (uint64_t) totl_kb, + dpercent(totl_kb - free_kb, totl_kb)); + storeAppendPrintf(sentry, "Filesystem Inodes in use: %" PRIu64 "/%" PRIu64 " (%.0f%%)\n", + (uint64_t) (totl_in - free_in), + (uint64_t) totl_in, + dpercent(totl_in - free_in, totl_in)); +#else storeAppendPrintf(sentry, "Filesystem Space in use: %d/%d KB (%d%%)\n", totl_kb - free_kb, totl_kb, @@ -1742,6 +1759,7 @@ totl_in - free_in, totl_in, percent(totl_in - free_in, totl_in)); +#endif } storeAppendPrintf(sentry, "Flags:"); if (SD->flags.selected) diff -ruN squid-2.6.PRE1/src/ftp.c squid-2.6.PRE2/src/ftp.c --- squid-2.6.PRE1/src/ftp.c Sat May 20 15:51:49 2006 +++ squid-2.6.PRE2/src/ftp.c Mon Jun 5 16:47:01 2006 @@ -1,6 +1,6 @@ /* - * $Id: ftp.c,v 1.335 2006/05/20 21:51:49 hno Exp $ + * $Id: ftp.c,v 1.337 2006/06/05 22:47:01 hno Exp $ * * DEBUG: section 9 File Transfer Protocol (FTP) * AUTHOR: Harvest Derived @@ -158,7 +158,7 @@ static wordlist *ftpParseControlReply(char *, size_t, int *, int *); static int ftpRestartable(FtpStateData * ftpState); static void ftpAppendSuccessHeader(FtpStateData * ftpState); -static void ftpAuthRequired(HttpReply * reply, request_t * request, const char *realm); +static HttpReply *ftpAuthRequired(request_t * request, const char *realm); static void ftpHackShortcut(FtpStateData * ftpState, FTPSM * nextState); static void ftpUnhack(FtpStateData * ftpState); static void ftpScheduleReadControlReply(FtpStateData *, int); @@ -282,7 +282,7 @@ if (ftpState == NULL) return; debug(9, 3) ("ftpStateFree: %s\n", storeUrl(ftpState->entry)); - storeUnregisterAbort(ftpState->entry); + storeClientUnregisterAbort(ftpState->entry); storeUnlockObject(ftpState->entry); if (ftpState->reply_hdr) { memFree(ftpState->reply_hdr, MEM_8K_BUF); @@ -1135,11 +1135,8 @@ snprintf(realm, 8192, "ftp %s port %d", ftpState->user, request->port); } - /* create reply */ - reply = entry->mem_obj->reply; - assert(reply != NULL); /* create appropriate reply */ - ftpAuthRequired(reply, request, realm); + reply = ftpAuthRequired(request, realm); httpReplySwapOut(reply, entry); fwdComplete(ftpState->fwd); comm_close(fd); @@ -2611,8 +2608,8 @@ } } -static void -ftpAuthRequired(HttpReply * old_reply, request_t * request, const char *realm) +static HttpReply * +ftpAuthRequired(request_t * request, const char *realm) { ErrorState *err = errorCon(ERR_CACHE_ACCESS_DENIED, HTTP_UNAUTHORIZED); HttpReply *rep; @@ -2621,8 +2618,7 @@ errorStateFree(err); /* add Authenticate header */ httpHeaderPutAuth(&rep->header, "Basic", realm); - /* move new reply to the old one */ - httpReplyAbsorb(old_reply, rep); + return rep; } char * diff -ruN squid-2.6.PRE1/src/helper.c squid-2.6.PRE2/src/helper.c --- squid-2.6.PRE1/src/helper.c Mon May 29 08:48:29 2006 +++ squid-2.6.PRE2/src/helper.c Sat Jun 3 15:04:53 2006 @@ -1,6 +1,6 @@ /* - * $Id: helper.c,v 1.58 2006/05/29 14:48:29 hno Exp $ + * $Id: helper.c,v 1.59 2006/06/03 21:04:53 serassio Exp $ * * DEBUG: section 84 Helper process maintenance * AUTHOR: Harvest Derived? @@ -701,7 +701,7 @@ *t++ = '\0'; if (hlp->concurrency) { i = strtol(msg, &msg, 10); - while (*msg && isspace(*msg)) + while (*msg && isspace((int) *msg)) msg++; } r = srv->requests[i]; diff -ruN squid-2.6.PRE1/src/htcp.c squid-2.6.PRE2/src/htcp.c --- squid-2.6.PRE1/src/htcp.c Fri May 12 16:08:09 2006 +++ squid-2.6.PRE2/src/htcp.c Tue Jun 6 00:37:41 2006 @@ -1,6 +1,6 @@ /* - * $Id: htcp.c,v 1.46 2006/05/12 22:08:09 hno Exp $ + * $Id: htcp.c,v 1.51 2006/06/06 06:37:41 hno Exp $ * * DEBUG: section 31 Hypertext Caching Protocol * AUTHOR: Duane Wesssels @@ -38,6 +38,7 @@ typedef struct _Countstr Countstr; typedef struct _htcpHeader htcpHeader; typedef struct _htcpDataHeader htcpDataHeader; +typedef struct _htcpDataHeaderSquid htcpDataHeaderSquid; typedef struct _htcpAuthHeader htcpAuthHeader; typedef struct _htcpStuff htcpStuff; typedef struct _htcpSpecifier htcpSpecifier; @@ -54,7 +55,7 @@ u_char minor; }; -struct _htcpDataHeader { +struct _htcpDataHeaderSquid { u_short length; #if !WORDS_BIGENDIAN unsigned int opcode:4; @@ -75,6 +76,27 @@ u_num32 msg_id; }; +struct _htcpDataHeader { + u_short length; +#if WORDS_BIGENDIAN + u_char opcode:4; + u_char response:4; +#else + u_char response:4; + u_char opcode:4; +#endif +#if WORDS_BIGENDIAN + u_char reserved:6; + u_char F1:1; + u_char RR:1; +#else + u_char RR:1; + u_char F1:1; + u_char reserved:6; +#endif + u_num32 msg_id; +}; + /* RR == 0 --> F1 = RESPONSE DESIRED FLAG */ /* RR == 1 --> F1 = MESSAGE OVERALL FLAG */ /* RR == 0 --> REQUEST */ @@ -93,6 +115,7 @@ char *uri; char *version; char *req_hdrs; + request_t *request; }; struct _htcpDetail { @@ -155,14 +178,13 @@ static int htcpOutSocket = -1; #define N_QUERIED_KEYS 256 static cache_key queried_keys[N_QUERIED_KEYS][MD5_DIGEST_CHARS]; +static struct sockaddr_in queried_addr[N_QUERIED_KEYS]; static MemPool *htcpSpecifierPool = NULL; static MemPool *htcpDetailPool = NULL; - -static char *htcpBuildPacket(htcpStuff * stuff, ssize_t * len); +static ssize_t htcpBuildPacket(char *buf, size_t buflen, htcpStuff * stuff); static htcpSpecifier *htcpUnpackSpecifier(char *buf, int sz); static htcpDetail *htcpUnpackDetail(char *buf, int sz); -static int htcpUnpackCountstr(char *buf, int sz, char **str); static ssize_t htcpBuildAuth(char *buf, size_t buflen); static ssize_t htcpBuildCountstr(char *buf, size_t buflen, const char *s); static ssize_t htcpBuildData(char *buf, size_t buflen, htcpStuff * stuff); @@ -185,6 +207,8 @@ static void htcpHandleTstResponse(htcpDataHeader *, char *, int, struct sockaddr_in *); static StoreEntry *htcpCheckHit(const htcpSpecifier *); +static int old_squid_format = 0; + static void htcpHexdump(const char *tag, const char *s, int sz) { @@ -322,6 +346,9 @@ case HTCP_TST: off = htcpBuildTstOpData(buf + off, buflen, stuff); break; + case HTCP_CLR: + /* nothing to be done */ + break; default: assert(0); break; @@ -353,45 +380,57 @@ /* convert multi-byte fields */ hdr.length = htons(hdr.length); hdr.msg_id = htonl(hdr.msg_id); - xmemcpy(buf, &hdr, hdr_sz); + if (!old_squid_format) { + xmemcpy(buf, &hdr, hdr_sz); + } else { + htcpDataHeaderSquid hdrSquid; + memset(&hdrSquid, 0, sizeof(hdrSquid)); + hdrSquid.length = hdr.length; + hdrSquid.opcode = hdr.opcode; + hdrSquid.response = hdr.response; + hdrSquid.F1 = hdr.F1; + hdrSquid.RR = hdr.RR; + xmemcpy(buf, &hdrSquid, hdr_sz); + } debug(31, 3) ("htcpBuildData: size %d\n", (int) off); return off; } -static char * -htcpBuildPacket(htcpStuff * stuff, ssize_t * len) +/* + * Build an HTCP packet into buf, maximum length buflen. + * Returns the packet length, or zero on failure. + */ +static ssize_t +htcpBuildPacket(char *buf, size_t buflen, htcpStuff * stuff) { - size_t buflen = 8192; ssize_t s; ssize_t off = 0; size_t hdr_sz = sizeof(htcpHeader); htcpHeader hdr; - char *buf = xcalloc(buflen, 1); /* skip the header -- we don't know the overall length */ if (buflen < hdr_sz) { - xfree(buf); - return NULL; + return 0; } off += hdr_sz; s = htcpBuildData(buf + off, buflen - off, stuff); if (s < 0) { - xfree(buf); - return NULL; + return 0; } off += s; s = htcpBuildAuth(buf + off, buflen - off); if (s < 0) { - xfree(buf); - return NULL; + return 0; } off += s; hdr.length = htons((u_short) off); hdr.major = 0; - hdr.minor = 0; + if (old_squid_format) + hdr.minor = 0; + else + hdr.minor = 1; xmemcpy(buf, &hdr, hdr_sz); - *len = off; debug(31, 3) ("htcpBuildPacket: size %d\n", (int) off); - return buf; + return off; } static void @@ -417,130 +456,185 @@ static void htcpFreeSpecifier(htcpSpecifier * s) { - safe_free(s->method); - safe_free(s->uri); - safe_free(s->version); - safe_free(s->req_hdrs); + if (s->request) + requestDestroy(s->request); memPoolFree(htcpSpecifierPool, s); } static void htcpFreeDetail(htcpDetail * d) { - safe_free(d->resp_hdrs); - safe_free(d->entity_hdrs); - safe_free(d->cache_hdrs); memPoolFree(htcpDetailPool, d); } -static int -htcpUnpackCountstr(char *buf, int sz, char **str) -{ - u_short l; - debug(31, 3) ("htcpUnpackCountstr: sz = %d\n", sz); - if (sz < 2) { - debug(31, 3) ("htcpUnpackCountstr: sz < 2\n"); - return -1; - } - htcpHexdump("htcpUnpackCountstr", buf, sz); - xmemcpy(&l, buf, 2); - l = ntohs(l); - buf += 2; - sz -= 2; - debug(31, 3) ("htcpUnpackCountstr: LENGTH = %d\n", (int) l); - if (sz < l) { - debug(31, 3) ("htcpUnpackCountstr: sz(%d) < l(%d)\n", sz, l); - return -1; - } - if (str) { - *str = xmalloc(l + 1); - xstrncpy(*str, buf, l + 1); - debug(31, 3) ("htcpUnpackCountstr: TEXT = {%s}\n", *str); - } - return (int) l + 2; -} - +/* + * Unpack an HTCP SPECIFIER in place + * This will overwrite any following AUTH block + */ static htcpSpecifier * htcpUnpackSpecifier(char *buf, int sz) { htcpSpecifier *s = memPoolAlloc(htcpSpecifierPool); - int o; - debug(31, 3) ("htcpUnpackSpecifier: %d bytes\n", (int) sz); - o = htcpUnpackCountstr(buf, sz, &s->method); - if (o < 0) { + method_t method; + + /* Find length of METHOD */ + u_short l = ntohs(*(u_short *) buf); + sz -= 2; + buf += 2; + if (l > sz) { debug(31, 1) ("htcpUnpackSpecifier: failed to unpack METHOD\n"); htcpFreeSpecifier(s); return NULL; } - buf += o; - sz -= o; - o = htcpUnpackCountstr(buf, sz, &s->uri); - if (o < 0) { + /* Set METHOD */ + s->method = buf; + buf += l; + sz -= l; + + /* Find length of URI */ + l = ntohs(*(u_short *) buf); + sz -= 2; + if (l > sz) { debug(31, 1) ("htcpUnpackSpecifier: failed to unpack URI\n"); htcpFreeSpecifier(s); return NULL; } - buf += o; - sz -= o; - o = htcpUnpackCountstr(buf, sz, &s->version); - if (o < 0) { + /* Add terminating null to METHOD */ + *buf = '\0'; + /* Set URI */ + buf += 2; + s->uri = buf; + buf += l; + sz -= l; + + /* Find length of VERSION */ + l = ntohs(*(u_short *) buf); + sz -= 2; + if (l > sz) { debug(31, 1) ("htcpUnpackSpecifier: failed to unpack VERSION\n"); htcpFreeSpecifier(s); return NULL; } - buf += o; - sz -= o; - o = htcpUnpackCountstr(buf, sz, &s->req_hdrs); - if (o < 0) { + /* Add terminating null to URI */ + *buf = '\0'; + /* Set VERSION */ + buf += 2; + s->version = buf; + buf += l; + sz -= l; + + /* Find length of REQ-HDRS */ + l = ntohs(*(u_short *) buf); + sz -= 2; + if (l > sz) { debug(31, 1) ("htcpUnpackSpecifier: failed to unpack REQ-HDRS\n"); htcpFreeSpecifier(s); return NULL; } - buf += o; - sz -= o; + /* Add terminating null to URI */ + *buf = '\0'; + /* Set REQ-HDRS */ + buf += 2; + s->req_hdrs = buf; + buf += l; + sz -= l; + debug(31, 3) ("htcpUnpackSpecifier: %d bytes left\n", sz); + /* + * Add terminating null to REQ-HDRS. This is possible because we allocated + * an extra byte when we received the packet. This will overwrite any following + * AUTH block. + */ + *buf = '\0'; + /* + * Parse the request + */ + method = urlParseMethod(s->method); + s->request = urlParse(method == METHOD_NONE ? METHOD_GET : method, s->uri); return s; } +/* + * Unpack an HTCP DETAIL in place + * This will overwrite any following AUTH block + */ static htcpDetail * htcpUnpackDetail(char *buf, int sz) { htcpDetail *d = memPoolAlloc(htcpDetailPool); - int o; - debug(31, 3) ("htcpUnpackDetail: %d bytes\n", (int) sz); - o = htcpUnpackCountstr(buf, sz, &d->resp_hdrs); - if (o < 0) { - debug(31, 1) ("htcpUnpackDetail: failed to unpack RESP_HDRS\n"); + + /* Find length of RESP-HDRS */ + u_short l = ntohs(*(u_short *) buf); + sz -= 2; + buf += 2; + if (l > sz) { + debug(31, 1) ("htcpUnpackDetail: failed to unpack RESP-HDRS\n"); htcpFreeDetail(d); return NULL; } - buf += o; - sz -= o; - o = htcpUnpackCountstr(buf, sz, &d->entity_hdrs); - if (o < 0) { - debug(31, 1) ("htcpUnpackDetail: failed to unpack ENTITY_HDRS\n"); + /* Set RESP-HDRS */ + d->resp_hdrs = buf; + buf += l; + sz -= l; + + /* Find length of ENTITY-HDRS */ + l = ntohs(*(u_short *) buf); + sz -= 2; + if (l > sz) { + debug(31, 1) ("htcpUnpackDetail: failed to unpack ENTITY-HDRS\n"); htcpFreeDetail(d); return NULL; } - buf += o; - sz -= o; - o = htcpUnpackCountstr(buf, sz, &d->cache_hdrs); - if (o < 0) { - debug(31, 1) ("htcpUnpackDetail: failed to unpack CACHE_HDRS\n"); + /* Add terminating null to RESP-HDRS */ + *buf = '\0'; + /* Set ENTITY-HDRS */ + buf += 2; + d->entity_hdrs = buf; + buf += l; + sz -= l; + + /* Find length of CACHE-HDRS */ + l = ntohs(*(u_short *) buf); + sz -= 2; + if (l > sz) { + debug(31, 1) ("htcpUnpackDetail: failed to unpack CACHE-HDRS\n"); htcpFreeDetail(d); return NULL; } - buf += o; - sz -= o; + /* Add terminating null to ENTITY-HDRS */ + *buf = '\0'; + /* Set CACHE-HDRS */ + buf += 2; + d->cache_hdrs = buf; + buf += l; + sz -= l; + debug(31, 3) ("htcpUnpackDetail: %d bytes left\n", sz); + /* + * Add terminating null to CACHE-HDRS. This is possible because we allocated + * an extra byte when we received the packet. This will overwrite any following + * AUTH block. + */ + *buf = '\0'; return d; } +static int +htcpAccessCheck(acl_access * acl, htcpSpecifier * s, struct sockaddr_in *from) +{ + aclCheck_t checklist; + memset(&checklist, '\0', sizeof(checklist)); + checklist.src_addr = from->sin_addr; + checklist.my_addr = no_addr; + checklist.request = s->request; + return aclCheckFast(acl, &checklist); +} + static void htcpTstReply(htcpDataHeader * dhdr, StoreEntry * e, htcpSpecifier * spec, struct sockaddr_in *from) { htcpStuff stuff; - char *pkt; + static char pkt[8192]; HttpHeader hdr; MemBuf mb; Packer p; @@ -597,16 +691,41 @@ httpHeaderClean(&hdr); packerClean(&p); } - pkt = htcpBuildPacket(&stuff, &pktlen); + pktlen = htcpBuildPacket(pkt, sizeof(pkt), &stuff); safe_free(stuff.D.resp_hdrs); safe_free(stuff.D.entity_hdrs); safe_free(stuff.D.cache_hdrs); - if (pkt == NULL) { + if (!pktlen) { debug(31, 0) ("htcpTstReply: htcpBuildPacket() failed\n"); return; } htcpSend(pkt, (int) pktlen, from); - xfree(pkt); +} + +static void +htcpClrReply(htcpDataHeader * dhdr, int purgeSucceeded, struct sockaddr_in *from) +{ + htcpStuff stuff; + static char pkt[8192]; + ssize_t pktlen; + + /* If dhdr->F1 == 0, no response desired */ + if (dhdr->F1 == 0) + return; + + memset(&stuff, '\0', sizeof(stuff)); + stuff.op = HTCP_CLR; + stuff.rr = RR_RESPONSE; + stuff.f1 = 0; + stuff.response = purgeSucceeded ? 0 : 2; + debug(31, 3) ("htcpClrReply: response = %d\n", stuff.response); + stuff.msg_id = dhdr->msg_id; + pktlen = htcpBuildPacket(pkt, sizeof(pkt), &stuff); + if (pktlen == 0) { + debug(31, 0) ("htcpClrReply: htcpBuildPacket() failed\n"); + return; + } + htcpSend(pkt, (int) pktlen, from); } static void @@ -618,11 +737,9 @@ static StoreEntry * htcpCheckHit(const htcpSpecifier * s) { - request_t *request; - method_t m = urlParseMethod(s->method); + request_t *request = s->request; StoreEntry *e = NULL, *hit = NULL; char *blk_end; - request = urlParse(m, s->uri); if (NULL == request) { debug(31, 3) ("htcpCheckHit: NO; failed to parse URL\n"); return NULL; @@ -648,11 +765,52 @@ debug(31, 3) ("htcpCheckHit: YES!?\n"); hit = e; miss: - requestDestroy(request); return hit; } static void +htcpClrStoreEntry(StoreEntry * e) +{ + debug(31, 4) ("htcpClrStoreEntry: Clearing store for entry: %s\n", storeUrl(e)); + storeRelease(e); +} + +static int +htcpClrStore(const htcpSpecifier * s) +{ + request_t *request = s->request; + char *blk_end; + StoreEntry *e = NULL; + int released = 0; + + if (request == NULL) { + debug(31, 3) ("htcpClrStore: failed to parse URL\n"); + return -1; + } + /* Parse request headers */ + blk_end = s->req_hdrs + strlen(s->req_hdrs); + if (!httpHeaderParse(&request->header, s->req_hdrs, blk_end)) { + debug(31, 2) ("htcpClrStore: failed to parse request headers\n"); + return -1; + } + /* Lookup matching entries. This matches both GET and HEAD */ + while ((e = storeGetPublicByRequest(request)) != NULL) { + if (e != NULL) { + htcpClrStoreEntry(e); + released++; + } + } + + if (released) { + debug(31, 4) ("htcpClrStore: Cleared %d matching entries\n", released); + return 1; + } else { + debug(31, 4) ("htcpClrStore: No matching entry found\n"); + return 0; + } +} + +static void htcpHandleTst(htcpDataHeader * hdr, char *buf, int sz, struct sockaddr_in *from) { debug(31, 3) ("htcpHandleTst: sz = %d\n", (int) sz); @@ -667,10 +825,22 @@ { htcpReplyData htcpReply; cache_key *key = NULL; + struct sockaddr_in *peer; htcpDetail *d = NULL; char *t; + + key = queried_keys[hdr->msg_id % N_QUERIED_KEYS]; + if (!key) { + debug(31, 2) ("htcpHandleTstResponse: No matching query id '%d' from '%s'\n", hdr->msg_id, inet_ntoa(from->sin_addr)); + return; + } + peer = &queried_addr[hdr->msg_id % N_QUERIED_KEYS]; + if (peer->sin_addr.s_addr != from->sin_addr.s_addr || peer->sin_port != from->sin_port) { + debug(31, 1) ("htcpHandleTstResponse: Unexpected response source %s\n", inet_ntoa(from->sin_addr)); + return; + } if (hdr->F1 == 1) { - debug(31, 1) ("htcpHandleTstResponse: error condition, F1/MO == 1\n"); + debug(31, 2) ("htcpHandleTstResponse: error condition, F1/MO == 1\n"); return; } memset(&htcpReply, '\0', sizeof(htcpReply)); @@ -716,7 +886,17 @@ return; s = htcpUnpackSpecifier(buf, sz); if (NULL == s) { - debug(31, 3) ("htcpHandleTstRequest: htcpUnpackSpecifier failed\n"); + debug(31, 2) ("htcpHandleTstRequest: htcpUnpackSpecifier failed\n"); + return; + } + if (!s->request) { + debug(31, 2) ("htcpHandleTstRequest: failed to parse request\n"); + htcpFreeSpecifier(s); + return; + } + if (!htcpAccessCheck(Config.accessList.htcp, s, from)) { + debug(31, 2) ("htcpHandleTstRequest: Access denied\n"); + htcpFreeSpecifier(s); return; } debug(31, 3) ("htcpHandleTstRequest: %s %s %s\n", @@ -744,6 +924,54 @@ } static void +htcpHandleClr(htcpDataHeader * hdr, char *buf, int sz, struct sockaddr_in *from) +{ + htcpSpecifier *s; + /* buf[0/1] is reserved and reason */ + int reason = buf[1] << 4; + debug(31, 3) ("htcpHandleClr: reason=%d\n", reason); + buf += 2; + sz -= 2; + + /* buf should be a SPECIFIER */ + if (sz == 0) { + debug(31, 4) ("htcpHandleClr: nothing to do\n"); + return; + } + s = htcpUnpackSpecifier(buf, sz); + if (NULL == s) { + debug(31, 3) ("htcpHandleClr: htcpUnpackSpecifier failed\n"); + return; + } + if (!htcpAccessCheck(Config.accessList.htcp_clr, s, from)) { + debug(31, 2) ("htcpHandleClr: Access denied\n"); + htcpFreeSpecifier(s); + return; + } + debug(31, 5) ("htcpHandleClr: %s %s %s\n", + s->method, + s->uri, + s->version); + debug(31, 5) ("htcpHandleClr: request headers: %s\n", s->req_hdrs); + + /* Release objects from cache + * analog to clientPurgeRequest in client_side.c + */ + switch (htcpClrStore(s)) { + case 1: + htcpClrReply(hdr, 1, from); /* hit */ + break; + case 0: + htcpClrReply(hdr, 0, from); /* miss */ + break; + default: + break; + } + + htcpFreeSpecifier(s); +} + +static void htcpHandleData(char *buf, int sz, struct sockaddr_in *from) { htcpDataHeader hdr; @@ -751,7 +979,19 @@ debug(31, 0) ("htcpHandleData: msg size less than htcpDataHeader size\n"); return; } - xmemcpy(&hdr, buf, sizeof(htcpDataHeader)); + if (!old_squid_format) { + xmemcpy(&hdr, buf, sizeof(hdr)); + } else { + htcpDataHeaderSquid hdrSquid; + xmemcpy(&hdrSquid, buf, sizeof(hdrSquid)); + hdr.length = hdrSquid.length; + hdr.opcode = hdrSquid.opcode; + hdr.response = hdrSquid.response; + hdr.F1 = hdrSquid.F1; + hdr.RR = hdrSquid.RR; + hdr.reserved = 0; + hdr.msg_id = hdrSquid.msg_id; + } hdr.length = ntohs(hdr.length); hdr.msg_id = ntohl(hdr.msg_id); debug(31, 3) ("htcpHandleData: sz = %d\n", sz); @@ -772,6 +1012,10 @@ debug(31, 0) ("htcpHandle: sz < hdr.length\n"); return; } + if (hdr.length + sizeof(htcpDataHeader) > sz) { + debug(31, 1) ("htcpHandleData: Invalid HTCP packet from %s\n", inet_ntoa(from->sin_addr)); + return; + } /* * set sz = hdr.length so we ignore any AUTH fields following * the DATA. @@ -795,12 +1039,10 @@ htcpHandleSet(&hdr, buf, sz, from); break; case HTCP_CLR: - debug(31, 1) ("htcpHandleData: client %s, CLR not supported\n", - inet_ntoa(from->sin_addr)); + htcpHandleClr(&hdr, buf, sz, from); break; default: - assert(0); - break; + return; } } @@ -815,6 +1057,10 @@ htcpHexdump("htcpHandle", buf, sz); xmemcpy(&htcpHdr, buf, sizeof(htcpHeader)); htcpHdr.length = ntohs(htcpHdr.length); + if (htcpHdr.minor == 0) + old_squid_format = 1; + else + old_squid_format = 0; debug(31, 3) ("htcpHandle: htcpHdr.length = %d\n", (int) htcpHdr.length); debug(31, 3) ("htcpHandle: htcpHdr.major = %d\n", (int) htcpHdr.major); debug(31, 3) ("htcpHandle: htcpHdr.minor = %d\n", (int) htcpHdr.minor); @@ -824,6 +1070,12 @@ inet_ntoa(from->sin_addr), (int) ntohs(from->sin_port)); return; } + if (htcpHdr.major != 0) { + debug(31, 1) ("htcpHandle: Unknown major version %d from %s:%d\n", + htcpHdr.major, + inet_ntoa(from->sin_addr), (int) ntohs(from->sin_port)); + return; + } buf += sizeof(htcpHeader); sz -= sizeof(htcpHeader); htcpHandleData(buf, sz, from); @@ -838,7 +1090,8 @@ socklen_t flen = sizeof(struct sockaddr_in); memset(&from, '\0', flen); statCounter.syscalls.sock.recvfroms++; - len = recvfrom(fd, buf, 8192, 0, (struct sockaddr *) &from, &flen); + /* Receive up to 8191 bytes, leaving room for a null */ + len = recvfrom(fd, buf, sizeof(buf) - 1, 0, (struct sockaddr *) &from, &flen); debug(31, 3) ("htcpRecv: FD %d, %d bytes from %s:%d\n", fd, len, inet_ntoa(from.sin_addr), ntohs(from.sin_port)); htcpHandle(buf, len, &from); @@ -899,7 +1152,7 @@ htcpQuery(StoreEntry * e, request_t * req, peer * p) { cache_key *save_key; - char *pkt; + static char pkt[8192]; ssize_t pktlen; char vbuf[32]; htcpStuff stuff; @@ -911,6 +1164,7 @@ if (htcpInSocket < 0) return; + old_squid_format = p->options.htcp_oldsquid; memset(&flags, '\0', sizeof(flags)); snprintf(vbuf, sizeof(vbuf), "%d/%d", req->http_ver.major, req->http_ver.minor); @@ -929,17 +1183,17 @@ httpHeaderClean(&hdr); packerClean(&pa); stuff.S.req_hdrs = mb.buf; - pkt = htcpBuildPacket(&stuff, &pktlen); + pktlen = htcpBuildPacket(pkt, sizeof(pkt), &stuff); memBufClean(&mb); - if (pkt == NULL) { + if (!pktlen) { debug(31, 0) ("htcpQuery: htcpBuildPacket() failed\n"); return; } htcpSend(pkt, (int) pktlen, &p->in_addr); save_key = queried_keys[stuff.msg_id % N_QUERIED_KEYS]; storeKeyCopy(save_key, e->hash.key); + queried_addr[stuff.msg_id % N_QUERIED_KEYS] = p->in_addr; debug(31, 3) ("htcpQuery: key (%p) %s\n", save_key, storeKeyText(save_key)); - xfree(pkt); } /* diff -ruN squid-2.6.PRE1/src/http.c squid-2.6.PRE2/src/http.c --- squid-2.6.PRE1/src/http.c Sat May 27 06:41:32 2006 +++ squid-2.6.PRE2/src/http.c Mon Jun 5 23:57:55 2006 @@ -1,6 +1,6 @@ /* - * $Id: http.c,v 1.405 2006/05/27 12:41:32 hno Exp $ + * $Id: http.c,v 1.407 2006/06/06 05:57:55 hno Exp $ * * DEBUG: section 11 Hypertext Transfer Protocol (HTTP) * AUTHOR: Harvest Derived @@ -54,6 +54,7 @@ static void httpMakePublic(StoreEntry *); static int httpCachableReply(HttpStateData *); static void httpMaybeRemovePublic(StoreEntry *, http_status); +static int peer_supports_connection_pinning(HttpStateData * httpState); static void httpStateFree(int fd, void *data) @@ -447,6 +448,8 @@ ctx_exit(ctx); return; } + if (!peer_supports_connection_pinning(httpState)) + httpState->orig_request->flags.no_connection_auth = 1; storeTimestampsSet(entry); /* Check if object is cacheable or not based on reply code */ debug(11, 3) ("httpProcessReplyHeader: HTTP CODE: %d\n", reply->sline.status); @@ -545,6 +548,35 @@ return 1; } +/* Small helper function to verify if connection pinning is supported or not + */ +static int +peer_supports_connection_pinning(HttpStateData * httpState) +{ + const HttpReply *rep = httpState->entry->mem_obj->reply; + const HttpHeader *hdr = &rep->header; + const request_t *req = httpState->orig_request; + int rc; + String header; + + if (!httpState->peer) + return 1; + + if (req->pinned_connection) + if (req->pinned_connection->pinning.host) + return 1; + + if (!httpHeaderHas(hdr, HDR_PROXY_SUPPORT)) + return 0; + + header = httpHeaderGetStrOrList(hdr, HDR_PROXY_SUPPORT); + /* XXX This ought to be done in a case-insensitive manner */ + rc = (strStr(header, "Session-Based-Authentication") != NULL); + stringClean(&header); + + return rc; +} + /* This will be called when data is ready to be read from fd. Read until * error or connection closed. */ /* XXX this function is too long! */ @@ -555,6 +587,7 @@ LOCAL_ARRAY(char, buf, SQUID_TCP_SO_RCVBUF); StoreEntry *entry = httpState->entry; const request_t *request = httpState->request; + const request_t *orig_request = httpState->orig_request; int len; int bin; int clen; @@ -700,7 +733,7 @@ */ if (!httpState->flags.request_sent) { debug(11, 1) ("httpReadReply: Request not yet fully sent \"%s %s\"\n", - RequestMethodStr[httpState->orig_request->method], + RequestMethodStr[orig_request->method], storeUrl(entry)); keep_alive = 0; } @@ -720,19 +753,15 @@ } else if (len > 0) { debug(11, Config.onoff.relaxed_header_parser <= 0 || keep_alive ? 1 : 2) ("httpReadReply: Excess data from \"%s %s\"\n", - RequestMethodStr[httpState->orig_request->method], + RequestMethodStr[orig_request->method], storeUrl(entry)); storeAppend(entry, buf, len); keep_alive = 0; } } if (keep_alive) { - if (httpState->request->flags.pinned) { - client_addr = &httpState->request->client_addr; - client_port = httpState->request->client_port; - } #if LINUX_TPROXY - else if ((Config.onoff.linux_tproxy) && + if ((Config.onoff.linux_tproxy) && ((httpState->request->my_port == Config.tproxy_port) || (Config.tproxy_port == 0))) { client_addr = &httpState->request->client_addr; } @@ -746,7 +775,12 @@ #endif comm_remove_close_handler(fd, httpStateFree, httpState); fwdUnregister(fd, httpState->fwd); - if (httpState->peer) { + if (orig_request->pinned_connection) { + if (peer_supports_connection_pinning(httpState)) + clientPinConnection(orig_request->pinned_connection, orig_request->host, orig_request->port, fd); + else + comm_close(fd); + } else if (httpState->peer) { if (httpState->peer->options.originserver) pconnPush(fd, httpState->peer->name, httpState->peer->http_port, httpState->orig_request->host, client_addr, client_port); else @@ -776,7 +810,7 @@ /* Server is nasty on us. Shut down */ debug(11, Config.onoff.relaxed_header_parser <= 0 || entry->mem_obj->reply->keep_alive ? 1 : 2) ("httpReadReply: Excess data from \"%s %s\"\n", - RequestMethodStr[httpState->orig_request->method], + RequestMethodStr[orig_request->method], storeUrl(entry)); fwdComplete(httpState->fwd); comm_close(fd); @@ -875,6 +909,8 @@ we_do_ranges = 0; else if (!orig_request->flags.cachable) we_do_ranges = 0; + else if (orig_request->flags.connection_auth) + we_do_ranges = 0; else if (httpHdrRangeOffsetLimit(orig_request->range)) we_do_ranges = 0; else @@ -1186,7 +1222,9 @@ /* * Is keep-alive okay for all request methods? */ - if (!Config.onoff.server_pconns) + if (httpState->orig_request->flags.must_keepalive) + httpState->flags.keepalive = 1; + else if (!Config.onoff.server_pconns) httpState->flags.keepalive = 0; else if (p == NULL) httpState->flags.keepalive = 1; diff -ruN squid-2.6.PRE1/src/logfile.c squid-2.6.PRE2/src/logfile.c --- squid-2.6.PRE1/src/logfile.c Mon May 15 22:50:54 2006 +++ squid-2.6.PRE2/src/logfile.c Mon Jun 5 15:06:34 2006 @@ -1,5 +1,5 @@ /* - * $Id: logfile.c,v 1.15 2006/05/16 04:50:54 hno Exp $ + * $Id: logfile.c,v 1.16 2006/06/05 21:06:34 serassio Exp $ * * DEBUG: section 50 Log file handling * AUTHOR: Duane Wessels @@ -37,6 +37,12 @@ static void logfileWriteWrapper(Logfile * lf, const void *buf, size_t len); #if HAVE_SYSLOG + +/* Define LOG_AUTHPRIV as LOG_AUTH on systems still using the old deprecated LOG_AUTH */ +#if !defined(LOG_AUTHPRIV) && defined(LOG_AUTH) +#define LOG_AUTHPRIV LOG_AUTH +#endif + typedef struct { const char *name; int value; diff -ruN squid-2.6.PRE1/src/main.c squid-2.6.PRE2/src/main.c --- squid-2.6.PRE1/src/main.c Mon May 29 07:07:38 2006 +++ squid-2.6.PRE2/src/main.c Mon Jun 5 06:44:33 2006 @@ -1,6 +1,6 @@ /* - * $Id: main.c,v 1.377 2006/05/29 13:07:38 hno Exp $ + * $Id: main.c,v 1.379 2006/06/05 12:44:33 hno Exp $ * * DEBUG: section 1 Startup and Main Loop * AUTHOR: Harvest Derived @@ -754,6 +754,9 @@ if (checkRunningPid()) exit(1); + /* Make sure the OS allows core dumps if enabled in squid.conf */ + enableCoredumps(); + #if TEST_ACCESS comm_init(); comm_select_init(); @@ -833,13 +836,7 @@ eventRun(); if ((loop_delay = eventNextTime()) < 0) loop_delay = 0; -#if USE_EPOLL - switch (comm_epoll(loop_delay)) { -#elif USE_POLL - switch (comm_poll(loop_delay)) { -#else switch (comm_select(loop_delay)) { -#endif case COMM_OK: errcount = 0; /* reset if successful */ break; diff -ruN squid-2.6.PRE1/src/net_db.c squid-2.6.PRE2/src/net_db.c --- squid-2.6.PRE1/src/net_db.c Sat May 27 09:50:16 2006 +++ squid-2.6.PRE2/src/net_db.c Mon Jun 5 16:47:01 2006 @@ -1,6 +1,6 @@ /* - * $Id: net_db.c,v 1.171 2006/05/27 15:50:16 serassio Exp $ + * $Id: net_db.c,v 1.172 2006/06/05 22:47:01 hno Exp $ * * DEBUG: section 38 Network Measurement Database * AUTHOR: Duane Wessels @@ -652,7 +652,7 @@ debug(38, 3) ("netdbExchangeDone: %s\n", storeUrl(ex->e)); memFree(ex->buf, MEM_4K_BUF); requestUnlink(ex->r); - storeUnregister(ex->sc, ex->e, ex); + storeClientUnregister(ex->sc, ex->e, ex); storeUnlockObject(ex->e); cbdataUnlock(ex->p); cbdataFree(ex); @@ -1012,7 +1012,7 @@ ex->buf_sz = 4096; ex->buf = memAllocate(MEM_4K_BUF); assert(NULL != ex->e); - ex->sc = storeClientListAdd(ex->e, ex); + ex->sc = storeClientRegister(ex->e, ex); storeClientCopy(ex->sc, ex->e, ex->seen, ex->used, ex->buf_sz, ex->buf, netdbExchangeHandleReply, ex); ex->r->flags.loopdetect = 1; /* cheat! -- force direct */ diff -ruN squid-2.6.PRE1/src/peer_digest.c squid-2.6.PRE2/src/peer_digest.c --- squid-2.6.PRE1/src/peer_digest.c Tue May 17 10:56:38 2005 +++ squid-2.6.PRE2/src/peer_digest.c Mon Jun 5 16:47:01 2006 @@ -1,6 +1,6 @@ /* - * $Id: peer_digest.c,v 1.93 2005/05/17 16:56:38 hno Exp $ + * $Id: peer_digest.c,v 1.94 2006/06/05 22:47:01 hno Exp $ * * DEBUG: section 72 Peer Digest Routines * AUTHOR: Alex Rousskov @@ -316,11 +316,11 @@ debug(72, 5) ("peerDigestRequest: found old entry\n"); storeLockObject(old_e); storeCreateMemObject(old_e, url, url); - fetch->old_sc = storeClientListAdd(old_e, fetch); + fetch->old_sc = storeClientRegister(old_e, fetch); } e = fetch->entry = storeCreateEntry(url, url, req->flags, req->method); assert(EBIT_TEST(e->flags, KEY_PRIVATE)); - fetch->sc = storeClientListAdd(e, fetch); + fetch->sc = storeClientRegister(e, fetch); /* set lastmod to trigger IMS request if possible */ if (old_e) e->lastmod = old_e->lastmod; @@ -369,7 +369,7 @@ httpReplyUpdateOnNotModified(fetch->old_entry->mem_obj->reply, reply); storeTimestampsSet(fetch->old_entry); /* get rid of 304 reply */ - storeUnregister(fetch->sc, fetch->entry, fetch); + storeClientUnregister(fetch->sc, fetch->entry, fetch); storeUnlockObject(fetch->entry); fetch->entry = fetch->old_entry; fetch->old_entry = NULL; @@ -380,7 +380,7 @@ /* get rid of old entry if any */ if (fetch->old_entry) { debug(72, 3) ("peerDigestFetchReply: got new digest, releasing old one\n"); - storeUnregister(fetch->old_sc, fetch->old_entry, fetch); + storeClientUnregister(fetch->old_sc, fetch->old_entry, fetch); storeReleaseRequest(fetch->old_entry); storeUnlockObject(fetch->old_entry); fetch->old_entry = NULL; @@ -688,7 +688,7 @@ if (fetch->old_entry) { debug(72, 2) ("peerDigestFetchFinish: deleting old entry\n"); - storeUnregister(fetch->old_sc, fetch->old_entry, fetch); + storeClientUnregister(fetch->old_sc, fetch->old_entry, fetch); storeReleaseRequest(fetch->old_entry); storeUnlockObject(fetch->old_entry); fetch->old_entry = NULL; @@ -700,7 +700,7 @@ statCounter.cd.msgs_recv += fetch->recv.msg; /* unlock everything */ - storeUnregister(fetch->sc, fetch->entry, fetch); + storeClientUnregister(fetch->sc, fetch->entry, fetch); storeUnlockObject(fetch->entry); requestUnlink(fetch->request); fetch->entry = NULL; diff -ruN squid-2.6.PRE1/src/peer_monitor.c squid-2.6.PRE2/src/peer_monitor.c --- squid-2.6.PRE1/src/peer_monitor.c Mon May 15 19:08:29 2006 +++ squid-2.6.PRE2/src/peer_monitor.c Mon Jun 5 16:47:01 2006 @@ -1,6 +1,6 @@ /* - * $Id: peer_monitor.c,v 1.1 2006/05/16 01:08:29 hno Exp $ + * $Id: peer_monitor.c,v 1.2 2006/06/05 22:47:01 hno Exp $ * * DEBUG: section ?? Peer monitoring * AUTHOR: Henrik Nordstrom @@ -148,7 +148,7 @@ xstrncpy(req->login, pm->peer->login, MAX_LOGIN_SZ); pm->running.req = requestLink(req); pm->running.e = storeCreateEntry(url, url, req->flags, req->method); - pm->running.sc = storeClientListAdd(pm->running.e, pm); + pm->running.sc = storeClientRegister(pm->running.e, pm); pm->running.buf = memAllocate(MEM_4K_BUF); fwdStartPeer(pm->peer, pm->running.e, pm->running.req); storeClientCopy(pm->running.sc, pm->running.e, 0, 0, 4096, pm->running.buf, peerMonitorFetchReplyHeaders, pm); @@ -160,7 +160,7 @@ { int state = PEER_ALIVE; peer *p = pm->peer; - storeUnregister(pm->running.sc, pm->running.e, pm); + storeClientUnregister(pm->running.sc, pm->running.e, pm); storeUnlockObject(pm->running.e); requestUnlink(pm->running.req); memFree(pm->running.buf, MEM_4K_BUF); diff -ruN squid-2.6.PRE1/src/protos.h squid-2.6.PRE2/src/protos.h --- squid-2.6.PRE1/src/protos.h Mon May 29 10:32:39 2006 +++ squid-2.6.PRE2/src/protos.h Tue Jun 6 11:40:02 2006 @@ -1,6 +1,6 @@ /* - * $Id: protos.h,v 1.484 2006/05/29 16:32:39 hno Exp $ + * $Id: protos.h,v 1.493 2006/06/06 17:40:02 hno Exp $ * * * SQUID Web Proxy Cache http://www.squid-cache.org/ @@ -135,16 +135,13 @@ extern void clientdbFreeMemory(void); extern int clientdbEstablished(struct in_addr, int); -extern void clientAccessCheck(void *); -extern void clientAccessCheckDone(int, void *); -extern int modifiedSince(StoreEntry *, request_t *); extern char *clientConstructTraceEcho(clientHttpRequest *); -extern void clientPurgeRequest(clientHttpRequest *); extern int checkNegativeHit(StoreEntry *); extern void clientOpenListenSockets(void); extern void clientHttpConnectionsClose(void); -extern StoreEntry *clientCreateStoreEntry(clientHttpRequest *, method_t, request_flags); extern int isTcpHit(log_type); +extern void clientPinConnection(ConnStateData * conn, const char *host, int port, int fd); +int clientGetPinnedConnection(ConnStateData * conn, request_t * request); extern int commSetNonBlocking(int fd); extern int commUnsetNonBlocking(int fd); @@ -163,10 +160,8 @@ extern int comm_openex(int, int, struct in_addr, u_short, int, unsigned char TOS, const char *); extern u_short comm_local_port(int fd); -#if USE_EPOLL extern void commDeferFD(int fd); extern void commResumeFD(int fd); -#endif extern void commSetSelect(int, unsigned int, PF *, void *, time_t); extern void comm_add_close_handler(int fd, PF *, void *); extern void comm_remove_close_handler(int fd, PF *, void *); @@ -190,8 +185,6 @@ */ extern void comm_select_init(void); extern void comm_select_shutdown(void); -extern int comm_epoll(int); -extern int comm_poll(int); extern int comm_select(int); extern void commUpdateEvents(int fd, int force); extern void commSetEvents(int fd, int need_read, int need_write, int force); @@ -476,16 +469,14 @@ extern void httpReplyDestroy(HttpReply * rep); /* reset: clean, then init */ extern void httpReplyReset(HttpReply * rep); -/* absorb: copy the contents of a new reply to the old one, destroy new one */ -extern void httpReplyAbsorb(HttpReply * rep, HttpReply * new_rep); /* parse returns -1,0,+1 on error,need-more-data,success */ extern int httpReplyParse(HttpReply * rep, const char *buf, size_t); extern void httpReplyPackInto(const HttpReply * rep, Packer * p); /* ez-routines */ /* mem-pack: returns a ready to use mem buffer with a packed reply */ extern MemBuf httpReplyPack(const HttpReply * rep); -/* swap: create swap-based packer, pack, destroy packer */ -extern void httpReplySwapOut(const HttpReply * rep, StoreEntry * e); +/* swap: create swap-based packer, pack, destroy packer and absorbs the reply if not the same as the object reply */ +extern void httpReplySwapOut(HttpReply * rep, StoreEntry * e); /* set commonly used info with one call */ extern void httpReplySetHeaders(HttpReply * rep, http_version_t ver, http_status status, const char *reason, const char *ctype, squid_off_t clen, time_t lmt, time_t expires); @@ -875,7 +866,6 @@ extern int memPoolInUseCount(const MemPool * pool); extern size_t memPoolInUseSize(const MemPool * pool); extern int memPoolUsedCount(const MemPool * pool); -extern void memPoolReport(const MemPool * pool, StoreEntry * e); /* Mem */ extern void memReport(StoreEntry * e); @@ -917,7 +907,7 @@ extern int storeEntryValidToSend(StoreEntry *); extern void storeTimestampsSet(StoreEntry *); extern void storeRegisterAbort(StoreEntry * e, STABH * cb, void *); -extern void storeUnregisterAbort(StoreEntry * e); +extern void storeClientUnregisterAbort(StoreEntry * e); extern void storeMemObjectDump(MemObject * mem); extern void storeEntryDump(const StoreEntry * e, int debug_lvl); extern const char *storeUrl(const StoreEntry *); @@ -947,6 +937,8 @@ extern void storeFsDone(void); extern void storeFsAdd(const char *, STSETUP *); extern void storeReplAdd(const char *, REMOVALPOLICYCREATE *); +void storeDeferRead(StoreEntry *, int fd); +void storeResumeRead(StoreEntry *); /* store_modules.c */ extern void storeFsSetup(void); @@ -1025,7 +1017,13 @@ extern void storeDirLRUDelete(StoreEntry *); extern void storeDirLRUAdd(StoreEntry *); extern int storeDirGetBlkSize(const char *path, int *blksize); + +#ifdef HAVE_STATVFS +extern int storeDirGetUFSStats(const char *, fsblkcnt_t *, fsblkcnt_t *, fsfilcnt_t *, fsfilcnt_t *); +#else extern int storeDirGetUFSStats(const char *, int *, int *, int *, int *); +#endif + /* * store_swapmeta.c @@ -1058,13 +1056,10 @@ /* * store_client.c */ -#if STORE_CLIENT_LIST_DEBUG -extern store_client *storeClientListSearch(const MemObject * mem, void *data); -#endif -extern store_client *storeClientListAdd(StoreEntry * e, void *data); +extern store_client *storeClientRegister(StoreEntry * e, void *data); extern void storeClientCopy(store_client *, StoreEntry *, squid_off_t, squid_off_t, size_t, char *, STCB *, void *); extern int storeClientCopyPending(store_client *, StoreEntry * e, void *data); -extern int storeUnregister(store_client * sc, StoreEntry * e, void *data); +extern int storeClientUnregister(store_client * sc, StoreEntry * e, void *data); extern squid_off_t storeLowestMemReaderOffset(const StoreEntry * entry); extern void InvokeHandlers(StoreEntry * e); extern int storePendingNClients(const StoreEntry * e); @@ -1084,6 +1079,7 @@ extern void fatal_dump(const char *message); extern void sigusr2_handle(int sig); extern void sig_child(int sig); +extern void enableCoredumps(void); extern void leave_suid(void); extern void enter_suid(void); extern void no_suid(void); diff -ruN squid-2.6.PRE1/src/repl/Makefile.am squid-2.6.PRE2/src/repl/Makefile.am --- squid-2.6.PRE1/src/repl/Makefile.am Tue May 23 14:28:21 2006 +++ squid-2.6.PRE2/src/repl/Makefile.am Fri Jun 2 15:35:41 2006 @@ -1,15 +1,10 @@ # Makefile for storage modules in the Squid Object Cache server # -# $Id: Makefile.am,v 1.4 2006/05/23 20:28:21 serassio Exp $ +# $Id: Makefile.am,v 1.5 2006/06/02 21:35:41 hno Exp $ # AUTOMAKE_OPTIONS = subdir-objects -DIST_SUBDIRS = lru heap -SUBDIRS = -# No recursion is needed for the subdirs, we build from here. // @REPL_POLICIES@ -OUTLIBS = @REPL_LIBS@ - EXTRA_LIBRARIES = liblru.a libheap.a noinst_LIBRARIES = @REPL_LIBS@ @@ -19,34 +14,3 @@ INCLUDES = -I. -I$(top_builddir)/include -I$(top_srcdir)/include \ -I$(top_srcdir)/src -##all: -## @test -z "$(SUBDIRS)" || for dir in $(SUBDIRS); do \ -## sh -c "cd $$dir && $(MAKE) $(MFLAGS) all" || exit 1; \ -## done; \ -## if [ ! -f stamp ]; then \ -## touch stamp; \ -## fi - -##$(OUTLIBS): -## @sh -c "cd `basename $@ .a` && $(MAKE) $(MFLAGS) ../$@" - -##clean: -## -rm -f *.a stamp -## -for dir in *; do \ -## if [ -f $$dir/Makefile ]; then \ -## sh -c "cd $$dir && $(MAKE) $(MFLAGS) $@" || exit 1;\ -## fi; \ -## done - -##distclean: -## -rm -f *.a Makefile -## -for dir in *; do \ -## if [ -f $$dir/Makefile ]; then \ -## sh -c "cd $$dir && $(MAKE) $(MFLAGS) distclean"; \ -## fi; \ -## done - -##.DEFAULT: -## @test -z "$(SUBDIRS)" || for dir in $(SUBDIRS); do \ -## sh -c "cd $$dir && $(MAKE) $(MFLAGS) $@" || exit 1; \ -## done diff -ruN squid-2.6.PRE1/src/repl/Makefile.in squid-2.6.PRE2/src/repl/Makefile.in --- squid-2.6.PRE1/src/repl/Makefile.in Thu May 25 06:42:27 2006 +++ squid-2.6.PRE2/src/repl/Makefile.in Fri Jun 2 15:35:41 2006 @@ -16,7 +16,7 @@ # Makefile for storage modules in the Squid Object Cache server # -# $Id: Makefile.in,v 1.28 2006/05/25 12:42:27 hno Exp $ +# $Id: Makefile.in,v 1.29 2006/06/02 21:35:41 hno Exp $ # srcdir = @srcdir@ @@ -72,12 +72,6 @@ LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(libheap_a_SOURCES) $(liblru_a_SOURCES) DIST_SOURCES = $(libheap_a_SOURCES) $(liblru_a_SOURCES) -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -246,10 +240,6 @@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ AUTOMAKE_OPTIONS = subdir-objects -DIST_SUBDIRS = lru heap -SUBDIRS = -# No recursion is needed for the subdirs, we build from here. // @REPL_POLICIES@ -OUTLIBS = @REPL_LIBS@ EXTRA_LIBRARIES = liblru.a libheap.a noinst_LIBRARIES = @REPL_LIBS@ liblru_a_SOURCES = lru/store_repl_lru.c @@ -257,7 +247,7 @@ INCLUDES = -I. -I$(top_builddir)/include -I$(top_srcdir)/include \ -I$(top_srcdir)/src -all: all-recursive +all: all-am .SUFFIXES: .SUFFIXES: .c .o .obj @@ -350,77 +340,6 @@ @am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` uninstall-info-am: -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -431,23 +350,10 @@ mkid -fID $$unique tags: TAGS -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ @@ -460,7 +366,7 @@ $$tags $$unique; \ fi ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ @@ -509,35 +415,19 @@ || exit 1; \ fi; \ done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - distdir) \ - || exit 1; \ - fi; \ - done check-am: all-am -check: check-recursive +check: check-am all-am: Makefile $(LIBRARIES) -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -installcheck: installcheck-recursive +installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ @@ -557,23 +447,23 @@ maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive +clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am -distclean: distclean-recursive +distclean: distclean-am -rm -rf heap/$(DEPDIR) lru/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags -dvi: dvi-recursive +dvi: dvi-am dvi-am: -html: html-recursive +html: html-am -info: info-recursive +info: info-am info-am: @@ -581,45 +471,41 @@ install-exec-am: -install-info: install-info-recursive +install-info: install-info-am install-man: installcheck-am: -maintainer-clean: maintainer-clean-recursive +maintainer-clean: maintainer-clean-am -rm -rf heap/$(DEPDIR) lru/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic -mostlyclean: mostlyclean-recursive +mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic -pdf: pdf-recursive +pdf: pdf-am pdf-am: -ps: ps-recursive +ps: ps-am ps-am: uninstall-am: uninstall-info-am -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-noinstLIBRARIES clean-recursive \ - ctags ctags-recursive distclean distclean-compile \ - distclean-generic distclean-recursive distclean-tags distdir \ - dvi dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-exec install-exec-am \ - install-info install-info-am install-man install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-recursive pdf pdf-am ps ps-am \ - tags tags-recursive uninstall uninstall-am uninstall-info-am +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-noinstLIBRARIES ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-info-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -ruN squid-2.6.PRE1/src/repl/heap/Makefile.in squid-2.6.PRE2/src/repl/heap/Makefile.in --- squid-2.6.PRE1/src/repl/heap/Makefile.in Thu May 25 06:42:27 2006 +++ squid-2.6.PRE2/src/repl/heap/Makefile.in Wed Dec 31 17:00:00 1969 @@ -1,367 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = src/repl/heap -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/cfgaux/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/autoconf.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AR_R = @AR_R@ -AUTH_LIBS = @AUTH_LIBS@ -AUTH_MODULES = @AUTH_MODULES@ -AUTH_OBJS = @AUTH_OBJS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BASIC_AUTH_HELPERS = @BASIC_AUTH_HELPERS@ -CACHE_HTTP_PORT = @CACHE_HTTP_PORT@ -CACHE_ICP_PORT = @CACHE_ICP_PORT@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CGIEXT = @CGIEXT@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CRYPTLIB = @CRYPTLIB@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -ENABLE_HTCP_FALSE = @ENABLE_HTCP_FALSE@ -ENABLE_HTCP_TRUE = @ENABLE_HTCP_TRUE@ -ENABLE_PINGER_FALSE = @ENABLE_PINGER_FALSE@ -ENABLE_PINGER_TRUE = @ENABLE_PINGER_TRUE@ -ENABLE_SSL_FALSE = @ENABLE_SSL_FALSE@ -ENABLE_SSL_TRUE = @ENABLE_SSL_TRUE@ -ENABLE_UNLINKD_FALSE = @ENABLE_UNLINKD_FALSE@ -ENABLE_UNLINKD_TRUE = @ENABLE_UNLINKD_TRUE@ -ENABLE_WIN32SPECIFIC_FALSE = @ENABLE_WIN32SPECIFIC_FALSE@ -ENABLE_WIN32SPECIFIC_TRUE = @ENABLE_WIN32SPECIFIC_TRUE@ -EPOLL_LIBS = @EPOLL_LIBS@ -ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ -ERR_LANGUAGES = @ERR_LANGUAGES@ -EXEEXT = @EXEEXT@ -EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@ -FALSE = @FALSE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBDLMALLOC = @LIBDLMALLOC@ -LIBOBJS = @LIBOBJS@ -LIBREGEX = @LIBREGEX@ -LIBS = @LIBS@ -LIBSASL = @LIBSASL@ -LIB_DB = @LIB_DB@ -LIB_EPOLL = @LIB_EPOLL@ -LIB_LBER = @LIB_LBER@ -LIB_LDAP = @LIB_LDAP@ -LIB_MALLOC = @LIB_MALLOC@ -LN = @LN@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MAKE_LEAKFINDER_FALSE = @MAKE_LEAKFINDER_FALSE@ -MAKE_LEAKFINDER_TRUE = @MAKE_LEAKFINDER_TRUE@ -MKDIR = @MKDIR@ -MV = @MV@ -NEED_OWN_MD5_FALSE = @NEED_OWN_MD5_FALSE@ -NEED_OWN_MD5_TRUE = @NEED_OWN_MD5_TRUE@ -NEED_OWN_SNPRINTF_FALSE = @NEED_OWN_SNPRINTF_FALSE@ -NEED_OWN_SNPRINTF_TRUE = @NEED_OWN_SNPRINTF_TRUE@ -NEED_OWN_STRSEP_FALSE = @NEED_OWN_STRSEP_FALSE@ -NEED_OWN_STRSEP_TRUE = @NEED_OWN_STRSEP_TRUE@ -NEGOTIATE_AUTH_HELPERS = @NEGOTIATE_AUTH_HELPERS@ -NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@ -OBJEXT = @OBJEXT@ -OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PERL = @PERL@ -PKGCONFIG = @PKGCONFIG@ -RANLIB = @RANLIB@ -REGEXLIB = @REGEXLIB@ -REPL_LIBS = @REPL_LIBS@ -REPL_OBJS = @REPL_OBJS@ -REPL_POLICIES = @REPL_POLICIES@ -RM = @RM@ -SET_MAKE = @SET_MAKE@ -SH = @SH@ -SHELL = @SHELL@ -SNMPLIB = @SNMPLIB@ -SSLLIB = @SSLLIB@ -STORE_LIBS = @STORE_LIBS@ -STORE_MODULES = @STORE_MODULES@ -STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@ -STORE_OBJS = @STORE_OBJS@ -STRIP = @STRIP@ -TRUE = @TRUE@ -USE_DELAY_POOLS_FALSE = @USE_DELAY_POOLS_FALSE@ -USE_DELAY_POOLS_TRUE = @USE_DELAY_POOLS_TRUE@ -USE_DNSSERVER_FALSE = @USE_DNSSERVER_FALSE@ -USE_DNSSERVER_TRUE = @USE_DNSSERVER_TRUE@ -USE_EPOLL_FALSE = @USE_EPOLL_FALSE@ -USE_EPOLL_TRUE = @USE_EPOLL_TRUE@ -USE_POLL_FALSE = @USE_POLL_FALSE@ -USE_POLL_TRUE = @USE_POLL_TRUE@ -USE_SELECT_FALSE = @USE_SELECT_FALSE@ -USE_SELECT_TRUE = @USE_SELECT_TRUE@ -USE_SNMP_FALSE = @USE_SNMP_FALSE@ -USE_SNMP_TRUE = @USE_SNMP_TRUE@ -VERSION = @VERSION@ -XTRA_LIBS = @XTRA_LIBS@ -XTRA_OBJS = @XTRA_OBJS@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -makesnmplib = @makesnmplib@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/repl/heap/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/repl/heap/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -ruN squid-2.6.PRE1/src/repl/lru/Makefile.in squid-2.6.PRE2/src/repl/lru/Makefile.in --- squid-2.6.PRE1/src/repl/lru/Makefile.in Thu May 25 06:42:27 2006 +++ squid-2.6.PRE2/src/repl/lru/Makefile.in Wed Dec 31 17:00:00 1969 @@ -1,367 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = src/repl/lru -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/cfgaux/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/autoconf.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AR_R = @AR_R@ -AUTH_LIBS = @AUTH_LIBS@ -AUTH_MODULES = @AUTH_MODULES@ -AUTH_OBJS = @AUTH_OBJS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BASIC_AUTH_HELPERS = @BASIC_AUTH_HELPERS@ -CACHE_HTTP_PORT = @CACHE_HTTP_PORT@ -CACHE_ICP_PORT = @CACHE_ICP_PORT@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CGIEXT = @CGIEXT@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CRYPTLIB = @CRYPTLIB@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -ENABLE_HTCP_FALSE = @ENABLE_HTCP_FALSE@ -ENABLE_HTCP_TRUE = @ENABLE_HTCP_TRUE@ -ENABLE_PINGER_FALSE = @ENABLE_PINGER_FALSE@ -ENABLE_PINGER_TRUE = @ENABLE_PINGER_TRUE@ -ENABLE_SSL_FALSE = @ENABLE_SSL_FALSE@ -ENABLE_SSL_TRUE = @ENABLE_SSL_TRUE@ -ENABLE_UNLINKD_FALSE = @ENABLE_UNLINKD_FALSE@ -ENABLE_UNLINKD_TRUE = @ENABLE_UNLINKD_TRUE@ -ENABLE_WIN32SPECIFIC_FALSE = @ENABLE_WIN32SPECIFIC_FALSE@ -ENABLE_WIN32SPECIFIC_TRUE = @ENABLE_WIN32SPECIFIC_TRUE@ -EPOLL_LIBS = @EPOLL_LIBS@ -ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ -ERR_LANGUAGES = @ERR_LANGUAGES@ -EXEEXT = @EXEEXT@ -EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@ -FALSE = @FALSE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBDLMALLOC = @LIBDLMALLOC@ -LIBOBJS = @LIBOBJS@ -LIBREGEX = @LIBREGEX@ -LIBS = @LIBS@ -LIBSASL = @LIBSASL@ -LIB_DB = @LIB_DB@ -LIB_EPOLL = @LIB_EPOLL@ -LIB_LBER = @LIB_LBER@ -LIB_LDAP = @LIB_LDAP@ -LIB_MALLOC = @LIB_MALLOC@ -LN = @LN@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MAKE_LEAKFINDER_FALSE = @MAKE_LEAKFINDER_FALSE@ -MAKE_LEAKFINDER_TRUE = @MAKE_LEAKFINDER_TRUE@ -MKDIR = @MKDIR@ -MV = @MV@ -NEED_OWN_MD5_FALSE = @NEED_OWN_MD5_FALSE@ -NEED_OWN_MD5_TRUE = @NEED_OWN_MD5_TRUE@ -NEED_OWN_SNPRINTF_FALSE = @NEED_OWN_SNPRINTF_FALSE@ -NEED_OWN_SNPRINTF_TRUE = @NEED_OWN_SNPRINTF_TRUE@ -NEED_OWN_STRSEP_FALSE = @NEED_OWN_STRSEP_FALSE@ -NEED_OWN_STRSEP_TRUE = @NEED_OWN_STRSEP_TRUE@ -NEGOTIATE_AUTH_HELPERS = @NEGOTIATE_AUTH_HELPERS@ -NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@ -OBJEXT = @OBJEXT@ -OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PERL = @PERL@ -PKGCONFIG = @PKGCONFIG@ -RANLIB = @RANLIB@ -REGEXLIB = @REGEXLIB@ -REPL_LIBS = @REPL_LIBS@ -REPL_OBJS = @REPL_OBJS@ -REPL_POLICIES = @REPL_POLICIES@ -RM = @RM@ -SET_MAKE = @SET_MAKE@ -SH = @SH@ -SHELL = @SHELL@ -SNMPLIB = @SNMPLIB@ -SSLLIB = @SSLLIB@ -STORE_LIBS = @STORE_LIBS@ -STORE_MODULES = @STORE_MODULES@ -STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@ -STORE_OBJS = @STORE_OBJS@ -STRIP = @STRIP@ -TRUE = @TRUE@ -USE_DELAY_POOLS_FALSE = @USE_DELAY_POOLS_FALSE@ -USE_DELAY_POOLS_TRUE = @USE_DELAY_POOLS_TRUE@ -USE_DNSSERVER_FALSE = @USE_DNSSERVER_FALSE@ -USE_DNSSERVER_TRUE = @USE_DNSSERVER_TRUE@ -USE_EPOLL_FALSE = @USE_EPOLL_FALSE@ -USE_EPOLL_TRUE = @USE_EPOLL_TRUE@ -USE_POLL_FALSE = @USE_POLL_FALSE@ -USE_POLL_TRUE = @USE_POLL_TRUE@ -USE_SELECT_FALSE = @USE_SELECT_FALSE@ -USE_SELECT_TRUE = @USE_SELECT_TRUE@ -USE_SNMP_FALSE = @USE_SNMP_FALSE@ -USE_SNMP_TRUE = @USE_SNMP_TRUE@ -VERSION = @VERSION@ -XTRA_LIBS = @XTRA_LIBS@ -XTRA_OBJS = @XTRA_OBJS@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -makesnmplib = @makesnmplib@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/repl/lru/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/repl/lru/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -ruN squid-2.6.PRE1/src/squid.h squid-2.6.PRE2/src/squid.h --- squid-2.6.PRE1/src/squid.h Sat May 27 08:17:25 2006 +++ squid-2.6.PRE2/src/squid.h Sun Jun 4 02:24:33 2006 @@ -1,6 +1,6 @@ /* - * $Id: squid.h,v 1.236 2006/05/27 14:17:25 hno Exp $ + * $Id: squid.h,v 1.240 2006/06/04 08:24:33 serassio Exp $ * * AUTHOR: Duane Wessels * @@ -141,7 +141,7 @@ #endif #if HAVE_GNUMALLOC_H #include -#elif HAVE_MALLOC_H && !defined(_SQUID_FREEBSD_) && !defined(_SQUID_NEXT_) +#elif HAVE_MALLOC_H #include #endif #if HAVE_MEMORY_H @@ -376,6 +376,31 @@ #if defined(_SQUID_NEXT_) && !defined(S_ISDIR) #define S_ISDIR(mode) (((mode) & (_S_IFMT)) == (_S_IFDIR)) +#endif + +/* + * ISO C99 Standard printf() macros for 64 bit integers + * On some 64 bit platform, HP Tru64 is one, for printf must be used + * "%lx" instead of "%llx" + */ +#ifndef PRId64 +#ifdef _SQUID_MSWIN_ /* Windows native port using MSVCRT */ +#define PRId64 "I64d" +#elif SIZEOF_INT64_T > SIZEOF_LONG +#define PRId64 "lld" +#else +#define PRId64 "ld" +#endif +#endif + +#ifndef PRIu64 +#ifdef _SQUID_MSWIN_ /* Windows native port using MSVCRT */ +#define PRIu64 "I64u" +#elif SIZEOF_INT64_T > SIZEOF_LONG +#define PRIu64 "llu" +#else +#define PRIu64 "lu" +#endif #endif #ifdef USE_GNUREGEX diff -ruN squid-2.6.PRE1/src/ssl.c squid-2.6.PRE2/src/ssl.c --- squid-2.6.PRE1/src/ssl.c Thu May 25 05:47:44 2006 +++ squid-2.6.PRE2/src/ssl.c Thu Jun 1 18:07:40 2006 @@ -1,6 +1,6 @@ /* - * $Id: ssl.c,v 1.131 2006/05/25 11:47:44 hno Exp $ + * $Id: ssl.c,v 1.132 2006/06/02 00:07:40 hno Exp $ * * DEBUG: section 26 Secure Sockets Layer Proxy * AUTHOR: Duane Wessels @@ -139,9 +139,7 @@ if (i == INT_MAX) return 0; if (i == 0) { -#if USE_EPOLL commDeferFD(fd); -#endif return 1; } return -1; diff -ruN squid-2.6.PRE1/src/ssl_support.c squid-2.6.PRE2/src/ssl_support.c --- squid-2.6.PRE1/src/ssl_support.c Wed May 17 17:17:05 2006 +++ squid-2.6.PRE2/src/ssl_support.c Wed May 31 04:57:49 2006 @@ -1,6 +1,6 @@ /* - * $Id: ssl_support.c,v 1.8 2006/05/17 23:17:05 hno Exp $ + * $Id: ssl_support.c,v 1.9 2006/05/31 10:57:49 serassio Exp $ * * AUTHOR: Benno Rice * DEBUG: section 83 SSL accelerator support @@ -35,6 +35,11 @@ #include "squid.h" +/* MS VisualStudio Projects are monolithic, so we need the following + * #if to include the code into the compile process only when we are + * building the SSL support. + */ +#if USE_SSL static int ssl_ask_password_cb(char *buf, int size, int rwflag, void *userdata) { @@ -1070,3 +1075,4 @@ } } #endif +#endif /* USE_SSL */ diff -ruN squid-2.6.PRE1/src/stat.c squid-2.6.PRE2/src/stat.c --- squid-2.6.PRE1/src/stat.c Mon May 29 04:35:32 2006 +++ squid-2.6.PRE2/src/stat.c Mon Jun 5 17:20:24 2006 @@ -1,6 +1,6 @@ /* - * $Id: stat.c,v 1.370 2006/05/29 10:35:32 hno Exp $ + * $Id: stat.c,v 1.371 2006/06/05 23:20:24 hno Exp $ * * DEBUG: section 18 Cache Manager Statistics * AUTHOR: Harvest Derived @@ -279,8 +279,6 @@ storeOffset(mem->swapout.sio)); for (i = 0, node = mem->clients.head; node; node = node->next, i++) { sc = (store_client *) node->data; - if (sc->callback_data == NULL) - continue; memBufPrintf(mb, "\tClient #%d, %p\n", i, sc->callback_data); memBufPrintf(mb, "\t\tcopy_offset: %" PRINTF_OFF_T "\n", sc->copy_offset); diff -ruN squid-2.6.PRE1/src/store.c squid-2.6.PRE2/src/store.c --- squid-2.6.PRE1/src/store.c Thu May 25 05:59:29 2006 +++ squid-2.6.PRE2/src/store.c Mon Jun 5 16:47:01 2006 @@ -1,6 +1,6 @@ /* - * $Id: store.c,v 1.552 2006/05/25 11:59:29 hno Exp $ + * $Id: store.c,v 1.555 2006/06/05 22:47:01 hno Exp $ * * DEBUG: section 20 Storage Manager * AUTHOR: Harvest Derived @@ -394,10 +394,10 @@ char *key; char *vary_headers; char *etag; - int offset; - int seen_offset; + squid_off_t seen_offset; char *buf; size_t buf_size; + size_t buf_offset; int done:1; struct { char *key; @@ -426,6 +426,10 @@ storeTimestampsSet(state->e); storeUnlockObject(state->e); state->e = NULL; + if (state->sc) { + storeClientUnregister(state->sc, state->oe, state); + state->sc = NULL; + } if (state->oe) { storeUnlockObject(state->oe); state->oe = NULL; @@ -490,19 +494,41 @@ storeAddVaryReadOld(void *data, char *buf, ssize_t size) { AddVaryState *state = data; - int l = size; + size_t l = size + state->buf_offset; char *e; - char *p = buf; - debug(11, 3) ("storeAddVaryReadOld: %p offset=%d seen_offset=%d size=%d\n", data, state->offset, state->seen_offset, (int) size); + char *p = state->buf; + debug(11, 3) ("storeAddVaryReadOld: %p seen_offset=%" PRINTF_OFF_T " buf_offset=%d size=%d\n", data, state->seen_offset, (int) state->buf_offset, (int) size); if (size <= 0) { - storeUnregister(state->sc, state->oe, state); - state->sc = NULL; - cbdataFree(state); debug(11, 2) ("storeAddVaryReadOld: DONE\n"); + cbdataFree(state); return; } - state->seen_offset = state->offset + size; - while ((e = memchr(p, '\n', l)) != NULL) { + if (state->seen_offset != 0) { + state->seen_offset = state->seen_offset + size; + } else { + int hdr_sz; + if (!state->oe->mem_obj->reply) + goto invalid_marker_obj; + if (!strLen(state->oe->mem_obj->reply->content_type)) + goto invalid_marker_obj; + if (strCmp(state->oe->mem_obj->reply->content_type, "x-squid-internal/vary") != 0) { + invalid_marker_obj: + debug(11, 2) ("storeAddVaryReadOld: %p (%s) is not a Vary maker object, ignoring\n", data, storeUrl(state->oe)); + cbdataFree(state); + return; + } + hdr_sz = state->e->mem_obj->reply->hdr_sz; + state->seen_offset = state->e->mem_obj->reply->hdr_sz; + if (l >= state->e->mem_obj->reply->hdr_sz) { + state->seen_offset = l; + l -= hdr_sz; + p += hdr_sz; + } else { + l = 0; + state->seen_offset = hdr_sz; + } + } + while (l && (e = memchr(p, '\n', l)) != NULL) { int l2; char *p2; if (strmatchbeg(p, "Key: ", l) == 0) { @@ -565,8 +591,7 @@ p = e; if (l == 0) break; - assert(l > 0); - assert(p < (buf + size)); + assert(p <= (buf + size)); } if (p == state->buf && size == state->buf_size) { /* Oops.. the buffer size is not sufficient. Grow */ @@ -576,19 +601,19 @@ } else { /* This does not look good. Bail out. This should match the size <= 0 case above */ debug(11, 1) ("storeAddVaryReadOld: Buffer very large and still can't fit the data.. bailing out\n"); - storeUnregister(state->sc, state->oe, state); - state->sc = NULL; cbdataFree(state); return; } } - state->offset += p - buf; - debug(11, 3) ("storeAddVaryReadOld: %p offset=%d seen_offset=%d\n", data, state->offset, state->seen_offset); + state->buf_offset = l; + if (l) + memmove(state->buf, p, l); + debug(11, 3) ("storeAddVaryReadOld: %p seen_offset=%" PRINTF_OFF_T " buf_offset=%d\n", data, state->seen_offset, (int) state->buf_offset); storeClientCopy(state->sc, state->oe, state->seen_offset, - state->offset, - state->buf_size, - state->buf, + state->seen_offset, + state->buf_size - state->buf_offset, + state->buf + state->buf_offset, storeAddVaryReadOld, state); } @@ -646,7 +671,7 @@ storeCreateMemObject(state->oe, state->url, log_url); state->oe->mem_obj->method = method; } - state->sc = storeClientListAdd(state->oe, state); + state->sc = storeClientRegister(state->oe, state); state->buf = memAllocBuf(4096, &state->buf_size); debug(11, 3) ("storeAddVary: %p\n", state); storeClientCopy(state->sc, state->oe, 0, 0, @@ -683,8 +708,9 @@ store_client *sc; char *buf; size_t buf_size; + size_t buf_offset; char *vary_data; - int offset, seen_offset; + squid_off_t seen_offset; struct { char *key; char *etag; @@ -714,7 +740,7 @@ safe_free(state->vary_data); safe_free(state->current.key); if (state->sc) { - storeUnregister(state->sc, state->e, state); + storeClientUnregister(state->sc, state->e, state); state->sc = NULL; } if (state->e) { @@ -734,14 +760,14 @@ { LocateVaryState *state = data; char *e; - char *p = buf; - int l = size; - debug(11, 3) ("storeLocateVaryRead: %s %p offset=%d seen_offset=%d size=%d\n", state->vary_data, data, state->offset, state->seen_offset, (int) size); + char *p = state->buf; + size_t l = size + state->buf_offset; + debug(11, 3) ("storeLocateVaryRead: %s %p seen_offset=%" PRINTF_OFF_T " buf_offset=%d size=%d\n", state->vary_data, data, state->seen_offset, (int) state->buf_offset, (int) size); if (size <= 0) { storeLocateVaryCallback(state); return; } - state->seen_offset = state->offset + size; + state->seen_offset = state->seen_offset + size; while ((e = memchr(p, '\n', l)) != NULL) { int l2; char *p2; @@ -788,7 +814,6 @@ assert(l > 0); assert(p < (buf + size)); } - state->offset += p - buf; if (p == state->buf && size == state->buf_size) { /* Oops.. the buffer size is not sufficient. Grow */ if (state->buf_size < 65536) { @@ -801,8 +826,17 @@ return; } } - debug(11, 3) ("storeLocateVaryRead: %p offset=%d seen_offset=%d\n", data, state->offset, state->seen_offset); - storeClientCopy(state->sc, state->e, state->seen_offset, state->offset, state->buf_size, state->buf, storeLocateVaryRead, state); + state->buf_offset = l; + if (l) + memmove(state->buf, p, l); + debug(11, 3) ("storeLocateVaryRead: %p seen_offset=%" PRINTF_OFF_T " buf_offset=%d\n", data, state->seen_offset, (int) state->buf_offset); + storeClientCopy(state->sc, state->e, + state->seen_offset, + state->seen_offset, + state->buf_size - state->buf_offset, + state->buf + state->buf_offset, + storeLocateVaryRead, + state); } void @@ -822,9 +856,15 @@ cbdataLock(cbdata); state->callback = callback; state->buf = memAllocBuf(4096, &state->buf_size); - state->sc = storeClientListAdd(state->e, state); - state->offset = state->seen_offset = offset; - storeClientCopy(state->sc, state->e, state->seen_offset, state->offset, state->buf_size, state->buf, storeLocateVaryRead, state); + state->sc = storeClientRegister(state->e, state); + state->seen_offset = offset; + storeClientCopy(state->sc, state->e, + state->seen_offset, + state->seen_offset, + state->buf_size, + state->buf, + storeLocateVaryRead, + state); } void @@ -1559,7 +1599,7 @@ } void -storeUnregisterAbort(StoreEntry * e) +storeClientUnregisterAbort(StoreEntry * e) { MemObject *mem = e->mem_obj; assert(mem); @@ -1828,3 +1868,27 @@ } } #endif + +/* Defer server-side reads */ +void +storeDeferRead(StoreEntry * e, int fd) +{ + MemObject *mem = e->mem_obj; + EBIT_SET(e->flags, ENTRY_DEFER_READ); + if (fd >= 0) { + mem->serverfd = fd; + commDeferFD(fd); + } +} + +/* Resume reading from the server-side */ +void +storeResumeRead(StoreEntry * e) +{ + MemObject *mem = e->mem_obj; + EBIT_CLR(e->flags, ENTRY_DEFER_READ); + if (mem->serverfd != 0) { + commResumeFD(mem->serverfd); + mem->serverfd = 0; + } +} diff -ruN squid-2.6.PRE1/src/store_client.c squid-2.6.PRE2/src/store_client.c --- squid-2.6.PRE1/src/store_client.c Thu May 25 05:47:44 2006 +++ squid-2.6.PRE2/src/store_client.c Mon Jun 5 16:47:01 2006 @@ -1,6 +1,6 @@ /* - * $Id: store_client.c,v 1.120 2006/05/25 11:47:44 hno Exp $ + * $Id: store_client.c,v 1.123 2006/06/05 22:47:01 hno Exp $ * * DEBUG: section 20 Storage Manager Client-Side Interface * AUTHOR: Duane Wessels @@ -51,14 +51,14 @@ static void CheckQuickAbort(StoreEntry * entry); #if STORE_CLIENT_LIST_DEBUG -store_client * +static store_client * storeClientListSearch(const MemObject * mem, void *data) { dlink_node *node; store_client *sc = NULL; for (node = mem->clients.head; node; node = node->next) { sc = node->data; - if (sc->callback_data == data) + if (sc->owner == data) return sc; } return NULL; @@ -106,25 +106,25 @@ /* add client with fd to client list */ store_client * -storeClientListAdd(StoreEntry * e, void *data) +storeClientRegister(StoreEntry * e, void *owner) { MemObject *mem = e->mem_obj; store_client *sc; assert(mem); -#if STORE_CLIENT_LIST_DEBUG - if (storeClientListSearch(mem, data) != NULL) - assert(1 == 0); /* XXX die! */ -#endif e->refcount++; mem->nclients++; sc = cbdataAlloc(store_client); - cbdataLock(data); /* locked while we point to it */ - sc->callback_data = data; + sc->callback_data = NULL; sc->seen_offset = 0; sc->copy_offset = 0; sc->flags.disk_io_pending = 0; sc->entry = e; + storeLockObject(sc->entry); sc->type = storeClientType(e); +#if STORE_CLIENT_LIST_DEBUG + assert(!storeClientListSearch(mem, owner)); + sc->owner = owner; +#endif dlinkAdd(sc, &sc->node, &mem->clients); #if DELAY_POOLS sc->delay_id = 0; @@ -136,12 +136,15 @@ storeClientCallback(store_client * sc, ssize_t sz) { STCB *callback = sc->callback; + void *cbdata = sc->callback_data; char *buf = sc->copy_buf; assert(sc->callback); sc->callback = NULL; + sc->callback_data = NULL; sc->copy_buf = NULL; - if (cbdataValid(sc->callback_data)) - callback(sc->callback_data, buf, sz); + if (cbdataValid(cbdata)) + callback(cbdata, buf, sz); + cbdataUnlock(cbdata); } static void @@ -182,6 +185,8 @@ assert(sc->entry == e); sc->seen_offset = seen_offset; sc->callback = callback; + sc->callback_data = data; + cbdataLock(sc->callback_data); sc->copy_buf = buf; sc->copy_size = size; sc->copy_offset = copy_offset; @@ -268,13 +273,7 @@ (storeLowestMemReaderOffset(e) == mem->inmem_hi)) { debug(20, 3) ("storeClientCopy3: %s - clearing ENTRY_DEFER_READ\n", e->mem_obj->url); /* Clear the flag and re-poll the fd */ - EBIT_CLR(e->flags, ENTRY_DEFER_READ); -#if USE_EPOLL - if (mem->serverfd != 0) { - commResumeFD(mem->serverfd); - mem->serverfd = 0; - } -#endif + storeResumeRead(e); } return; } @@ -504,17 +503,16 @@ * passed sc. Yet. */ int -storeUnregister(store_client * sc, StoreEntry * e, void *data) +storeClientUnregister(store_client * sc, StoreEntry * e, void *owner) { MemObject *mem = e->mem_obj; -#if STORE_CLIENT_LIST_DEBUG - assert(sc == storeClientListSearch(e->mem_obj, data)); -#endif - if (mem == NULL) - return 0; - debug(20, 3) ("storeUnregister: called for '%s'\n", storeKeyText(e->hash.key)); if (sc == NULL) return 0; + debug(20, 3) ("storeClientUnregister: called for '%s'\n", storeKeyText(e->hash.key)); +#if STORE_CLIENT_LIST_DEBUG + assert(sc == storeClientListSearch(e->mem_obj, owner)); +#endif + assert(sc->entry == e); if (mem->clients.head == NULL) return 0; dlinkDelete(&sc->node, &mem->clients); @@ -529,20 +527,19 @@ } if (NULL != sc->callback) { /* callback with ssize = -1 to indicate unexpected termination */ - debug(20, 3) ("storeUnregister: store_client for %s has a callback\n", + debug(20, 3) ("storeClientUnregister: store_client for %s has a callback\n", mem->url); storeClientCallback(sc, -1); } #if DELAY_POOLS delayUnregisterDelayIdPtr(&sc->delay_id); #endif - cbdataUnlock(sc->callback_data); /* we're done with it now */ - /*assert(!sc->flags.disk_io_pending); */ - cbdataFree(sc); - assert(e->lock_count > 0); storeSwapOutMaintainMemObject(e); if (mem->nclients == 0) CheckQuickAbort(e); + storeUnlockObject(sc->entry); + sc->entry = NULL; + cbdataFree(sc); return 1; } @@ -559,8 +556,6 @@ for (node = mem->clients.head; node; node = nx) { sc = node->data; nx = node->next; - if (sc->callback_data == NULL) /* open slot */ - continue; if (sc->copy_offset > highest) highest = sc->copy_offset; if (mem->swapout.sio != NULL && sc->type != STORE_MEM_CLIENT) @@ -589,8 +584,6 @@ sc = node->data; nx = node->next; debug(20, 3) ("InvokeHandlers: checking client #%d\n", i++); - if (sc->callback_data == NULL) - continue; if (sc->callback == NULL) continue; if (sc->flags.disk_io_pending) diff -ruN squid-2.6.PRE1/src/store_dir.c squid-2.6.PRE2/src/store_dir.c --- squid-2.6.PRE1/src/store_dir.c Sat May 27 10:51:11 2006 +++ squid-2.6.PRE2/src/store_dir.c Sat Jun 3 20:01:38 2006 @@ -1,6 +1,6 @@ /* - * $Id: store_dir.c,v 1.140 2006/05/27 16:51:11 serassio Exp $ + * $Id: store_dir.c,v 1.141 2006/06/04 02:01:38 hno Exp $ * * DEBUG: section 47 Store Directory Routines * AUTHOR: Duane Wessels @@ -542,8 +542,14 @@ #define fsbtoblk(num, fsbs, bs) \ (((fsbs) != 0 && (fsbs) < (bs)) ? \ (num) / ((bs) / (fsbs)) : (num) * ((fsbs) / (bs))) + +#if HAVE_STATVFS +int +storeDirGetUFSStats(const char *path, fsblkcnt_t * totl_kb, fsblkcnt_t * free_kb, fsfilcnt_t * totl_in, fsfilcnt_t * free_in) +#else int storeDirGetUFSStats(const char *path, int *totl_kb, int *free_kb, int *totl_in, int *free_in) +#endif { #if HAVE_STATVFS struct statvfs sfs; @@ -551,10 +557,10 @@ debug(50, 1) ("%s: %s\n", path, xstrerror()); return 1; } - *totl_kb = (int) fsbtoblk(sfs.f_blocks, sfs.f_frsize, 1024); - *free_kb = (int) fsbtoblk(sfs.f_bfree, sfs.f_frsize, 1024); - *totl_in = (int) sfs.f_files; - *free_in = (int) sfs.f_ffree; + *totl_kb = fsbtoblk(sfs.f_blocks, sfs.f_frsize, 1024); + *free_kb = fsbtoblk(sfs.f_bfree, sfs.f_frsize, 1024); + *totl_in = sfs.f_files; + *free_in = sfs.f_ffree; #else struct statfs sfs; if (statfs(path, &sfs)) { diff -ruN squid-2.6.PRE1/src/store_swapin.c squid-2.6.PRE2/src/store_swapin.c --- squid-2.6.PRE1/src/store_swapin.c Tue May 17 10:56:38 2005 +++ squid-2.6.PRE2/src/store_swapin.c Tue Jun 6 10:37:24 2006 @@ -1,6 +1,6 @@ /* - * $Id: store_swapin.c,v 1.31 2005/05/17 16:56:38 hno Exp $ + * $Id: store_swapin.c,v 1.33 2006/06/06 16:37:24 hno Exp $ * * DEBUG: section 20 Storage Manager Swapin Functions * AUTHOR: Duane Wessels @@ -76,9 +76,13 @@ cbdataUnlock(sio); sc->swapin_sio = NULL; if ((callback = sc->callback)) { + void *cbdata = sc->callback_data; assert(errflag <= 0); sc->callback = NULL; - callback(sc->callback_data, sc->copy_buf, errflag); + sc->callback_data = NULL; + if (cbdataValid(cbdata)) + callback(cbdata, sc->copy_buf, errflag); + cbdataUnlock(cbdata); } statCounter.swap.ins++; } diff -ruN squid-2.6.PRE1/src/store_swapout.c squid-2.6.PRE2/src/store_swapout.c --- squid-2.6.PRE1/src/store_swapout.c Thu May 25 05:47:44 2006 +++ squid-2.6.PRE2/src/store_swapout.c Thu Jun 1 18:07:40 2006 @@ -1,6 +1,6 @@ /* - * $Id: store_swapout.c,v 1.93 2006/05/25 11:47:44 hno Exp $ + * $Id: store_swapout.c,v 1.94 2006/06/02 00:07:40 hno Exp $ * * DEBUG: section 20 Storage Manager Swapout Functions * AUTHOR: Duane Wessels @@ -151,13 +151,7 @@ if (EBIT_TEST(e->flags, ENTRY_DEFER_READ)) { if (mem->inmem_hi - mem->inmem_lo <= Config.readAheadGap) { - EBIT_CLR(e->flags, ENTRY_DEFER_READ); -#if USE_EPOLL - if (mem->serverfd != 0) { - commResumeFD(mem->serverfd); - mem->serverfd = 0; - } -#endif + storeResumeRead(e); } } } diff -ruN squid-2.6.PRE1/src/structs.h squid-2.6.PRE2/src/structs.h --- squid-2.6.PRE1/src/structs.h Mon May 29 07:07:38 2006 +++ squid-2.6.PRE2/src/structs.h Tue Jun 6 11:40:02 2006 @@ -1,6 +1,6 @@ /* - * $Id: structs.h,v 1.466 2006/05/29 13:07:38 hno Exp $ + * $Id: structs.h,v 1.476 2006/06/06 17:40:02 hno Exp $ * * * SQUID Web Proxy Cache http://www.squid-cache.org/ @@ -668,6 +668,11 @@ int check_hostnames; int allow_underscore; int cache_vary; +#if FOLLOW_X_FORWARDED_FOR + int acl_uses_indirect_client; + int delay_pool_uses_indirect_client; + int log_uses_indirect_client; +#endif } onoff; #if LINUX_TPROXY u_short tproxy_port; @@ -695,6 +700,13 @@ acl_access *reply; acl_address *outgoing_address; acl_tos *outgoing_tos; +#if USE_HTCP + acl_access *htcp; + acl_access *htcp_clr; +#endif +#if FOLLOW_X_FORWARDED_FOR + acl_access *followXFF; +#endif } accessList; acl_deny_info_list *denyInfoList; struct _authConfig { @@ -1202,10 +1214,6 @@ char *buf; size_t offset; size_t size; -#if USE_EPOLL - int clientfd; /* Record the client's fd if we have too much - * data waiting to send to the server */ -#endif } in; struct { squid_off_t size_left; /* How much body left to process */ @@ -1226,13 +1234,18 @@ struct in_addr log_addr; char rfc931[USER_IDENT_SZ]; int nrequests; - int pinned; /* Is this connection pinned */ struct { int n; time_t until; } defer; http_port_list *port; int transparent; + struct { + int fd; /* pinned server side connection */ + char *host; /* host name of pinned connection */ + int port; /* port of pinned connection */ + int pinned; /* this connection was pinned */ + } pinning; }; struct _ipcache_addrs { @@ -1382,6 +1395,7 @@ unsigned int closest_only:1; #if USE_HTCP unsigned int htcp:1; + unsigned int htcp_oldsquid:1; #endif unsigned int no_netdb_exchange:1; #if DELAY_POOLS @@ -1598,6 +1612,9 @@ delay_id delay_id; #endif dlink_node node; +#if STORE_CLIENT_LIST_DEBUG + void *owner; +#endif }; @@ -1642,10 +1659,8 @@ mem_hdr data_hdr; squid_off_t inmem_hi; squid_off_t inmem_lo; -#if USE_EPOLL int serverfd; /* Record the server's fd if we have too much * data waiting to send to the client */ -#endif dlink_list clients; int nclients; struct { @@ -1775,7 +1790,8 @@ unsigned int body_sent:1; unsigned int reset_tcp:1; unsigned int must_keepalive:1; - unsigned int pinned:1; /* If set, this request is tightly tied to a client-side connection */ + unsigned int connection_auth:1; /* Request wants connection oriented auth */ + unsigned int no_connection_auth:1; /* Connection oriented auth can not be supported */ }; struct _link_list { @@ -1824,6 +1840,9 @@ /* these in_addr's could probably be sockaddr_in's */ in_port_t client_port; struct in_addr client_addr; +#if FOLLOW_X_FORWARDED_FOR + struct in_addr indirect_client_addr; /* after following X-Forwarded-For */ +#endif /* FOLLOW_X_FORWARDED_FOR */ struct in_addr my_addr; unsigned short my_port; HttpHeader header; @@ -1846,6 +1865,12 @@ String extacl_log; /* String to be used for access.log purposes */ const char *extacl_user; /* User name returned by extacl lookup */ const char *extacl_passwd; /* Password returned by extacl lookup */ +#if FOLLOW_X_FORWARDED_FOR + /* XXX a list of IP addresses would be a better data structure + * than this String */ + String x_forwarded_for_iterator; +#endif /* FOLLOW_X_FORWARDED_FOR */ + ConnStateData *pinned_connection; /* If set then this request is tighly tied to the corresponding client side connetion */ }; struct _cachemgr_passwd { @@ -2121,6 +2146,9 @@ #endif Stack pstack; /* stack for free pointers */ MemPoolMeter meter; +#if DEBUG_MEMPOOL + MemPoolMeter diff_meter; +#endif }; struct _ClientInfo { diff -ruN squid-2.6.PRE1/src/tools.c squid-2.6.PRE2/src/tools.c --- squid-2.6.PRE1/src/tools.c Mon May 29 07:07:38 2006 +++ squid-2.6.PRE2/src/tools.c Tue Jun 6 01:28:59 2006 @@ -1,6 +1,6 @@ /* - * $Id: tools.c,v 1.236 2006/05/29 13:07:38 hno Exp $ + * $Id: tools.c,v 1.240 2006/06/06 07:28:59 hno Exp $ * * DEBUG: section 21 Misc Functions * AUTHOR: Harvest Derived @@ -34,10 +34,10 @@ */ #include "squid.h" + #if LINUX_TPROXY -#include -#undef __FD_SETSIZE -#define __FD_SETSIZE SQUID_MAXFD +#undef _POSIX_SOURCE +#include #endif #if HAVE_SYS_PRCTL_H @@ -459,6 +459,7 @@ void sig_child(int sig) { +#ifndef _SQUID_MSWIN_ #ifdef _SQUID_NEXT_ union wait status; #else @@ -479,6 +480,7 @@ } while (pid > 0 || (pid < 0 && errno == EINTR)); signal(sig, sig_child); #endif +#endif /* _SQUID_MSWIN_ */ } const char * @@ -560,6 +562,33 @@ debug(50, 1) ("safeunlink: Couldn't delete %s: %s\n", s, xstrerror()); } +/* Should get called after any operation which may make the OS disable core dumps */ +void +enableCoredumps(void) +{ + if (!Config.coredump_dir) + return; + if (strcmp(Config.coredump_dir, "none") == 0) + return; + +#if HAVE_PRCTL && defined(PR_SET_DUMPABLE) && 0 + /* Set Linux DUMPABLE flag */ + if (prctl(PR_SET_DUMPABLE, 1, 0, 0, 0) != 0) + debug(50, 2) ("prctl: %s\n", xstrerror()); +#endif +#if HAVE_SETRLIMIT && defined(RLIMIT_CORE) + /* Make sure coredumps are not limited */ + { + struct rlimit rlim; + + if (getrlimit(RLIMIT_CORE, &rlim) == 0) { + rlim.rlim_cur = rlim.rlim_max; + setrlimit(RLIMIT_CORE, &rlim); + } + } +#endif +} + /* leave a privilegied section. (Give up any privilegies) * Routines that need privilegies can rap themselves in enter_suid() * and leave_suid() @@ -602,11 +631,6 @@ if (setuid(Config2.effectiveUserID) < 0) debug(50, 0) ("ALERT: setuid: %s\n", xstrerror()); #endif -#if HAVE_PRCTL && defined(PR_SET_DUMPABLE) - /* Set Linux DUMPABLE flag */ - if (Config.coredump_dir && prctl(PR_SET_DUMPABLE, 1, 0, 0, 0) != 0) - debug(50, 2) ("prctl: %s\n", xstrerror()); -#endif #if LINUX_TPROXY if (Config.onoff.linux_tproxy) { cap_user_header_t head = (cap_user_header_t) xcalloc(1, sizeof(cap_user_header_t)); @@ -624,6 +648,8 @@ xfree(cap); } #endif + /* Changing user ID usually blocks core dumps. Get them back! */ + enableCoredumps(); } /* Enter a privilegied section */ @@ -636,11 +662,7 @@ #else setuid(0); #endif -#if HAVE_PRCTL && defined(PR_SET_DUMPABLE) - /* Set Linux DUMPABLE flag */ - if (Config.coredump_dir && prctl(PR_SET_DUMPABLE, 1, 0, 0, 0) != 0) - debug(50, 2) ("prctl: %s\n", xstrerror()); -#endif + enableCoredumps(); } /* Give up the posibility to gain privilegies. @@ -661,11 +683,7 @@ if (setuid(uid) < 0) debug(50, 1) ("no_suid: setuid: %s\n", xstrerror()); #endif -#if HAVE_PRCTL && defined(PR_SET_DUMPABLE) - /* Set Linux DUMPABLE flag */ - if (Config.coredump_dir && prctl(PR_SET_DUMPABLE, 1, 0, 0, 0) != 0) - debug(50, 2) ("prctl: %s\n", xstrerror()); -#endif + enableCoredumps(); } void @@ -1253,7 +1271,7 @@ setUmask(mode_t mask) { static mode_t orig_umask = ~0; - if (orig_umask == ~0) { + if (orig_umask == (mode_t) ~ 0) { /* Unfortunately, there is no way to get the current * umask value without setting it. */ diff -ruN squid-2.6.PRE1/src/typedefs.h squid-2.6.PRE2/src/typedefs.h --- squid-2.6.PRE1/src/typedefs.h Thu May 25 05:59:29 2006 +++ squid-2.6.PRE2/src/typedefs.h Sat Jun 3 20:50:05 2006 @@ -1,6 +1,6 @@ /* - * $Id: typedefs.h,v 1.145 2006/05/25 11:59:29 hno Exp $ + * $Id: typedefs.h,v 1.147 2006/06/04 02:50:05 hno Exp $ * * * SQUID Web Proxy Cache http://www.squid-cache.org/ @@ -41,7 +41,7 @@ typedef signed int sfileno; typedef signed int sdirno; -#if SIZEOF_INT64_T > SIZEOF_LONG && defined(PRId64) && defined(INT64_MAX) && HAVE_STRTOLL +#if SIZEOF_INT64_T > SIZEOF_LONG && HAVE_STRTOLL typedef int64_t squid_off_t; #define SIZEOF_SQUID_OFF_T SIZEOF_INT64_T #define PRINTF_OFF_T PRId64 diff -ruN squid-2.6.PRE1/src/urn.c squid-2.6.PRE2/src/urn.c --- squid-2.6.PRE1/src/urn.c Sun Oct 23 09:20:55 2005 +++ squid-2.6.PRE2/src/urn.c Mon Jun 5 16:47:01 2006 @@ -1,6 +1,6 @@ /* - * $Id: urn.c,v 1.77 2005/10/23 15:20:55 hno Exp $ + * $Id: urn.c,v 1.78 2006/06/05 22:47:01 hno Exp $ * * DEBUG: section 52 URN Parsing * AUTHOR: Kostas Anagnostakis @@ -139,11 +139,11 @@ httpHeaderPutStr(&urlres_r->header, HDR_ACCEPT, "text/plain"); if ((urlres_e = storeGetPublic(urlres, METHOD_GET)) == NULL) { urlres_e = storeCreateEntry(urlres, urlres, null_request_flags, METHOD_GET); - urnState->sc = storeClientListAdd(urlres_e, urnState); + urnState->sc = storeClientRegister(urlres_e, urnState); fwdStart(-1, urlres_e, urlres_r); } else { storeLockObject(urlres_e); - urnState->sc = storeClientListAdd(urlres_e, urnState); + urnState->sc = storeClientRegister(urlres_e, urnState); } urnState->urlres_e = urlres_e; urnState->urlres_r = requestLink(urlres_r); @@ -294,7 +294,7 @@ } safe_free(urls); /* mb was absorbed in httpBodySet call, so we must not clean it */ - storeUnregister(urnState->sc, urlres_e, urnState); + storeClientUnregister(urnState->sc, urlres_e, urnState); storeUnlockObject(urlres_e); storeUnlockObject(urnState->entry); requestUnlink(urnState->request); diff -ruN squid-2.6.PRE1/src/wccp2.c squid-2.6.PRE2/src/wccp2.c --- squid-2.6.PRE1/src/wccp2.c Sat May 27 05:16:35 2006 +++ squid-2.6.PRE2/src/wccp2.c Sat Jun 3 20:54:29 2006 @@ -1,6 +1,6 @@ /* - * $Id: wccp2.c,v 1.8 2006/05/27 11:16:35 hno Exp $ + * $Id: wccp2.c,v 1.12 2006/06/04 02:54:29 hno Exp $ * * DEBUG: section 80 WCCP Support * AUTHOR: Steven WIlton @@ -655,7 +655,7 @@ Config.Wccp2.address, port, COMM_NONBLOCKING, - "WCCP2 Socket"); + "WCCPv2 Socket"); if (theWccp2Connection < 0) fatal("Cannot open WCCP Port"); commSetSelect(theWccp2Connection, @@ -663,7 +663,7 @@ wccp2HandleUdp, NULL, 0); - debug(80, 1) ("Accepting WCCP v2 messages on port %d, FD %d.\n", + debug(80, 1) ("Accepting WCCPv2 messages on port %d, FD %d.\n", (int) port, theWccp2Connection); debug(80, 1) ("Initialising all WCCPv2 lists\n"); @@ -695,7 +695,7 @@ } if (wccp2_numrouters == 1) { router.sin_family = AF_INET; - connect(theWccp2Connection, (struct sockaddr *) &router, router_len); + connect(theWccp2Connection, (struct sockaddr *) &router, sizeof(router)); } wccp2_connected = 1; } @@ -805,7 +805,7 @@ if (ntohl(wccp2_i_see_you.type) != WCCP2_I_SEE_YOU) return; - debug(80, 3) ("Incoming WCCP v2 I_SEE_YOU length %d.\n", ntohs(wccp2_i_see_you.length)); + debug(80, 3) ("Incoming WCCPv2 I_SEE_YOU length %d.\n", ntohs(wccp2_i_see_you.length)); /* Record the total data length */ data_length = ntohs(wccp2_i_see_you.length); @@ -875,7 +875,6 @@ /* Check that the service in the packet is configured on this router */ service_list_ptr = wccp2_service_list_head; while (service_list_ptr != NULL) { - //debug(80, 5) ("wccpv2: checking %d against %d\n", service_info->service_id, service_list_ptr->service_info->service_id); if (service_info->service_id == service_list_ptr->service_info->service_id) { break; } @@ -1349,8 +1348,6 @@ retflag |= WCCP2_SERVICE_SOURCE_PORT_HASH; } else if (strcmp(flag, "dst_port_hash") == 0) { retflag |= WCCP2_SERVICE_DST_PORT_HASH; - } else if (strcmp(flag, "ports_defined") == 0) { - retflag |= WCCP2_SERVICE_PORTS_DEFINED; } else if (strcmp(flag, "ports_source") == 0) { retflag |= WCCP2_SERVICE_PORTS_SOURCE; } else if (strcmp(flag, "src_ip_alt_hash") == 0) { @@ -1435,6 +1432,7 @@ flags = parse_wccp2_service_flags(t + 6); } else if (strncmp(t, "ports=", 6) == 0) { parse_wccp2_service_ports(t + 6, portlist); + flags |= WCCP2_SERVICE_PORTS_DEFINED; } else if (strncmp(t, "protocol=tcp", 12) == 0) { protocol = IPPROTO_TCP; } else if (strncmp(t, "protocol=udp", 12) == 0) { @@ -1457,6 +1455,9 @@ } if (protocol == -1) { fatalf("parse_wccp2_service_info: service %d: no protocol defined (valid: tcp or udp)!\n", service_id); + } + if (!(flags & WCCP2_SERVICE_PORTS_DEFINED)) { + fatalf("parse_wccp2_service_info: service %d: no ports defined!\n", service_id); } /* rightio! now we can update */ wccp2_update_service(srv, WCCP2_SERVICE_DYNAMIC, service_id, priority, diff -ruN squid-2.6.PRE1/tools/cachemgr.c squid-2.6.PRE2/tools/cachemgr.c --- squid-2.6.PRE1/tools/cachemgr.c Thu May 25 13:30:42 2006 +++ squid-2.6.PRE2/tools/cachemgr.c Tue Jun 6 11:38:59 2006 @@ -1,6 +1,6 @@ /* - * $Id: cachemgr.c,v 1.2 2006/05/25 19:30:42 serassio Exp $ + * $Id: cachemgr.c,v 1.4 2006/06/06 17:38:59 hno Exp $ * * DEBUG: section 0 CGI Cache Manager * AUTHOR: Duane Wessels @@ -61,7 +61,7 @@ #endif #if HAVE_GNUMALLOC_H #include -#elif HAVE_MALLOC_H && !defined(_SQUID_FREEBSD_) && !defined(_SQUID_NEXT_) +#elif HAVE_MALLOC_H #include #endif #if HAVE_MEMORY_H @@ -500,6 +500,27 @@ return html; } +static const char * +munge_action_line(const char *_buf, cachemgr_request * req) +{ + static char html[2 * 1024]; + char *buf = xstrdup(_buf); + char *x = buf; + const char *action, *description; + char *p; + + if ((p = strchr(x, '\n'))) + *p = '\0'; + action = xstrtok(&x, '\t'); + description = xstrtok(&x, '\t'); + if (!description) + description = action; + if (!action) + return ""; + snprintf(html, sizeof(html), " %s", menu_url(req, action), description); + return html; +} + static int read_reply(int s, cachemgr_request * req) { @@ -512,7 +533,7 @@ #endif /* interpretation states */ enum { - isStatusLine, isHeaders, isBodyStart, isBody, isForward, isEof, isForwardEof, isSuccess, isError + isStatusLine, isHeaders, isActions, isBodyStart, isBody, isForward, isEof, isForwardEof, isSuccess, isError } istate = isStatusLine; int parse_menu = 0; const char *action = req->action; @@ -571,10 +592,22 @@ if (parse_menu) { printf("

Cache Manager menu for %s:

", menu_url(req, "authenticate"), req->hostname); - printf("
    \n"); } else { - printf("

    %s\n


    \n", + printf("

    %s\n", menu_url(req, "menu"), "Cache Manager menu"); + } + istate = isActions; + /* yes, fall through, we do not want to loose the first line */ + case isActions: + if (strncmp(buf, "action:", 7) == 0) { + fputs(" ", stdout); + fputs(munge_action_line(buf + 7, req), stdout); + break; + } + if (parse_menu) { + printf("

      \n"); + } else { + printf("
      \n"); printf("
      \n");
       	    }
       	    istate = isBody;
      diff -ruN squid-2.6.PRE1/tools/squidclient.c squid-2.6.PRE2/tools/squidclient.c
      --- squid-2.6.PRE1/tools/squidclient.c	Sat May 27 09:46:16 2006
      +++ squid-2.6.PRE2/tools/squidclient.c	Sun Jun  4 02:58:10 2006
      @@ -1,6 +1,6 @@
       
       /*
      - * $Id: squidclient.c,v 1.4 2006/05/27 15:46:16 serassio Exp $
      + * $Id: squidclient.c,v 1.7 2006/06/04 08:58:10 serassio Exp $
        *
        * DEBUG: section 0     WWW Client
        * AUTHOR: Harvest Derived
      @@ -35,6 +35,9 @@
       
       #include "config.h"
       
      +#if HAVE_INTTYPES_H
      +#include 
      +#endif
       #ifdef _SQUID_WIN32_
       #include 
       #endif
      @@ -85,7 +88,17 @@
       #define BUFSIZ 8192
       #endif
       
      -#if SIZEOF_INT64_T > SIZEOF_LONG && defined(PRId64) && defined(INT64_MAX) && HAVE_STRTOLL
      +#ifndef PRId64
      +#ifdef _SQUID_MSWIN_		/* Windows native port using MSVCRT */
      +#define PRId64 "I64d"
      +#elif SIZEOF_INT64_T > SIZEOF_LONG
      +#define PRId64 "lld"
      +#else
      +#define PRId64 "ld"
      +#endif
      +#endif
      +
      +#if SIZEOF_INT64_T > SIZEOF_LONG && HAVE_STRTOLL
       typedef int64_t squid_off_t;
       #define SIZEOF_SQUID_OFF_T SIZEOF_INT64_T
       #define PRINTF_OFF_T PRId64