Hello community, here is the log from the commit of package squid3 for openSUSE:Factory checked in at 2012-02-20 16:18:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/squid3 (Old) and /work/SRC/openSUSE:Factory/.squid3.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "squid3", Maintainer is "[email protected]" Changes: -------- --- /work/SRC/openSUSE:Factory/squid3/squid3.changes 2012-02-14 19:08:53.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.squid3.new/squid3.changes 2012-02-20 16:18:46.000000000 +0100 @@ -1,0 +2,30 @@ +Fri Feb 17 16:01:23 UTC 2012 - [email protected] + +- some cleanup + * rebase patches (p0), remove version from patch_names +- add Source signature file +- add FSF patch (incorrect-fsf-address) +- add rpmlintrc file + * macro-in-comment + * no-manual-page-for-binary + +------------------------------------------------------------------- +Wed Feb 15 20:50:59 UTC 2012 - [email protected] + +- update to 3.1.19 + - Regression Bug 3441: part 2: Prevent further cache size corruption of swap.state + - Bug 3473: erase last uses of obsolete auth_user_hash_pointer + - Bug 3470: GCC 4.7 + - Bug 3442: assertion failed: external_acl.cc:908: ch->auth_user_request != NULL + - Bug 3441: part 1: Minimize cache size corruption by malformed swap.state + - Bug 3440: compile error in Adaptation + - Bug 3420: Request body consumption races and !theConsumer exception + - Bug 3370: external ACL sometimes skipping + - Bug 3085: Crash when parsing esi:include + - HTTP/1.1: do not add 110 and 111 Warnings to revalidated responses + - Fix SSL library dependency fixes +- remove obsolete upstream patches + * squid-3.1-10415 - ..421 +- add squid source signature file + +------------------------------------------------------------------- Old: ---- squid-3.1-10415.patch squid-3.1-10416.patch squid-3.1-10417.patch squid-3.1-10418.patch squid-3.1-10419.patch squid-3.1-10420.patch squid-3.1-10421.patch squid-3.1.12-config.patch squid-3.1.12.3-nobuilddates.patch squid-3.1.12.3-swapdir.patch squid-3.1.18.tar.bz2 New: ---- rpmlintrc squid-3.1.19.tar.bz2 squid-3.1.19.tar.bz2.asc squid-FSF.patch squid-config.patch squid-nobuilddates.patch squid-swapdir.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ squid3.spec ++++++ --- /var/tmp/diff_new_pack.vuvIoL/_old 2012-02-20 16:18:49.000000000 +0100 +++ /var/tmp/diff_new_pack.vuvIoL/_new 2012-02-20 16:18:49.000000000 +0100 @@ -23,12 +23,11 @@ Summary: Squid Version 3 WWW Proxy Server License: GPL-2.0+ Group: Productivity/Networking/Web/Proxy -Version: 3.1.18 +Version: 3.1.19 Release: 0 Url: http://www.squid-cache.org/Versions/v3 Source0: http://www.squid-cache.org/Versions/v3/3.1/squid-%{version}.tar.bz2 -#%define squid_ldapauth_version 1.3 -#Source1: squid_ldapauth-%{squid_ldapauth_version}.tar.bz2 +Source1: squid-%{version}.tar.bz2.asc Source2: RELEASENOTES.html Source3: squid.init Source4: squid.sysconfig @@ -47,26 +46,30 @@ # or just visit: http://www.squid-cache.org/Versions/v3/3.0/changesets/ # # Bug #3440: compile error in Adaptation -Patch0: http://www.squid-cache.org/Versions/v3/3.1/changesets/squid-3.1-10415.patch +#atch0: http://www.squid-cache.org/Versions/v3/3.1/changesets/squid-3.1-10415.patch # Portability: SSL library dependency fixes -Patch1: http://www.squid-cache.org/Versions/v3/3.1/changesets/squid-3.1-10416.patch +#atch1: http://www.squid-cache.org/Versions/v3/3.1/changesets/squid-3.1-10416.patch # Polish: debug messages on swap.state rename failure -Patch2: http://www.squid-cache.org/Versions/v3/3.1/changesets/squid-3.1-10417.patch +#atch2: http://www.squid-cache.org/Versions/v3/3.1/changesets/squid-3.1-10417.patch # Bug #3442: assertion failed: external_acl.cc:908: ch->auth_user_request != NULL -Patch3: http://www.squid-cache.org/Versions/v3/3.1/changesets/squid-3.1-10418.patch +#atch3: http://www.squid-cache.org/Versions/v3/3.1/changesets/squid-3.1-10418.patch # Bug #3085: Crash when parsing esi:include -Patch4: http://www.squid-cache.org/Versions/v3/3.1/changesets/squid-3.1-10419.patch +#atch4: http://www.squid-cache.org/Versions/v3/3.1/changesets/squid-3.1-10419.patch # Bug #3473: erase last uses of obsolete auth_user_hash_pointer -Patch5: http://www.squid-cache.org/Versions/v3/3.1/changesets/squid-3.1-10420.patch +#atch5: http://www.squid-cache.org/Versions/v3/3.1/changesets/squid-3.1-10420.patch # Bug #3420: Request body consumption races and !theConsumer exception. -Patch6: http://www.squid-cache.org/Versions/v3/3.1/changesets/squid-3.1-10421.patch +#atch6: http://www.squid-cache.org/Versions/v3/3.1/changesets/squid-3.1-10421.patch # +# do not show some rpmlint warnings +Source99: rpmlintrc # some useful defaults for squid -Patch100: squid-3.1.12-config.patch +Patch100: squid-config.patch # FIX SWAPDIR - make it a configure option -Patch101: squid-3.1.12.3-swapdir.patch +Patch101: squid-swapdir.patch # make build compare happy - remove build dates -Patch102: squid-3.1.12.3-nobuilddates.patch +Patch102: squid-nobuilddates.patch +# FIX-FOR-UPSTREAM: rpmlint - incorrect-fsf-address +Patch200: squid-FSF.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: %fillup_prereq @@ -139,21 +142,16 @@ %setup -q -n squid-%{version} cp %{SOURCE10} . # upstream patches after RELEASE -%patch0 -p0 -%patch1 -p0 -%patch2 -p0 -%patch3 -p0 -%patch4 -p0 -%patch5 -p0 -%patch6 -p0 +# ##### other patches -%patch100 -p1 +%patch100 %if 0%{?suse_version} > 1010 -%patch101 -p1 +%patch101 %endif perl -p -i -e 's|/usr/local/bin/perl|/usr/bin/perl|' `find -name "*.pl"` chmod a-x CREDITS -%patch102 -p1 +%patch102 +%patch200 %build %if 0%{?suse_version} > 1010 ++++++ RELEASENOTES.html ++++++ --- /var/tmp/diff_new_pack.vuvIoL/_old 2012-02-20 16:18:49.000000000 +0100 +++ /var/tmp/diff_new_pack.vuvIoL/_new 2012-02-20 16:18:49.000000000 +0100 @@ -2,10 +2,10 @@ <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.66"> - <TITLE>Squid 3.1.18 release notes</TITLE> + <TITLE>Squid 3.1.19 release notes</TITLE> </HEAD> <BODY> -<H1>Squid 3.1.18 release notes</H1> +<H1>Squid 3.1.19 release notes</H1> <H2>Squid Developers</H2> <HR> @@ -71,7 +71,7 @@ <HR> <H2><A NAME="s1">1.</A> <A HREF="#toc1">Notice</A></H2> -<P>The Squid Team are pleased to announce the release of Squid-3.1.18</P> +<P>The Squid Team are pleased to announce the release of Squid-3.1.19</P> <P>This new release is available for download from <A HREF="http://www.squid-cache.org/Versions/v3/3.1/">http://www.squid-cache.org/Versions/v3/3.1/</A> or the <A HREF="http://www.squid-cache.org/Mirrors/http-mirrors.html">mirrors</A>.</P> @@ -126,7 +126,7 @@ <LI>eCAP Adaptation Module support</LI> <LI>ICAP Bypass and Retry enhancements</LI> <LI>ICY streaming protocol support</LI> -<LI>Dynamic SSL Certificate Generation (3.1.12.1 and later)</LI> +<LI>Dynamic SSL Certificate Generation (3.1.13 and later)</LI> </UL> </P> <P>Most user-facing changes are reflected in squid.conf (see below).</P> @@ -1280,12 +1280,13 @@ <DT><B>external_acl_type</B><DD> <P>New options 'ipv4' and 'ipv6' are added to set the IPv4/v6 protocol between Squid and its helpers. -Please be aware of some limits to these options. These options only affect the transport protocol used -to send data to and from the helpers. IPv6 enabled Squid will still send %SRC addresses in IPv4 or IPv6 +Please be aware of some limits to these options. These options only affet the transport protocol used +to send data to and from the helpers. Squid in IPv6-mode may still send %SRC addresses in IPv4 or IPv6 format, so all helpers will need to be checked and converted to cope with such information cleanly. <PRE> - ipv4 / ipv6 IP transport used to communicate to this helper over localhost. - For compatability with systems lacking IPv6 support in the system kernel the default is 'ipv4'. + ipv4 / ipv6 IP-mode used to communicate to this helper. + For compatability with older configurations and helpers + the default is 'ipv4'. </PRE> </P> ++++++ rpmlintrc ++++++ addFilter("macro-in-comment") addFilter("no-manual-page-for-binary") ++++++ squid-3.1.18.tar.bz2 -> squid-3.1.19.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/ChangeLog new/squid-3.1.19/ChangeLog --- old/squid-3.1.18/ChangeLog 2011-12-03 07:18:46.000000000 +0100 +++ new/squid-3.1.19/ChangeLog 2012-02-05 12:51:32.000000000 +0100 @@ -1,3 +1,17 @@ +Changes to squid-3.1.19 (06 Feb 2011): + + - Regression Bug 3441: part 2: Prevent further cache size corruption of swap.state + - Bug 3473: erase last uses of obsolete auth_user_hash_pointer + - Bug 3470: GCC 4.7 + - Bug 3442: assertion failed: external_acl.cc:908: ch->auth_user_request != NULL + - Bug 3441: part 1: Minimize cache size corruption by malformed swap.state + - Bug 3440: compile error in Adaptation + - Bug 3420: Request body consumption races and !theConsumer exception + - Bug 3370: external ACL sometimes skipping + - Bug 3085: Crash when parsing esi:include + - HTTP/1.1: do not add 110 and 111 Warnings to revalidated responses + - Fix SSL library dependency fixes + Changes to squid-3.1.18 (03 Dec 2011): - Regression: compile error in FTP diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/RELEASENOTES.html new/squid-3.1.19/RELEASENOTES.html --- old/squid-3.1.18/RELEASENOTES.html 2011-12-03 08:05:31.000000000 +0100 +++ new/squid-3.1.19/RELEASENOTES.html 2012-02-05 14:18:34.000000000 +0100 @@ -2,10 +2,10 @@ <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.66"> - <TITLE>Squid 3.1.18 release notes</TITLE> + <TITLE>Squid 3.1.19 release notes</TITLE> </HEAD> <BODY> -<H1>Squid 3.1.18 release notes</H1> +<H1>Squid 3.1.19 release notes</H1> <H2>Squid Developers</H2> <HR> @@ -71,7 +71,7 @@ <HR> <H2><A NAME="s1">1.</A> <A HREF="#toc1">Notice</A></H2> -<P>The Squid Team are pleased to announce the release of Squid-3.1.18</P> +<P>The Squid Team are pleased to announce the release of Squid-3.1.19</P> <P>This new release is available for download from <A HREF="http://www.squid-cache.org/Versions/v3/3.1/">http://www.squid-cache.org/Versions/v3/3.1/</A> or the <A HREF="http://www.squid-cache.org/Mirrors/http-mirrors.html">mirrors</A>.</P> @@ -126,7 +126,7 @@ <LI>eCAP Adaptation Module support</LI> <LI>ICAP Bypass and Retry enhancements</LI> <LI>ICY streaming protocol support</LI> -<LI>Dynamic SSL Certificate Generation (3.1.12.1 and later)</LI> +<LI>Dynamic SSL Certificate Generation (3.1.13 and later)</LI> </UL> </P> <P>Most user-facing changes are reflected in squid.conf (see below).</P> @@ -1280,12 +1280,13 @@ <DT><B>external_acl_type</B><DD> <P>New options 'ipv4' and 'ipv6' are added to set the IPv4/v6 protocol between Squid and its helpers. -Please be aware of some limits to these options. These options only affect the transport protocol used -to send data to and from the helpers. IPv6 enabled Squid will still send %SRC addresses in IPv4 or IPv6 +Please be aware of some limits to these options. These options only affet the transport protocol used +to send data to and from the helpers. Squid in IPv6-mode may still send %SRC addresses in IPv4 or IPv6 format, so all helpers will need to be checked and converted to cope with such information cleanly. <PRE> - ipv4 / ipv6 IP transport used to communicate to this helper over localhost. - For compatability with systems lacking IPv6 support in the system kernel the default is 'ipv4'. + ipv4 / ipv6 IP-mode used to communicate to this helper. + For compatability with older configurations and helpers + the default is 'ipv4'. </PRE> </P> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/configure new/squid-3.1.19/configure --- old/squid-3.1.18/configure 2011-12-03 07:21:25.000000000 +0100 +++ new/squid-3.1.19/configure 2012-02-05 12:56:56.000000000 +0100 @@ -1,7 +1,7 @@ #! /bin/sh # From configure.ac Revision. # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for Squid Web Proxy 3.1.18. +# Generated by GNU Autoconf 2.68 for Squid Web Proxy 3.1.19. # # Report bugs to <http://www.squid-cache.org/bugs/>. # @@ -575,8 +575,8 @@ # Identity of this package. PACKAGE_NAME='Squid Web Proxy' PACKAGE_TARNAME='squid' -PACKAGE_VERSION='3.1.18' -PACKAGE_STRING='Squid Web Proxy 3.1.18' +PACKAGE_VERSION='3.1.19' +PACKAGE_STRING='Squid Web Proxy 3.1.19' PACKAGE_BUGREPORT='http://www.squid-cache.org/bugs/' PACKAGE_URL='' @@ -1540,7 +1540,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 Squid Web Proxy 3.1.18 to adapt to many kinds of systems. +\`configure' configures Squid Web Proxy 3.1.19 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1610,7 +1610,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Squid Web Proxy 3.1.18:";; + short | recursive ) echo "Configuration of Squid Web Proxy 3.1.19:";; esac cat <<\_ACEOF @@ -1941,7 +1941,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Squid Web Proxy configure 3.1.18 +Squid Web Proxy configure 3.1.19 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -2952,7 +2952,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Squid Web Proxy $as_me 3.1.18, which was +It was created by Squid Web Proxy $as_me 3.1.19, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -3771,7 +3771,7 @@ # Define the identity of the package. PACKAGE='squid' - VERSION='3.1.18' + VERSION='3.1.19' cat >>confdefs.h <<_ACEOF @@ -28231,7 +28231,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Squid Web Proxy $as_me 3.1.18, which was +This file was extended by Squid Web Proxy $as_me 3.1.19, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -28297,7 +28297,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -Squid Web Proxy config.status 3.1.18 +Squid Web Proxy config.status 3.1.19 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/configure.ac new/squid-3.1.19/configure.ac --- old/squid-3.1.18/configure.ac 2011-12-03 07:21:24.000000000 +0100 +++ new/squid-3.1.19/configure.ac 2012-02-05 12:56:55.000000000 +0100 @@ -2,7 +2,7 @@ dnl dnl $Id$ dnl -AC_INIT([Squid Web Proxy],[3.1.18],[http://www.squid-cache.org/bugs/],[squid]) +AC_INIT([Squid Web Proxy],[3.1.19],[http://www.squid-cache.org/bugs/],[squid]) AC_PREREQ(2.61) AC_CONFIG_HEADERS([include/autoconf.h]) AC_CONFIG_AUX_DIR(cfgaux) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/include/version.h new/squid-3.1.19/include/version.h --- old/squid-3.1.18/include/version.h 2011-12-03 07:21:25.000000000 +0100 +++ new/squid-3.1.19/include/version.h 2012-02-05 12:56:56.000000000 +0100 @@ -9,7 +9,7 @@ */ #ifndef SQUID_RELEASE_TIME -#define SQUID_RELEASE_TIME 1322893123 +#define SQUID_RELEASE_TIME 1328442684 #endif #ifndef APP_SHORTNAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/src/Makefile.am new/squid-3.1.19/src/Makefile.am --- old/squid-3.1.18/src/Makefile.am 2011-12-03 07:18:46.000000000 +0100 +++ new/squid-3.1.19/src/Makefile.am 2012-02-05 12:51:32.000000000 +0100 @@ -531,8 +531,8 @@ $(SNMPLIB) \ ${ADAPTATION_LIBS} \ $(ESI_LIBS) \ - $(SSLLIB) \ $(SSL_LIBS) \ + $(SSLLIB) \ -lmiscutil \ $(EPOLL_LIBS) \ $(MINGW_LIBS) \ @@ -1203,8 +1203,8 @@ -L../lib -lmiscutil \ $(SQUID_CPPUNIT_LIBS) \ $(SQUID_CPPUNIT_LA) \ - $(SSLLIB) \ $(SSL_LIBS) \ + $(SSLLIB) \ $(XTRA_LIBS) tests_testCacheManager_LDFLAGS = $(LIBADD_DL) tests_testCacheManager_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \ @@ -1379,8 +1379,8 @@ -L../lib -lmiscutil \ $(SQUID_CPPUNIT_LIBS) \ $(SQUID_CPPUNIT_LA) \ - $(SSLLIB) \ $(SSL_LIBS) \ + $(SSLLIB) \ $(XTRA_LIBS) tests_testEvent_LDFLAGS = $(LIBADD_DL) tests_testEvent_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \ @@ -1530,8 +1530,8 @@ -L../lib -lmiscutil \ $(SQUID_CPPUNIT_LIBS) \ $(SQUID_CPPUNIT_LA) \ - $(SSLLIB) \ $(SSL_LIBS) \ + $(SSLLIB) \ $(XTRA_LIBS) tests_testEventLoop_LDFLAGS = $(LIBADD_DL) tests_testEventLoop_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \ @@ -1676,8 +1676,8 @@ -L../lib -lmiscutil \ $(SQUID_CPPUNIT_LIBS) \ $(SQUID_CPPUNIT_LA) \ - $(SSLLIB) \ $(SSL_LIBS) \ + $(SSLLIB) \ $(XTRA_LIBS) tests_test_http_range_LDFLAGS = $(LIBADD_DL) tests_test_http_range_DEPENDENCIES = \ @@ -1827,8 +1827,8 @@ -L../lib -lmiscutil \ $(SQUID_CPPUNIT_LIBS) \ $(SQUID_CPPUNIT_LA) \ - $(SSLLIB) \ $(SSL_LIBS) \ + $(SSLLIB) \ $(XTRA_LIBS) tests_testHttpRequest_LDFLAGS = $(LIBADD_DL) tests_testHttpRequest_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \ @@ -2262,8 +2262,8 @@ -L../lib -lmiscutil \ $(SQUID_CPPUNIT_LIBS) \ $(SQUID_CPPUNIT_LA) \ - $(SSLLIB) \ $(SSL_LIBS) \ + $(SSLLIB) \ $(XTRA_LIBS) tests_testURL_LDFLAGS = $(LIBADD_DL) tests_testURL_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/src/Makefile.in new/squid-3.1.19/src/Makefile.in --- old/squid-3.1.18/src/Makefile.in 2011-12-03 07:20:35.000000000 +0100 +++ new/squid-3.1.19/src/Makefile.in 2012-02-05 12:55:16.000000000 +0100 @@ -1890,7 +1890,7 @@ ../compat/libcompat.la -L../lib $(XTRA_OBJS) $(DISK_LINKOBJS) \ $(REPL_OBJS) $(DISK_LIBS) $(DISK_OS_LIBS) $(CRYPTLIB) \ $(REGEXLIB) $(SNMPLIB) ${ADAPTATION_LIBS} $(ESI_LIBS) \ - $(SSLLIB) $(SSL_LIBS) -lmiscutil $(EPOLL_LIBS) $(MINGW_LIBS) \ + $(SSL_LIBS) $(SSLLIB) -lmiscutil $(EPOLL_LIBS) $(MINGW_LIBS) \ $(XTRA_LIBS) $(am__append_6) squid_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \ $(DISK_LIBS) \ @@ -2397,8 +2397,8 @@ -L../lib -lmiscutil \ $(SQUID_CPPUNIT_LIBS) \ $(SQUID_CPPUNIT_LA) \ - $(SSLLIB) \ $(SSL_LIBS) \ + $(SSLLIB) \ $(XTRA_LIBS) tests_testCacheManager_LDFLAGS = $(LIBADD_DL) @@ -2577,8 +2577,8 @@ -L../lib -lmiscutil \ $(SQUID_CPPUNIT_LIBS) \ $(SQUID_CPPUNIT_LA) \ - $(SSLLIB) \ $(SSL_LIBS) \ + $(SSLLIB) \ $(XTRA_LIBS) tests_testEvent_LDFLAGS = $(LIBADD_DL) @@ -2730,8 +2730,8 @@ -L../lib -lmiscutil \ $(SQUID_CPPUNIT_LIBS) \ $(SQUID_CPPUNIT_LA) \ - $(SSLLIB) \ $(SSL_LIBS) \ + $(SSLLIB) \ $(XTRA_LIBS) tests_testEventLoop_LDFLAGS = $(LIBADD_DL) @@ -2879,8 +2879,8 @@ -L../lib -lmiscutil \ $(SQUID_CPPUNIT_LIBS) \ $(SQUID_CPPUNIT_LA) \ - $(SSLLIB) \ $(SSL_LIBS) \ + $(SSLLIB) \ $(XTRA_LIBS) tests_test_http_range_LDFLAGS = $(LIBADD_DL) @@ -3031,8 +3031,8 @@ -L../lib -lmiscutil \ $(SQUID_CPPUNIT_LIBS) \ $(SQUID_CPPUNIT_LA) \ - $(SSLLIB) \ $(SSL_LIBS) \ + $(SSLLIB) \ $(XTRA_LIBS) tests_testHttpRequest_LDFLAGS = $(LIBADD_DL) @@ -3477,8 +3477,8 @@ -L../lib -lmiscutil \ $(SQUID_CPPUNIT_LIBS) \ $(SQUID_CPPUNIT_LA) \ - $(SSLLIB) \ $(SSL_LIBS) \ + $(SSLLIB) \ $(XTRA_LIBS) tests_testURL_LDFLAGS = $(LIBADD_DL) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/src/Store.h new/squid-3.1.19/src/Store.h --- old/squid-3.1.18/src/Store.h 2011-12-03 07:18:46.000000000 +0100 +++ new/squid-3.1.19/src/Store.h 2012-02-05 12:51:32.000000000 +0100 @@ -191,7 +191,7 @@ #if USE_ADAPTATION /// call back producer when more buffer space is available - void deferProducer(const AsyncCall::Pointer &producer); + void deferProducer(AsyncCall::Pointer &producer); /// calls back producer registered with deferProducer void kickProducer(); #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/src/StoreEntryStream.h new/squid-3.1.19/src/StoreEntryStream.h --- old/squid-3.1.18/src/StoreEntryStream.h 2011-12-03 07:18:46.000000000 +0100 +++ new/squid-3.1.19/src/StoreEntryStream.h 2012-02-05 12:51:32.000000000 +0100 @@ -70,7 +70,10 @@ return traits_type::eof(); if (aChar != traits_type::eof()) { - char chars[1] = {aChar}; + // NP: cast because GCC promotes int_type to 32-bit type + // std::basic_streambuf<char>::int_type {aka int} + // despite the definition with 8-bit type value. + char chars[1] = {char(aChar)}; if (aChar != traits_type::eof()) theEntry->append(chars, 1); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/src/StoreSwapLogData.cc new/squid-3.1.19/src/StoreSwapLogData.cc --- old/squid-3.1.18/src/StoreSwapLogData.cc 2011-12-03 07:18:46.000000000 +0100 +++ new/squid-3.1.19/src/StoreSwapLogData.cc 2012-02-05 12:51:32.000000000 +0100 @@ -39,6 +39,24 @@ memset (key, '\0', sizeof(key)); } +bool +StoreSwapLogData::sane() const +{ + // TODO: These checks are rather weak. A corrupted swap.state may still + // cause havoc (e.g., cur_size may become astronomical). Add checksums? + + const time_t minTime = -2; // -1 is common; expires sometimes uses -2 + + // Check what we safely can; for some fields any value might be valid + return SWAP_LOG_NOP < op && op < SWAP_LOG_MAX && + swap_filen >= 0 && + timestamp >= minTime && + lastref >= minTime && + expires >= minTime && + lastmod >= minTime && + swap_file_sz > 0; // because swap headers ought to consume space +} + StoreSwapLogHeader::StoreSwapLogHeader():op(SWAP_LOG_VERSION), version(1) { record_size = sizeof(StoreSwapLogData); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/src/StoreSwapLogData.h new/squid-3.1.19/src/StoreSwapLogData.h --- old/squid-3.1.18/src/StoreSwapLogData.h 2011-12-03 07:18:46.000000000 +0100 +++ new/squid-3.1.19/src/StoreSwapLogData.h 2012-02-05 12:51:32.000000000 +0100 @@ -86,6 +86,9 @@ MEMPROXY_CLASS(StoreSwapLogData); StoreSwapLogData(); + /// consistency self-check: whether the data appears to make sense + bool sane() const; + /** * Either SWAP_LOG_ADD when an object is added to the disk storage, * or SWAP_LOG_DEL when an object is deleted. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/src/auth/digest/auth_digest.cc new/squid-3.1.19/src/auth/digest/auth_digest.cc --- old/squid-3.1.18/src/auth/digest/auth_digest.cc 2011-12-03 07:18:46.000000000 +0100 +++ new/squid-3.1.19/src/auth/digest/auth_digest.cc 2012-02-05 12:51:32.000000000 +0100 @@ -490,10 +490,10 @@ AuthUser *auth_user; debugs(29, 9, HERE << "Looking for user '" << username << "'"); - if (username && (usernamehash = static_cast < auth_user_hash_pointer * >(hash_lookup(proxy_auth_username_cache, username)))) { + if (username && (usernamehash = static_cast < AuthUserHashPointer * >(hash_lookup(proxy_auth_username_cache, username)))) { while ((usernamehash->user()->auth_type != AUTH_DIGEST) && (usernamehash->next)) - usernamehash = static_cast < auth_user_hash_pointer * >(usernamehash->next); + usernamehash = static_cast < AuthUserHashPointer * >(usernamehash->next); auth_user = NULL; @@ -515,7 +515,7 @@ AuthUser *auth_user; hash_first(proxy_auth_username_cache); - while ((usernamehash = ((auth_user_hash_pointer *) hash_next(proxy_auth_username_cache)))) { + while ((usernamehash = ((AuthUserHashPointer *) hash_next(proxy_auth_username_cache)))) { auth_user = usernamehash->user(); if (strcmp(auth_user->config->type(), "digest") == 0) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/src/auth/ntlm/auth_ntlm.cc new/squid-3.1.19/src/auth/ntlm/auth_ntlm.cc --- old/squid-3.1.18/src/auth/ntlm/auth_ntlm.cc 2011-12-03 07:18:46.000000000 +0100 +++ new/squid-3.1.19/src/auth/ntlm/auth_ntlm.cc 2012-02-05 12:51:32.000000000 +0100 @@ -393,7 +393,7 @@ debugs(29, 4, "AuthNTLMUserRequest::authenticate: authenticated user " << ntlm_user->username()); /* see if this is an existing user with a different proxy_auth * string */ - auth_user_hash_pointer *usernamehash = static_cast<AuthUserHashPointer *>(hash_lookup(proxy_auth_username_cache, ntlm_user->username())); + AuthUserHashPointer *usernamehash = static_cast<AuthUserHashPointer *>(hash_lookup(proxy_auth_username_cache, ntlm_user->username())); AuthUser *local_auth_user = ntlm_request->user(); while (usernamehash && (usernamehash->user()->auth_type != AUTH_NTLM || strcmp(usernamehash->user()->username(), ntlm_user->username()) != 0)) usernamehash = static_cast<AuthUserHashPointer *>(usernamehash->next); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/src/client_side.cc new/squid-3.1.19/src/client_side.cc --- old/squid-3.1.18/src/client_side.cc 2011-12-03 07:18:46.000000000 +0100 +++ new/squid-3.1.19/src/client_side.cc 2012-02-05 12:51:32.000000000 +0100 @@ -1390,6 +1390,7 @@ */ } +/// called when we have successfully finished writing the response void ClientSocketContext::keepaliveNextRequest() { @@ -1406,6 +1407,26 @@ } /** \par + * We are done with the response, and we are either still receiving request + * body (early response!) or have already stopped receiving anything. + * + * If we are still receiving, then clientParseRequest() below will fail. + * (XXX: but then we will call readNextRequest() which may succeed and + * execute a smuggled request as we are not done with the current request). + * + * If we stopped because we got everything, then try the next request. + * + * If we stopped receiving because of an error, then close now to avoid + * getting stuck and to prevent accidental request smuggling. + */ + + if (const char *reason = conn->stoppedReceiving()) { + debugs(33, 3, HERE << "closing for earlier request error: " << reason); + comm_close(conn->fd); + return; + } + + /** \par * Attempt to parse a request from the request buffer. * If we've been fed a pipelined request it may already * be in our read buffer. @@ -1634,44 +1655,36 @@ comm_close(fd()); } -/** Called to initiate (and possibly complete) closing of the context. - * The underlying socket may be already closed */ +/// called when we encounter a response-related error void ClientSocketContext::initiateClose(const char *reason) { - debugs(33, 5, HERE << "initiateClose: closing for " << reason); + http->getConn()->stopSending(reason); // closes ASAP +} - if (http != NULL) { - ConnStateData * conn = http->getConn(); +void +ConnStateData::stopSending(const char *error) +{ + debugs(33, 4, HERE << "sending error (FD " << fd << "): " << error << + "; old receiving error: " << + (stoppedReceiving() ? stoppedReceiving_ : "none")); - if (conn != NULL) { - if (const int64_t expecting = conn->bodySizeLeft()) { - debugs(33, 5, HERE << "ClientSocketContext::initiateClose: " << - "closing, but first " << conn << " needs to read " << - expecting << " request body bytes with " << - conn->in.notYetUsed << " notYetUsed"); - - if (conn->closing()) { - debugs(33, 2, HERE << "avoiding double-closing " << conn); - return; - } - - /* - * XXX We assume the reply fits in the TCP transmit - * window. If not the connection may stall while sending - * the reply (before reaching here) if the client does not - * try to read the response while sending the request body. - * As of yet we have not received any complaints indicating - * this may be an issue. - */ - conn->startClosing(reason); + if (const char *oldError = stoppedSending()) { + debugs(33, 3, HERE << "already stopped sending: " << oldError); + return; // nothing has changed as far as this connection is concerned + } - return; - } + stoppedSending_ = error; + + if (!stoppedReceiving()) { + if (const int64_t expecting = bodySizeLeft()) { + debugs(33, 5, HERE << "must still read " << expecting << + " request body bytes with " << in.notYetUsed << " unused"); + return; // wait for the request receiver to finish reading } } - doClose(); + comm_close(fd); } void @@ -2928,16 +2941,11 @@ if (!bodyPipe) { debugs(33,5, HERE << "produced entire request body for FD " << fd); - if (closing()) { + if (const char *reason = stoppedSending()) { /* we've finished reading like good clients, * now do the close that initiateClose initiated. - * - * XXX: do we have to close? why not check keepalive et. - * - * XXX: To support chunked requests safely, we need to handle - * the case of an endless request. This if-statement does not, - * because mayNeedMoreData is true if request size is not known. */ + debugs(33, 3, HERE << "closing for earlier sending error: " << reason); comm_close(fd); return false; } @@ -2952,7 +2960,7 @@ return; // too late to read more body - if (!isOpen() || closing()) + if (!isOpen() || stoppedReceiving()) return; readSomeData(); @@ -2961,8 +2969,11 @@ void ConnStateData::noteBodyConsumerAborted(BodyPipe::Pointer ) { - if (!closing()) - startClosing("body consumer aborted"); + // request reader may get stuck waiting for space if nobody consumes body + if (bodyPipe != NULL) + bodyPipe->enableAutoConsumption(); + + stopReceiving("virgin request body consumer aborted"); // closes ASAP } /** general lifetime handler for HTTP requests */ @@ -3755,7 +3766,9 @@ CBDATA_CLASS_INIT(ConnStateData); -ConnStateData::ConnStateData() :AsyncJob("ConnStateData"), transparent_ (false), closing_ (false), switchedToHttps_(false) +ConnStateData::ConnStateData() :AsyncJob("ConnStateData"), transparent_ (false), + switchedToHttps_(false), + stoppedSending_(NULL), stoppedReceiving_(NULL) { pinning.fd = -1; pinning.pinned = false; @@ -3798,33 +3811,24 @@ return bodyPipe; } -bool -ConnStateData::closing() const -{ - return closing_; -} - -/** - * Called by ClientSocketContext to give the connection a chance to read - * the entire body before closing the socket. - */ void -ConnStateData::startClosing(const char *reason) +ConnStateData::stopReceiving(const char *error) { - debugs(33, 5, HERE << "startClosing " << this << " for " << reason); - assert(!closing()); - closing_ = true; + debugs(33, 4, HERE << "receiving error (FD " << fd << "): " << error << + "; old sending error: " << + (stoppedSending() ? stoppedSending_ : "none")); - assert(bodyPipe != NULL); - assert(bodySizeLeft() > 0); + if (const char *oldError = stoppedReceiving()) { + debugs(33, 3, HERE << "already stopped receiving: " << oldError); + return; // nothing has changed as far as this connection is concerned + } - // We do not have to abort the body pipeline because we are going to - // read the entire body anyway. - // Perhaps an ICAP server wants to log the complete request. - - // If a consumer abort have caused this closing, we may get stuck - // as nobody is consuming our data. Allow auto-consumption. - bodyPipe->enableAutoConsumption(); + stoppedReceiving_ = error; + + if (const char *sendError = stoppedSending()) { + debugs(33, 3, HERE << "closing because also stopped sending: " << sendError); + comm_close(fd); + } } void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/src/client_side.h new/squid-3.1.19/src/client_side.h --- old/squid-3.1.18/src/client_side.h 2011-12-03 07:18:46.000000000 +0100 +++ new/squid-3.1.19/src/client_side.h 2012-02-05 12:51:32.000000000 +0100 @@ -214,8 +214,15 @@ bool reading() const; void stopReading(); ///< cancels comm_read if it is scheduled - bool closing() const; - void startClosing(const char *reason); + /// true if we stopped receiving the request + const char *stoppedReceiving() const { return stoppedReceiving_; } + /// true if we stopped sending the response + const char *stoppedSending() const { return stoppedSending_; } + /// note request receiving error and close as soon as we write the response + void stopReceiving(const char *error); + /// note response sending error and close as soon as we read the request + void stopSending(const char *error); + void expectNoForwarding(); ///< cleans up virgin request [body] forwarding state BodyPipe::Pointer expectRequestBody(int64_t size); @@ -293,9 +300,14 @@ private: CBDATA_CLASS2(ConnStateData); bool transparent_; - bool closing_; bool switchedToHttps_; + + /// the reason why we no longer write the response or nil + const char *stoppedSending_; + /// the reason why we no longer read the request or nil + const char *stoppedReceiving_; + String sslHostName; ///< Host name for SSL certificate generation AsyncCall::Pointer reader; ///< set when we are reading BodyPipe::Pointer bodyPipe; // set when we are reading request body diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/src/client_side_reply.cc new/squid-3.1.19/src/client_side_reply.cc --- old/squid-3.1.18/src/client_side_reply.cc 2011-12-03 07:18:46.000000000 +0100 +++ new/squid-3.1.19/src/client_side_reply.cc 2012-02-05 12:51:32.000000000 +0100 @@ -359,6 +359,7 @@ // origin replied 304 if (status == HTTP_NOT_MODIFIED) { http->logType = LOG_TCP_REFRESH_UNMODIFIED; + http->request->flags.stale_if_hit = 0; // old_entry is no longer stale // update headers on existing entry old_rep->updateOnNotModified(http->storeEntry()->getReply()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/src/client_side_request.cc new/squid-3.1.19/src/client_side_request.cc --- old/squid-3.1.18/src/client_side_request.cc 2011-12-03 07:18:46.000000000 +0100 +++ new/squid-3.1.19/src/client_side_request.cc 2012-02-05 12:51:32.000000000 +0100 @@ -873,18 +873,22 @@ request->flags.auth = 1; ConnStateData *http_conn = http->getConn(); - assert(http_conn); - request->flags.connection_auth_disabled = http_conn->port->connection_auth_disabled; - if (!request->flags.connection_auth_disabled) { - if (http_conn->pinning.fd != -1) { - if (http_conn->pinning.auth) { - request->flags.connection_auth = 1; - request->flags.auth = 1; - } else { - request->flags.connection_proxy_auth = 1; + if (http_conn) { + request->flags.connection_auth_disabled = http_conn->port->connection_auth_disabled; + if (!request->flags.connection_auth_disabled) { + if (http_conn->pinning.fd != -1) { + if (http_conn->pinning.auth) { + request->flags.connection_auth = 1; + request->flags.auth = 1; + } else { + request->flags.connection_proxy_auth = 1; + } + request->setPinnedConnection(http_conn); } - request->setPinnedConnection(http_conn); } + } else { + // internal requests and ESI don't have client conn. + request->flags.connection_auth_disabled = 1; } /* check if connection auth is used, and flag as candidate for pinning diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/src/external_acl.cc new/squid-3.1.19/src/external_acl.cc --- old/squid-3.1.18/src/external_acl.cc 2011-12-03 07:18:46.000000000 +0100 +++ new/squid-3.1.19/src/external_acl.cc 2012-02-05 12:51:32.000000000 +0100 @@ -681,6 +681,27 @@ safe_free (class_); } +static void +copyResultsFromEntry(HttpRequest *req, external_acl_entry *entry) +{ + if (req) { + if (entry->user.size()) + req->extacl_user = entry->user; + + if (entry->password.size()) + req->extacl_passwd = entry->password; + + if (!req->tag.size()) + req->tag = entry->tag; + + if (entry->log.size()) + req->extacl_log = entry->log; + + if (entry->message.size()) + req->extacl_message = entry->message; + } +} + static int aclMatchExternal(external_acl_data *acl, ACLFilledChecklist *ch) { @@ -762,24 +783,7 @@ external_acl_message = entry->message.termedBuf(); debugs(82, 2, "aclMatchExternal: " << acl->def->name << " = " << result); - - if (ch->request) { - if (entry->user.size()) - ch->request->extacl_user = entry->user; - - if (entry->password.size()) - ch->request->extacl_passwd = entry->password; - - if (!ch->request->tag.size()) - ch->request->tag = entry->tag; - - if (entry->log.size()) - ch->request->extacl_log = entry->log; - - if (entry->message.size()) - ch->request->extacl_message = entry->message; - } - + copyResultsFromEntry(ch->request, entry); return result; } @@ -838,8 +842,13 @@ switch (format->type) { case _external_acl_format::EXT_ACL_LOGIN: - assert (ch->auth_user_request); - str = ch->auth_user_request->username(); + // if this ACL line was the cause of credentials fetch + // they may not already be in the checklist + if (ch->auth_user_request == NULL && ch->request) + ch->auth_user_request = ch->request->auth_user_request; + + if (ch->auth_user_request != NULL) + str = ch->auth_user_request->username(); break; #if USE_IDENT @@ -1348,7 +1357,7 @@ (long unsigned int) entry->date << ", result=" << entry->result << ", user=" << entry->user << " tag=" << entry->tag << " log=" << entry->log << " }"); - + copyResultsFromEntry(ch->request, entry); } callback(callback_data, entry); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/src/fs/ufs/store_dir_ufs.cc new/squid-3.1.19/src/fs/ufs/store_dir_ufs.cc --- old/squid-3.1.18/src/fs/ufs/store_dir_ufs.cc 2011-12-03 07:18:46.000000000 +0100 +++ new/squid-3.1.19/src/fs/ufs/store_dir_ufs.cc 2012-02-05 12:51:32.000000000 +0100 @@ -733,14 +733,15 @@ file_close(swaplog_fd); if (xrename(new_path, swaplog_path) < 0) { - fatal("commonUfsDirCloseTmpSwapLog: rename failed"); + debugs(50, DBG_IMPORTANT, "ERROR: " << swaplog_path << ": " << xstrerror()); + fatalf("Failed to rename log file %s to %s.new", swaplog_path, swaplog_path); } fd = file_open(swaplog_path, O_WRONLY | O_CREAT | O_BINARY); if (fd < 0) { - debugs(50, 1, "" << swaplog_path << ": " << xstrerror()); - fatal("commonUfsDirCloseTmpSwapLog: Failed to open swap log."); + debugs(50, DBG_IMPORTANT, "ERROR: " << swaplog_path << ": " << xstrerror()); + fatalf("Failed to open swap log %s", swaplog_path); } safe_free(swaplog_path); @@ -749,13 +750,6 @@ debugs(47, 3, "Cache Dir #" << index << " log opened on FD " << fd); } -static void -FreeHeader(void *address) -{ - StoreSwapLogHeader *anObject = static_cast <StoreSwapLogHeader *>(address); - delete anObject; -} - FILE * UFSSwapDir::openTmpSwapLog(int *clean_flag, int *zero_flag) { @@ -794,9 +788,16 @@ swaplog_fd = fd; { - StoreSwapLogHeader *header = new StoreSwapLogHeader; - file_write(swaplog_fd, -1, header, sizeof(*header), - NULL, NULL, FreeHeader); + const StoreSwapLogHeader header; + MemBuf buf; + buf.init(header.record_size, header.record_size); + buf.append(reinterpret_cast<const char*>(&header), sizeof(header)); + // Pad to keep in sync with UFSSwapDir::writeCleanStart(). + // TODO: When MemBuf::spaceSize() is fixed not to subtract one, + // memset() space() with zeroes and use spaceSize() below. + buf.appended(static_cast<size_t>(header.record_size) - sizeof(header)); + file_write(swaplog_fd, -1, buf.content(), buf.contentSize(), + NULL, NULL, buf.freeFunc()); } /* open a read-only stream of the old log */ @@ -882,6 +883,7 @@ state->outbuf_offset = 0; /*copy the header */ xmemcpy(state->outbuf, &header, sizeof(StoreSwapLogHeader)); + // Leave a gap to keep in sync with UFSSwapDir::openTmpSwapLog(). state->outbuf_offset += header.record_size; state->walker = repl->WalkInit(repl); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/src/fs/ufs/ufscommon.cc new/squid-3.1.19/src/fs/ufs/ufscommon.cc --- old/squid-3.1.18/src/fs/ufs/ufscommon.cc 2011-12-03 07:18:46.000000000 +0100 +++ new/squid-3.1.19/src/fs/ufs/ufscommon.cc 2012-02-05 12:51:32.000000000 +0100 @@ -604,11 +604,10 @@ n_read++; - if (swapData.op <= SWAP_LOG_NOP) - continue; - - if (swapData.op >= SWAP_LOG_MAX) + if (!swapData.sane()) { + counts.invalid++; continue; + } /* * BC: during 2.4 development, we changed the way swap file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/src/ssl_support.cc new/squid-3.1.19/src/ssl_support.cc --- old/squid-3.1.18/src/ssl_support.cc 2011-12-03 07:18:46.000000000 +0100 +++ new/squid-3.1.19/src/ssl_support.cc 2012-02-05 12:51:32.000000000 +0100 @@ -355,7 +355,7 @@ #endif #ifdef SSL_OP_ALL { - "ALL", SSL_OP_ALL + "ALL", (long)SSL_OP_ALL }, #endif #ifdef SSL_OP_SINGLE_DH_USE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/src/store.cc new/squid-3.1.19/src/store.cc --- old/squid-3.1.18/src/store.cc 2011-12-03 07:18:46.000000000 +0100 +++ new/squid-3.1.19/src/store.cc 2012-02-05 12:51:32.000000000 +0100 @@ -368,7 +368,7 @@ #if USE_ADAPTATION void -StoreEntry::deferProducer(const AsyncCall::Pointer &producer) +StoreEntry::deferProducer(AsyncCall::Pointer &producer) { if (!deferredProducer) deferredProducer = producer; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/squid-3.1.18/src/typedefs.h new/squid-3.1.19/src/typedefs.h --- old/squid-3.1.18/src/typedefs.h 2011-12-03 07:18:46.000000000 +0100 +++ new/squid-3.1.19/src/typedefs.h 2012-02-05 12:51:32.000000000 +0100 @@ -49,11 +49,6 @@ //UNUSED typedef struct _acl_deny_info_list acl_deny_info_list; //UNUSED typedef class AuthUser auth_user_t; - -/// \ingroup AuthAPI -/// \deprecated Use AuthUserHashPointer instead. -typedef struct AuthUserHashPointer auth_user_hash_pointer; - /// \ingroup AuthAPI /// \deprecated Use AuthUserIP instead. typedef struct AuthUserIP auth_user_ip_t; ++++++ squid-3.1.19.tar.bz2.asc ++++++ File: squid-3.1.19.tar.bz2 Date: Sun Feb 5 13:21:35 UTC 2012 Size: 2509837 MD5 : 9b6ffaf96bee8f05f0085bc6361d7c94 SHA1: fae2ef3d8a994297efe62d504d09e4c79b34db04 Key : 0xFF5CF463 <[email protected]> fingerprint = EA31 CC5E 9488 E516 8D2D CC5E B268 E706 FF5C F463 keyring = http://www.squid-cache.org/pgp.asc keyserver = subkeys.pgp.net -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQEcBAABAgAGBQJPLoNyAAoJELJo5wb/XPRjPnoIAJJooSBK44JE8+lYmj2XNjMg 8exLxnjWsBxg1XiA4lPw9dVx7MJy6LDyytbO0gFh/WTJyLgSSRlZrbq2LBcSqFUj eCYAG1r5wcmARV1kRCu3iT8c6JA471q+xD/QIheA30z3QmUze6x8+eNVWrrhHlRF jq5cFXCSglvv6jL2fs8N39sGsanfduT2F0+Kb4HGRsxG99zaagdURrtbdltkxcln 8lJO8TiSntj5cwJYmXrdbDut1R/c2dtU6miaMLPK01EoxN9Nw+UumYwY0BFw/WFH kvII+28hVBeR/h8CP3US6Zs/wvYlEwfoqQTG4zSjfCjifFmrqHW9YG9GFDpW/B4= =Mt1A -----END PGP SIGNATURE----- ++++++ squid-FSF.patch ++++++ Index: COPYING =================================================================== --- COPYING.orig +++ COPYING @@ -1,8 +1,8 @@ GNU GENERAL PUBLIC LICENSE Version 2, June 1991 - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111, USA + Copyright (C) 1989, 1991 Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Index: COPYRIGHT =================================================================== --- COPYRIGHT.orig +++ COPYRIGHT @@ -18,8 +18,8 @@ You should have received a copy of the G with this program; if not, write to: The Free Software Foundation - 59 Temple Place - Suite 330 - Boston, MA 02111, USA + 51 Franklin Street + Suite 500 + Boston, MA 02110-1335, USA Or contact [email protected] Index: README =================================================================== --- README.orig +++ README @@ -14,7 +14,7 @@ SQUID Web Proxy Cache http://www. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA. Squid is derived from the ``cached'' software from the ARPA-funded Harvest research project. Squid includes software copyrighted Index: helpers/basic_auth/SMB/smb_auth.sh =================================================================== --- helpers/basic_auth/SMB/smb_auth.sh.orig +++ helpers/basic_auth/SMB/smb_auth.sh @@ -15,7 +15,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA read DOMAINNAME read PASSTHROUGH Index: helpers/basic_auth/POP3/pop3.pl =================================================================== --- helpers/basic_auth/POP3/pop3.pl.orig +++ helpers/basic_auth/POP3/pop3.pl @@ -15,7 +15,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. +# Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA. # # Change log: # 2006-12-10 henrik Initial revision ++++++ squid-config.patch ++++++ Index: src/cf.data.pre =================================================================== --- src/cf.data.pre.orig +++ src/cf.data.pre @@ -925,6 +925,8 @@ http_access deny CONNECT !SSL_ports # Adapt localnet in the ACL section to list your (internal) IP networks # from where browsing should be allowed http_access allow localnet + +# Allow localhost always proxy functionality http_access allow localhost # And finally deny all other access to this proxy @@ -2358,6 +2360,10 @@ DOC_START Instead, if you want Squid to use the entire disk drive, subtract 20% and use that value. + Note on 'Mbytes': You need to consider the available RAM on the + machine versus the approx. 10MB RAM per 1GB of files which the + cache_dir index will consume. + 'L1' is the number of first-level subdirectories which will be created under the 'Directory'. The default is 16. @@ -2433,7 +2439,7 @@ DOC_START NOCOMMENT_START # Uncomment and adjust the following to add a disk cache directory. -#cache_dir ufs @DEFAULT_SWAP_DIR@ 100 16 256 +#cache_dir aufs @DEFAULT_SWAP_DIR@ 100 16 256 NOCOMMENT_END DOC_END @@ -2845,7 +2851,7 @@ DOC_END NAME: logfile_rotate TYPE: int -DEFAULT: 10 +DEFAULT: 0 LOC: Config.Log.rotateNumber DOC_START Specifies the number of logfile rotations to make when you ++++++ squid-nobuilddates.patch ++++++ Index: helpers/basic_auth/mswin_sspi/mswin_auth.c =================================================================== --- helpers/basic_auth/mswin_sspi/mswin_auth.c.orig +++ helpers/basic_auth/mswin_sspi/mswin_auth.c @@ -118,7 +118,7 @@ main(int argc, char **argv) my_program_name = argv[0]; process_options(argc, argv); - debug("%s build " __DATE__ ", " __TIME__ " starting up...\n", my_program_name); + debug("%s starting up...\n", my_program_name); if (LoadSecurityDll(SSP_BASIC, NTLM_PACKAGE_NAME) == NULL) { fprintf(stderr, "FATAL, can't initialize SSPI, exiting.\n"); Index: helpers/external_acl/mswin_ad_group/mswin_check_ad_group.c =================================================================== --- helpers/external_acl/mswin_ad_group/mswin_check_ad_group.c.orig +++ helpers/external_acl/mswin_ad_group/mswin_check_ad_group.c @@ -430,8 +430,7 @@ main(int argc, char *argv[]) if (!DefaultDomain) DefaultDomain = xstrdup(machinedomain); } - debug("External ACL win32 group helper build " __DATE__ ", " __TIME__ - " starting up...\n"); + debug("External ACL win32 group helper starting up...\n"); if (use_global) debug("Domain Global group mode enabled using '%s' as default domain.\n", DefaultDomain); if (use_case_insensitive_compare) Index: helpers/external_acl/mswin_lm_group/win32_check_group.c =================================================================== --- helpers/external_acl/mswin_lm_group/win32_check_group.c.orig +++ helpers/external_acl/mswin_lm_group/win32_check_group.c @@ -546,8 +546,7 @@ main(int argc, char *argv[]) if (!DefaultDomain) DefaultDomain = xstrdup(machinedomain); } - debug("External ACL win32 group helper build " __DATE__ ", " __TIME__ - " starting up...\n"); + debug("External ACL win32 group helper starting up...\n"); if (use_global) debug("Domain Global group mode enabled using '%s' as default domain.\n", DefaultDomain); if (use_case_insensitive_compare) Index: helpers/negotiate_auth/mswin_sspi/negotiate_auth.c =================================================================== --- helpers/negotiate_auth/mswin_sspi/negotiate_auth.c.orig +++ helpers/negotiate_auth/mswin_sspi/negotiate_auth.c @@ -299,7 +299,7 @@ main(int argc, char *argv[]) process_options(argc, argv); - debug("%s build " __DATE__ ", " __TIME__ " starting up...\n", my_program_name); + debug("%s starting up...\n", my_program_name); if (LoadSecurityDll(SSP_NTLM, NEGOTIATE_PACKAGE_NAME) == NULL) { fprintf(stderr, "FATAL, can't initialize SSPI, exiting.\n"); Index: helpers/ntlm_auth/fakeauth/fakeauth_auth.c =================================================================== --- helpers/ntlm_auth/fakeauth/fakeauth_auth.c.orig +++ helpers/ntlm_auth/fakeauth/fakeauth_auth.c @@ -387,7 +387,7 @@ main(int argc, char *argv[]) process_options(argc, argv); - debug("%s build " __DATE__ ", " __TIME__ " starting up...\n", my_program_name); + debug("%s starting up...\n", my_program_name); while (fgets(buf, BUFFER_SIZE, stdin) != NULL) { user[0] = '\0'; /*no usercode */ Index: helpers/ntlm_auth/mswin_sspi/ntlm_auth.c =================================================================== --- helpers/ntlm_auth/mswin_sspi/ntlm_auth.c.orig +++ helpers/ntlm_auth/mswin_sspi/ntlm_auth.c @@ -381,7 +381,7 @@ main(int argc, char *argv[]) process_options(argc, argv); - debug("%s build " __DATE__ ", " __TIME__ " starting up...\n", my_program_name); + debug("%s starting up...\n", my_program_name); if (LoadSecurityDll(SSP_NTLM, NTLM_PACKAGE_NAME) == NULL) { fprintf(stderr, "FATAL, can't initialize SSPI, exiting.\n"); Index: helpers/ntlm_auth/smb_lm/ntlm_smb_lm_auth.c =================================================================== --- helpers/ntlm_auth/smb_lm/ntlm_smb_lm_auth.c.orig +++ helpers/ntlm_auth/smb_lm/ntlm_smb_lm_auth.c @@ -461,7 +461,7 @@ manage_request() int main(int argc, char *argv[]) { - debug("ntlm_auth build " __DATE__ ", " __TIME__ " starting up...\n"); + debug("ntlm_auth build starting up...\n"); my_program_name = argv[0]; process_options(argc, argv); ++++++ squid-swapdir.patch ++++++ Index: configure.ac =================================================================== --- configure.ac.orig +++ configure.ac @@ -204,6 +204,21 @@ AC_ARG_WITH(logdir, ) AC_SUBST(DEFAULT_LOG_DIR) +DEFAULT_SWAPDIR="$localstatedir/cache" +AC_ARG_WITH(swapdir, + AS_HELP_STRING([--with-swapdir=PATH],[Default location for squid SWAP files. default: $DEFAULT_SWAPDIR]), + [ case $withval in + yes|no) + AC_MSG_ERROR( --with-swapdir requires a directory PATH. --with-swapdir=PATH ) + ;; + *) + DEFAULT_SWAPDIR="$withval" + ;; + esac + ] +) +AC_SUBST(DEFAULT_SWAPDIR) + DEFAULT_PIDFILE="$localstatedir/run/squid.pid" AC_ARG_WITH(pidfile, AS_HELP_STRING([--with-pidfile=PATH],[Default location for squid PID file. default: PREFIX/var/run/squid.pid]), Index: src/Makefile.am =================================================================== --- src/Makefile.am.orig +++ src/Makefile.am @@ -729,7 +729,7 @@ DEFAULT_ACCESS_LOG = $(DEFAULT_LOG_ DEFAULT_STORE_LOG = $(DEFAULT_LOG_PREFIX)/store.log DEFAULT_PID_FILE = $(DEFAULT_PIDFILE) DEFAULT_NETDB_FILE = $(DEFAULT_LOG_PREFIX)/netdb.state -DEFAULT_SWAP_DIR = $(localstatedir)/cache +DEFAULT_SWAP_DIR = $(DEFAULT_SWAPDIR) DEFAULT_SSL_DB_DIR = $(localstatedir)/lib/ssl_db DEFAULT_PINGER = $(libexecdir)/`echo pinger | sed '$(transform);s/$$/$(EXEEXT)/'` DEFAULT_UNLINKD = $(libexecdir)/`echo unlinkd | sed '$(transform);s/$$/$(EXEEXT)/'` Index: src/Makefile.in =================================================================== --- src/Makefile.in.orig +++ src/Makefile.in @@ -2054,7 +2054,7 @@ DEFAULT_ACCESS_LOG = $(DEFAULT_LOG_PREFI DEFAULT_STORE_LOG = $(DEFAULT_LOG_PREFIX)/store.log DEFAULT_PID_FILE = $(DEFAULT_PIDFILE) DEFAULT_NETDB_FILE = $(DEFAULT_LOG_PREFIX)/netdb.state -DEFAULT_SWAP_DIR = $(localstatedir)/cache +DEFAULT_SWAP_DIR = $(DEFAULT_SWAPDIR) DEFAULT_SSL_DB_DIR = $(localstatedir)/lib/ssl_db DEFAULT_PINGER = $(libexecdir)/`echo pinger | sed '$(transform);s/$$/$(EXEEXT)/'` DEFAULT_UNLINKD = $(libexecdir)/`echo unlinkd | sed '$(transform);s/$$/$(EXEEXT)/'` ++++++ unsquid.pl ++++++ --- /var/tmp/diff_new_pack.vuvIoL/_old 2012-02-20 16:18:50.000000000 +0100 +++ /var/tmp/diff_new_pack.vuvIoL/_new 2012-02-20 16:18:50.000000000 +0100 @@ -15,7 +15,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA # # $Id: unsquid,v 1.4 2000/03/11 17:31:06 avatar Exp $ -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
