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.
-- ...
+- 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 @@
#219delay_pools stops working on -k reconfigure
+
+
+
+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
+
+
+
+
+
+
+- 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("",
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