]> git.ipfire.org Git - thirdparty/squid.git/log
thirdparty/squid.git
16 years agoBug 2215: config file line length limit
Amos Jeffries [Thu, 24 Sep 2009 08:47:07 +0000 (20:47 +1200)] 
Bug 2215: config file line length limit

16 years agoSourceFormat Enforcement
Automatic source maintenance [Thu, 17 Sep 2009 01:10:07 +0000 (19:10 -0600)] 
SourceFormat Enforcement

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Wed, 16 Sep 2009 08:43:41 +0000 (20:43 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Bug 2768: squid_ldap_group argument parsing error

-K is a boolean argument and should not eath the next argument as data.

16 years agoCorrect peer connect-fail-limit default of 10
Amos Jeffries [Wed, 16 Sep 2009 08:42:33 +0000 (20:42 +1200)] 
Correct peer connect-fail-limit default of 10

16 years agoPrevent squidclient sending two Accept: headers
Amos Jeffries [Wed, 16 Sep 2009 08:41:32 +0000 (20:41 +1200)] 
Prevent squidclient sending two Accept: headers

16 years agoBug 2722: http_port accel combined with CONNECT has bizarre behaviour
Amos Jeffries [Wed, 16 Sep 2009 08:40:42 +0000 (20:40 +1200)] 
Bug 2722: http_port accel combined with CONNECT has bizarre behaviour

16 years agoBug 2735: Incomplete -fhuge-objects detection
Amos Jeffries [Wed, 16 Sep 2009 08:38:57 +0000 (20:38 +1200)] 
Bug 2735: Incomplete -fhuge-objects detection

16 years agoAuthor: Henrik Nordstrom <hno@squid-cache.org>
Amos Jeffries [Wed, 16 Sep 2009 08:32:34 +0000 (20:32 +1200)] 
Author: Henrik Nordstrom <hno@squid-cache.org>
Bug 2510: digest_ldap_auth uses incorrect logic with TLS

16 years agoFix segfault parsing cache_dir with IOEngine= set
Amos Jeffries [Wed, 16 Sep 2009 08:31:38 +0000 (20:31 +1200)] 
Fix segfault parsing cache_dir with IOEngine= set

16 years agoAuto-detect the amount of TPROXY support available.
Amos Jeffries [Wed, 16 Sep 2009 08:21:27 +0000 (20:21 +1200)] 
Auto-detect the amount of TPROXY support available.

Uses the configured port address type to determine the level of testing
done. Systems with IPv4-only TPROXY (kernel 2.6.28 to 2.6.3*) will have
their ports reduced to IPv4-only, and those with IPv6 support will see
the port open as IPv6. This is done at run-time to cater for patched
kernels and kernel upgrades underneath Squid.

16 years agoBug 2570: wccp2 "Here I Am" announcements not sent
Amos Jeffries [Wed, 16 Sep 2009 08:18:07 +0000 (20:18 +1200)] 
Bug 2570: wccp2 "Here I Am" announcements not sent

There is a bit of re-work in configuration needed before this can go into
the storage config scope where it belongs. Temporary fix for 3.1.
see bug report for details.

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Thu, 10 Sep 2009 03:23:40 +0000 (15:23 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Cleanup automake-foo a bit in errors/

16 years agoAuthor: Markus Moeller <huaraz@moeller.plus.com>
Henrik Nordstrom [Tue, 8 Sep 2009 21:04:04 +0000 (23:04 +0200)] 
Author: Markus Moeller <huaraz@moeller.plus.com>
Correct squid_kerb_auth compile/link flags to avoid bad runpath settings etc

16 years agoPrep for 3.0.STABLE19
Amos Jeffries [Sun, 6 Sep 2009 10:51:31 +0000 (22:51 +1200)] 
Prep for 3.0.STABLE19

16 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Thu, 3 Sep 2009 12:33:01 +0000 (00:33 +1200)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
Fixed entry size calculation for the max-size cache_dir selection algorithms.

There were two sides of this bug:

In src/store_swapout.cc, we must create metadata earlier because
storeCreate() needs swap_hdr_sz. With swap_hdr_sz unknown at the time of
storeCreate(), the SwapDir selection algorithms may select SwapDirs that
should not really take the entry as the real storage size (with the
metadata swap_hdr_sz) would exceed the store slot size.

In src/store_dir.cc, we must add the metadata size before looking for
cache_dirs that accept objsize. Only the "new"
storeDirSelectSwapDirRoundRobin selection scheme was affected.

16 years agoBug 2734: fix compile errors from CBDATA_CLASS2()
Amos Jeffries [Thu, 3 Sep 2009 12:32:07 +0000 (00:32 +1200)] 
Bug 2734: fix compile errors from CBDATA_CLASS2()

Some compilers don't like the sytax private:;

This makes the starting state explicitly private: instead of assuming its
going to be defined in a private state and dependign on the definer class.

We can cope with not setting the state to private at the end of the macro
as well. It just means the use of this macro must be last, or have an
explicit private/public definition after its use.

16 years agoMake --disable-mempools control MemPool unit-tests
Amos Jeffries [Thu, 3 Sep 2009 12:30:07 +0000 (00:30 +1200)] 
Make --disable-mempools control MemPool unit-tests

16 years agoDiskIO detection fixes and auto-enable
Amos Jeffries [Thu, 3 Sep 2009 12:28:33 +0000 (00:28 +1200)] 
DiskIO detection fixes and auto-enable

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Thu, 3 Sep 2009 12:24:52 +0000 (00:24 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Fixup libxml2 include magics, was failing when a configure cache was used

16 years agoTestBed: polish verbose mode a little
Amos Jeffries [Thu, 3 Sep 2009 12:22:56 +0000 (00:22 +1200)] 
TestBed: polish verbose mode a little

 - make the master script only show the 'lst lines' summary when not
   dumping the entire log anyway for vebose display

 - make verbose mode show whats in the test directory when starting a build.

 - make each run display the list of files/folders after distclean

16 years agoSourceFormat: enforcement
Amos Jeffries [Thu, 3 Sep 2009 12:15:55 +0000 (06:15 -0600)] 
SourceFormat: enforcement

16 years agoSourceFormat: report broken file and continue after errors.
Amos Jeffries [Thu, 3 Sep 2009 12:05:05 +0000 (06:05 -0600)] 
SourceFormat: report broken file and continue after errors.

16 years agoAuthor: Francesco Chemolli <kinkie@squid-cache.org>
Amos Jeffries [Wed, 26 Aug 2009 01:10:45 +0000 (13:10 +1200)] 
Author: Francesco Chemolli <kinkie@squid-cache.org>
Fix some bash-isms in the test-suite.

16 years agoRemove bashism from testHeaders.sh
Amos Jeffries [Sun, 23 Aug 2009 04:23:32 +0000 (16:23 +1200)] 
Remove bashism from testHeaders.sh

16 years agoBug 2745: Invalid response error on small reads
Amos Jeffries [Sun, 23 Aug 2009 04:22:25 +0000 (16:22 +1200)] 
Bug 2745: Invalid response error on small reads

Also adds extra unit-tests for these cases.

16 years agoSilence rm -v on bootstrap
Amos Jeffries [Sun, 23 Aug 2009 04:19:18 +0000 (16:19 +1200)] 
Silence rm -v on bootstrap

Was breaking bootstrap on systems without this argument.

16 years agoAlways display auto-tools versions on bootstrap.
Amos Jeffries [Sun, 23 Aug 2009 04:18:18 +0000 (16:18 +1200)] 
Always display auto-tools versions on bootstrap.

This will better help us identify from build-farm results if we broke a
particular auto-tool support or if its the specific OS implementation /
environment.

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Sun, 23 Aug 2009 04:15:54 +0000 (16:15 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Bug 2541: Hang in 100% CPU loop while extacting header details using a delimiter other than comma

(external_acl_type, access_log_format, external_refresh_check)

strListGetItem() could get stuck in a 100% loop if called with a delimiter
other than ',' and the parsed string contains ','.

This change makes it properly detect ',' as a delimiter even if called
with another delimiter argument like intended. The reason why ',' is always
a delimiter is because this is the delimiter between merged values of a
multi-valued header, and must always be supported as delimiter even if
Cookie uses ';' instead.

16 years agoAuthor: Guido Serassio <serassio@squid-cache.org>
Amos Jeffries [Sun, 23 Aug 2009 04:13:58 +0000 (16:13 +1200)] 
Author: Guido Serassio <serassio@squid-cache.org>
Windows port: fix mswin_negotiate_auth.exe crash when executing a LocalCall authentication with verbose debug enabled

- Also ran source format

16 years agoBug 2747: Compile errors on Solaris 10 with 3.1.0.13
Amos Jeffries [Wed, 19 Aug 2009 05:59:46 +0000 (17:59 +1200)] 
Bug 2747: Compile errors on Solaris 10 with 3.1.0.13

need to include sys/resource.h

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Wed, 19 Aug 2009 05:58:30 +0000 (17:58 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Docs: Improve chroot directive documentation slightly

the directive takes a directory argument, but this wasn't mentioned anywhere..

16 years agoCleanup: Drop obsolete include/squid_mswin.h
Amos Jeffries [Wed, 19 Aug 2009 05:57:36 +0000 (17:57 +1200)] 
Cleanup: Drop obsolete include/squid_mswin.h

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Wed, 19 Aug 2009 05:55:10 +0000 (17:55 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Add 0.0.0.0 as an to_localhost address

Many TCP/IP(v4) stacks aliases 0.0.0.0 as 127.0.0.1.

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Wed, 19 Aug 2009 05:53:57 +0000 (17:53 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Cleanup: Don't use C++ // comments in C files

16 years agoAuthor: Alin Nastac <mrness@gentoo.org>
Amos Jeffries [Wed, 19 Aug 2009 05:48:13 +0000 (17:48 +1200)] 
Author: Alin Nastac <mrness@gentoo.org>
Cleanup: deprecate ugly hack for sys/capability.h

Shuffle libcap v1 hack into libcompat for linux-only

  Needed once to prevent build clashes between libc and sys/capabilility.h
  headers. As of libcap2 that is no longer the case and from 2.26 in fact
  prevents a clean build.

Add detection for libcap to enable the hack only if actually needed.

Add --disable-caps option

  Gentoo requires this to pull in libcap dependencies via --enable-caps
  which is a non-operation.

  Using it to disable libcap usage will explicitly prevent TPROXY which
  depends on it from operating while netfilter NAT support remains.

  NP: The TPROXY v2 configure tests will not even run with caps disabled.

16 years agoBug 2718: FTP sends EPSV2 on ipv4 connection
Amos Jeffries [Wed, 19 Aug 2009 05:26:19 +0000 (17:26 +1200)] 
Bug 2718: FTP sends EPSV2 on ipv4 connection

Switch EPSV attempts based on the FTP control/data Channel IP type.
 * EPSV ALL still sent by preference.
 * EPSV 2 only attempted on IPv6 data links
 * EPSV 1 only attempted on IPv4 data links

Also adds better debugging trace of what is being performed.

16 years agoPolish cache_peer documentation
Amos Jeffries [Tue, 18 Aug 2009 07:53:18 +0000 (19:53 +1200)] 
Polish cache_peer documentation

16 years agoAuthor: Various
Amos Jeffries [Tue, 18 Aug 2009 07:46:55 +0000 (19:46 +1200)] 
Author: Various
Better const-correctness on FTP login parse

Also reduces amount of copying done by the parse. The old version
was copying the entire URL into user/password then cropping it down.
This one only copies the required bytes and terminates the copy.

 Henrik Nordstrom <henrik@henriknordstrom.net>
 Alan Nastac <mrness@gentoo.org>
 Amos Jeffries <squid3@treenet.co.nz>

16 years agoCleanup: docs and some formatting
Amos Jeffries [Tue, 18 Aug 2009 07:45:23 +0000 (19:45 +1200)] 
Cleanup: docs and some formatting

16 years agoDist most recent release notes instead of 3.0 notes
Amos Jeffries [Tue, 18 Aug 2009 07:44:23 +0000 (19:44 +1200)] 
Dist most recent release notes instead of 3.0 notes

16 years agoDrop obsolete 3.0 release notes file from 3.1
Amos Jeffries [Sat, 15 Aug 2009 09:47:33 +0000 (21:47 +1200)] 
Drop obsolete 3.0 release notes file from 3.1

16 years agoAuthor: Cloyce <cloyce.spradling@sun.com>
Amos Jeffries [Wed, 12 Aug 2009 12:07:38 +0000 (00:07 +1200)] 
Author: Cloyce <cloyce.spradling@sun.com>
Bug 2739: DNS resolver option ndots can't be parsed from resolv.conf

A small logic error (probably a typo) in dns_internal.cc prevents squid from
properly reading the ndots option from resolv.conf.

The attached trivial patch fixes the problem.

16 years agoAuthor: Peter Pramberger <peter@pramberger.at>
Amos Jeffries [Wed, 12 Aug 2009 11:52:43 +0000 (23:52 +1200)] 
Author: Peter Pramberger <peter@pramberger.at>
Accept-Language: * wildcard support

Also adds proper discard of junk in Accept-Language: headers.

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Wed, 12 Aug 2009 11:51:23 +0000 (23:51 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Bug 2648: stateful helpers stuck in reserved if client disconnects while helper busy

Note: May depend on the other stateful helper cleanups.

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Wed, 12 Aug 2009 11:50:13 +0000 (23:50 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Extended ntlm/negotiate_test to support helper local thinking time/delays

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Wed, 12 Aug 2009 11:48:43 +0000 (23:48 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Remove support for deferred state in stateful helpers

the deferred state were previously used for the challenge reuse mode
in NTLM, but is since long unused as it was both incompatible with
NTLMv2 and also not very stable for authentication.

16 years agoSupport autoconf 2.64
Amos Jeffries [Wed, 12 Aug 2009 11:24:33 +0000 (23:24 +1200)] 
Support autoconf 2.64

16 years agoTestBed: Add bootstrap tests
Amos Jeffries [Tue, 11 Aug 2009 05:22:15 +0000 (17:22 +1200)] 
TestBed: Add bootstrap tests

Test and run bootstrap. This has the side effect of preparing the sources
for further tests even when configure.in and Makefile.am's have changed.

Also chmod for force removal of old garbage

16 years ago3.1.0.13 SQUID_3_1_0_13
Amos Jeffries [Tue, 4 Aug 2009 13:31:35 +0000 (07:31 -0600)] 
3.1.0.13

16 years agoReal enable HttpReply tests
Amos Jeffries [Tue, 4 Aug 2009 12:28:26 +0000 (06:28 -0600)] 
Real enable HttpReply tests

16 years agoPrep for 3.1.0.13
Amos Jeffries [Tue, 4 Aug 2009 11:03:23 +0000 (23:03 +1200)] 
Prep for 3.1.0.13

16 years agoPrep for 3.0.STABLE18
Amos Jeffries [Tue, 4 Aug 2009 11:01:48 +0000 (23:01 +1200)] 
Prep for 3.0.STABLE18

16 years agoAuthor: Various Translators
Amos Jeffries [Tue, 4 Aug 2009 03:10:15 +0000 (15:10 +1200)] 
Author: Various Translators
Language Updates: Italian, Russian, alias updates and COPYRIGHT

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Sun, 2 Aug 2009 09:54:54 +0000 (21:54 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Bug 2732: reply_body_max_size smaller than error page loops infinitely until out of memory

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Sun, 2 Aug 2009 09:53:20 +0000 (21:53 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Bug 2648: Reserved helpers not shut down after reconfigure/rotate

The race happens if the helpers are restarted(rotate/reconfigure) while
reserved. Those reserved are then not shut down when the reservation is
released.

This patch cleans this up and a couple of other related races.

16 years agoBug 2462: make check should tell when cppunit is missing
Amos Jeffries [Sun, 2 Aug 2009 09:49:53 +0000 (21:49 +1200)] 
Bug 2462: make check should tell when cppunit is missing

16 years agoCleanup: shuffle authenticate*ReleaseServer into member methods.
Amos Jeffries [Sun, 2 Aug 2009 09:48:08 +0000 (21:48 +1200)] 
Cleanup: shuffle authenticate*ReleaseServer into member methods.

No code change. Just removes some more global functions and castings.
Simplifies the duplicate case checking a bit too.

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Sat, 1 Aug 2009 10:09:00 +0000 (22:09 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Use typedefs of the relevant enums for store_status, swap_status and ping_status

To make debugging easier (symbolic states instead of numbers)

16 years agoRemove more goto. Fixing one internal profiler error
Amos Jeffries [Sat, 1 Aug 2009 10:06:49 +0000 (22:06 +1200)] 
Remove more goto. Fixing one internal profiler error

16 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Sat, 1 Aug 2009 10:04:03 +0000 (22:04 +1200)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
Polished r9854 "crash on shutdown" changes by removing explicit String creation.

It should be sufficient to just declare TheNullServices as a constant C string.

When a C string constant is in use, the code becomes less efficient, but
this will be solved when we can go back to using a String class.

16 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Sat, 1 Aug 2009 09:52:18 +0000 (21:52 +1200)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
Bug 2723: enable PURGE requests if PURGE method ACL is present.

PURGE requests were always denied, probably since 2009-06-28 (r9772) changes.

PURGE was denied because Config2.onoff.enable_purge changes done in
ACLMethodData::parse() are lost when Squid memsets Config2 to zero before
interpreting the changes. Config2 is meant for storing values _derived_ from
the primary configuration phase so it is reset after that phase is over.

This patch solves the above problem by storing ACLMethodData::parse() changes
in an ACLMethodData static member. The member is reset before
[re]configuration.

There is probably another problem with r9772 (or earlier) changes. Special
PURGE method processing is enabled whenever a PURGE ACL is detected in the
Squid configuration file, even if the ACL is unused or used in an http_access
option that does not match. This is specifically what r4363 tried to avoid in
year 2000:
     users complain that defining an ACL that is never used in
     an access list shouldn't trip this flag.

The patch does not solve this other problem. The right solution may be adding
a dedicated "purge" option that will have an ACL that controls what PURGE
requests, if any, are allowed to purge. That option would be in addition to
any http_access controls.

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Sat, 1 Aug 2009 09:40:45 +0000 (21:40 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Update comment to reflect code changed years ago

16 years agoAuthor: Lab10 <lab10@bt-anlagenbau.at>
Amos Jeffries [Sat, 1 Aug 2009 08:19:35 +0000 (20:19 +1200)] 
Author: Lab10 <lab10@bt-anlagenbau.at>
Bug 2728 regression: assertion failed: http.cc:705: "!eof"

Catch the zero size reply edge case again.

16 years agoDebugs message about error when headers < minimum size
Amos Jeffries [Wed, 29 Jul 2009 09:28:10 +0000 (21:28 +1200)] 
Debugs message about error when headers < minimum size

16 years agoBug 2725: pconn failure if domain or client_address are unset
Amos Jeffries [Wed, 29 Jul 2009 09:25:10 +0000 (21:25 +1200)] 
Bug 2725: pconn failure if domain or client_address are unset

16 years ago3.1.0.12 SQUID_3_1_0_12
Amos Jeffries [Sun, 26 Jul 2009 22:05:55 +0000 (16:05 -0600)] 
3.1.0.12

16 years agoPrep for 3.1.0.12
Amos Jeffries [Sun, 26 Jul 2009 13:07:49 +0000 (01:07 +1200)] 
Prep for 3.1.0.12

16 years agoPrep for 3.0.STABLE17
Amos Jeffries [Sun, 26 Jul 2009 12:16:10 +0000 (00:16 +1200)] 
Prep for 3.0.STABLE17

16 years agoHack to resolve crash on shutdown from global String(",null,")
Amos Jeffries [Sun, 26 Jul 2009 11:37:50 +0000 (23:37 +1200)] 
Hack to resolve crash on shutdown from global String(",null,")

Not even close to the best solution. But it will get us a running
3.1 release which we need right about now.

16 years agoAdd Unit-Tests for HttpReply
Amos Jeffries [Sun, 26 Jul 2009 10:38:40 +0000 (22:38 +1200)] 
Add Unit-Tests for HttpReply

Just the basics for some needed right now. This needs to be expanded.

Also, required to break some of the mime header parsing calls out into
mime_header.cc in preparation for splitting the icon handling from the
header handling and reduce dependencies on the new tests.

16 years agoBug 2620: Invalid HTTP response codes causes segfault
Amos Jeffries [Sun, 26 Jul 2009 10:36:57 +0000 (22:36 +1200)] 
Bug 2620: Invalid HTTP response codes causes segfault

Harden the sanity checks to detect negative status and other syntax issues
before they have a chance to become problems. This applies to replies and
responses both in varying ways.

Also document the sanity check logics. sanityCheck* is supposed to fill
out the error status for what it detects with each fail result.

16 years agoFix: Initialize HopByHop header mask
Amos Jeffries [Sun, 26 Jul 2009 10:34:31 +0000 (22:34 +1200)] 
Fix: Initialize HopByHop header mask

16 years agoRe-enable unit-tests for src/
Amos Jeffries [Sun, 26 Jul 2009 10:32:17 +0000 (22:32 +1200)] 
Re-enable unit-tests for src/

Somehow they got disabled earlier.

16 years agoTypo in squidclient.1
Amos Jeffries [Sun, 26 Jul 2009 10:31:25 +0000 (22:31 +1200)] 
Typo in squidclient.1

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Sun, 26 Jul 2009 10:30:06 +0000 (22:30 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Fix Via string when leak checking is enabled (valgrind etc)

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Sun, 26 Jul 2009 10:28:38 +0000 (22:28 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Kick any pending *ufs write/close operations alive when the previous write completes

When using uufs only part of the object got written out to the disk,
forgetting to write out the last butes and closing the file.
This should have been seen at least in in diskd as well even if it
for some reason did not seem to show up in simple tests.

16 years agoFix FTP EPSV negotiation parser.
Amos Jeffries [Sun, 26 Jul 2009 10:26:37 +0000 (22:26 +1200)] 
Fix FTP EPSV negotiation parser.

No longer ignores single-value hints returned ie (1)

16 years agoBug 2674: Remove limit on HTTP headers read.
Amos Jeffries [Sun, 26 Jul 2009 10:23:20 +0000 (22:23 +1200)] 
Bug 2674: Remove limit on HTTP headers read.

Headers may be accumulated over more than one read. It does not make
sense to limit the internal copy of the accumulated read buffer to 64KB.

Reverts the internal read buffer to MemBuf defaults. This may cause
issues where headers are of unbounded size. But those are expected to be
caught by the header parser.

Check buffer limits before parsing and return error on all bad parse cases.
No exceptions.

16 years agoTestBed: tighten some testing procedures.
Amos Jeffries [Thu, 23 Jul 2009 13:27:58 +0000 (01:27 +1200)] 
TestBed: tighten some testing procedures.

 * display last 20 lines of test result on failure
   we want to see the real error plus, not just "make Error 1" messages
 * use chmod to improve cleanup removal after (un)install test failures

16 years agoAutoDocs: Doxygen fixups
Amos Jeffries [Thu, 23 Jul 2009 13:24:39 +0000 (01:24 +1200)] 
AutoDocs: Doxygen fixups

16 years agoFix NCSA auth helper include sequence and wrapping
Amos Jeffries [Thu, 23 Jul 2009 12:36:53 +0000 (00:36 +1200)] 
Fix NCSA auth helper include sequence and wrapping

16 years agoAuthor: Thomas-Martin Seck <tmseck@netcologne.de>
Amos Jeffries [Thu, 23 Jul 2009 11:52:45 +0000 (23:52 +1200)] 
Author: Thomas-Martin Seck <tmseck@netcologne.de>
Missing comma in --disable-translations

16 years agoFix SF import loop
Amos Jeffries [Thu, 23 Jul 2009 11:45:02 +0000 (23:45 +1200)] 
Fix SF import loop

16 years agoBug 2716: Chunked request Signed/Unsigned build error
Amos Jeffries [Mon, 20 Jul 2009 10:21:10 +0000 (22:21 +1200)] 
Bug 2716: Chunked request Signed/Unsigned build error

Patch for chunked-requests ported to 3.0 was still omitted when same was
merged to 3.1.

16 years ago3.1.0.11 SQUID_3_1_0_11
Amos Jeffries [Sun, 19 Jul 2009 05:10:58 +0000 (23:10 -0600)] 
3.1.0.11

16 years agoPrep for 3.1.0.11
Amos Jeffries [Sun, 19 Jul 2009 04:43:22 +0000 (16:43 +1200)] 
Prep for 3.1.0.11

16 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Sat, 18 Jul 2009 10:00:17 +0000 (22:00 +1200)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
Bug 2087: Support adaptation sets and chains, including dynamic ICAP chains

  - Support adaptation service sets and chains
    (adaptation_service_set and adaptation_service_chain)

  - Dynamically form chains based on ICAP X-Next-Services header
    (icap_service routing=on)

  - Support cross-transactional ICAP header exchange
    (adaptation_masterx_shared_names)

  An adaptation service set contains similar, interchangeable services. No more
  than one service is successfully applied. If one service is down or fails,
  Squid can use another service. Think "hot standby" or "spare" ICAP servers.

  Sets may seem similar to the existing "service bypass" feature, but they allow
  the failed adaptation to be retried and succeed if a replacement service is
  available. The services in a set may be all optional or all essential,
  depending on whether ignoring the entire set is acceptable. The mixture of
  optional and essential services in a set is supported, but yields results that
  may be difficult for a human to anticipate or interpret. Squid warns when it
  detects such a mixture.

  When performing adaptations with a set, failures at a service (optional or
  essential, does not matter) are retried with a different service if possible.
  If there are no more replacement services left to try, the failure is treated
  depending on whether the last service tried was optional or essential: Squid
  either tries to ignore the failure and proceed or terminates the master
  transaction.

  An adaptation chain is a list of different services applied one after another,
  forming an adaptation pipeline. Services in a chain may be optional or
  essential. When performing adaptations, failures at an optional service are
  ignored as if the service did not exist in the chain.

  Request satisfaction terminates the adaptation chain.

  When forming a set or chain for a given transaction, optional down services
  are ignored as if they did not exist.

  ICAP and eCAP services can be mixed and matched in an adaptation set or chain.

Merged from 3p1-plus branch at r9513.

* Implementation notes

  The notes below focus on _changes_. Adaptation terminology and current layers
  are now being documented in src/adaptation/notes.dox

  Service sets and chains are implemented as ServiceGroup class kids. They are
  very similar in most code aspects. The primary external difference is that
  ServiceSet can "replace" a service and ServiceChain can find the "next"
  service.  The internal search code is implemented in ServiceGroup parent and
  is parametrized by the kids.

  Before the adaptation starts, Squid calculates the adaptation "plan", which is
  just an iterator into the ServiceGroup. The client- and server-side adaptation
  initiators used to deal with Service pointers. They now deal with ServiceGroup
  pointers. The only interesting difference is that a ServiceGroup does not have
  a notion of being optional or essential. Thus, if adaptation start fails, we
  do not know whether the failure can be bypassed. Fortunately, starting an
  adaptation does not require anything that depends on the adaptation services,
  so we now simply assert that the start succeeds.

  If the entire adaptation fails, the callers are notified as before. They are
  told whether they can ignore the failure as before. No changes there.

  A new Adaptation::Iterator class has been added to execute the adaptation
  plan. That class is responsible for iterating the services in a service group
  until the plan is exhausted or cannot progress due to a final failure.

Dynamically form adaptation chains based on the ICAP X-Next-Services header.

  If an ICAP service with the routing=1 option in squid.conf returns an ICAP
  X-Next-Services response header during a successful REQMOD or RESPMOD
  transaction, Squid abandons the original adaptation plan and forms a new
  adaptation chain consisting of services identified in the X-Next-Services
  header value (using a comma-separated list of adaptation service names from
  squid.conf).  The dynamically created chain is destroyed once the new plan is
  completed or replaced.

  This feature is useful when a custom adaptation service knows which other
  services are applicable to the message being adapted.

  Limit adaptation iterations to adaptation_service_iteration_limit to protect
  Squid from infinite adaptation loops caused by ICAP services constantly
  including themselves in the dynamic adaptation chain they request. When the
  limit is exceeded, the master transaction fails. The default limit of 16
  should be large enough to not require an explicit configuration in most
  environments yet may be small enough to limit side-effects of loops.

TODO: Add metadata support to eCAP API and honor X-Next-Services there as
  well. Currently, only ICAP services can form dynamic chains but the formed
  chains may contain eCAP services.

Other improvements:

  Polished adaptation service configuration in squid.conf. Old format with an
  anonymous bypass option is deprecated but still supported. Quit with a fatal
  message if an adaptation service is misconfigured (debugging level-0 messages
  do not seem to work at that stage, but that is probably another, general bug).

  Polished HttpRequest::adaptHistory() interface so that the code that knows the
  history is needed can force history creation without complex
  configuration-time preparations and state. Currently, all adaptation history
  users but the logging-related ones know runtime whether the history must be
  created (e.g., when a certain ICAP header is received).

  Fixed "canonical" Request URL maintenance when ICAP clones requests.
  TODO: The urlCanonical() must become HttpRequest::canonical(), hiding the
  often out-of-sync canonical data member.

  Fixed ICAP request parsing (for ICAP logging). We used to parse Request-Line
  as if it were the first header. TODO: optimize by parsing only when needed.

  Fixed AccessCheck case where a service group disappears during a nb ACL check.
  Replaced "done" member with an existing AsyncJob mustStop mechanism. Removed
  extra async call as unneeded because ACL callbacks are already async.

16 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Sat, 18 Jul 2009 09:40:52 +0000 (21:40 +1200)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
Bug 2459: dns global; ICAP logging; access logging enhancements; ICAP retry support.

  - Bug 2459: dns_error_message global does not work when error handling is delayed

  - Support logging of total DNS wait time to access.log
    (%dt)

  - Support logging response times of adaptation transactions to access.log
    (%adapt::sum_trs and %adapt::all_trs)

  - Enhanced access logging
    (<Hs, <sh, >sh, <pt, <tt, icap::tt, and icap::<last_h in squid.conf)

  - ICAP logging
    (see icap_log and log_icap in squid.conf as well as
    http://wiki.squid-cache.org/Features/AdaptationLog).

  - ICAP retries based on the ICAP responses status code
    (see icap_retry_limit in squid.conf).

Merged from 3p1-plus branch at r9511.

16 years ago3.1.0.10 SQUID_3_1_0_10
Amos Jeffries [Sat, 18 Jul 2009 04:15:45 +0000 (22:15 -0600)] 
3.1.0.10

16 years agoAuthor: Isnard <isnardjaquet@gmail.com>
Amos Jeffries [Sat, 18 Jul 2009 04:02:53 +0000 (16:02 +1200)] 
Author: Isnard <isnardjaquet@gmail.com>
Bug 2080: wbinfo_group.pl - false positive under certain conditions

16 years agoPrep for 3.1.0.10
Amos Jeffries [Fri, 17 Jul 2009 14:07:45 +0000 (02:07 +1200)] 
Prep for 3.1.0.10

16 years agoAuthor: Francesco Chemolli <kinkie@squid-cache.org>
Amos Jeffries [Fri, 17 Jul 2009 13:06:11 +0000 (01:06 +1200)] 
Author: Francesco Chemolli <kinkie@squid-cache.org>
Bug 2611: document fast/slow acl types

Documentation fix: describe in squid.conf.documented what acl
types are fast or slow, and what access clauses only support
fast acls.

16 years agoBug 2680 regression: Crash after rotate with no helpers running
Amos Jeffries [Fri, 17 Jul 2009 13:04:55 +0000 (01:04 +1200)] 
Bug 2680 regression: Crash after rotate with no helpers running

Regression from bug 2276 fix. n_running was used instead of n_active.
Also documents the relevant counters to prevent this recurring.

16 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Fri, 17 Jul 2009 12:56:55 +0000 (00:56 +1200)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
Added server-side debugging to track adaptation access check state better.

16 years agoAuthor: Chris Hills <chaz@chaz6.com>
Amos Jeffries [Fri, 17 Jul 2009 12:54:50 +0000 (00:54 +1200)] 
Author: Chris Hills <chaz@chaz6.com>
Fix NetBSD IPv6 build error

16 years agoTestBed: Truely make distcheck work for all configure levels
Amos Jeffries [Fri, 17 Jul 2009 12:53:46 +0000 (00:53 +1200)] 
TestBed: Truely make distcheck work for all configure levels

Thanks to Alex Rousskov for identifying the necessary environment setting.

16 years agoUpdate squidclient manual and usage documentation.
Amos Jeffries [Wed, 15 Jul 2009 10:15:14 +0000 (22:15 +1200)] 
Update squidclient manual and usage documentation.

Also add tools/ manual files to manuals bundling.

16 years agoAuthor: Luigi Gangitano <luigi@debian.org>
Amos Jeffries [Wed, 15 Jul 2009 10:13:28 +0000 (22:13 +1200)] 
Author: Luigi Gangitano <luigi@debian.org>
squidclient man(1) page

A little out of date now, but its a start and better than nothing.

16 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Wed, 15 Jul 2009 10:11:27 +0000 (22:11 +1200)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
Limit X-Forwarded-For growth.

X-Forwarded-For growth leads to String size limit assertions and probably
other problems.

We now replace huge XFF values with a string "error", warn the admin the
first 100 times, and hope that something will stop the loop (if it is a
loop). TODO: we should probably deny requests with huge XFF.

To make growth-associated problems visible during forwarding loops, the
loop breaking code must be disabled (no Via) or not applicable (direct
forwarding) and request_header_max_size has to be raised or disabled.
The X-Forwarded-For header value may also grow too large for reasons
unrelated to forwarding loops.

This change also prevents most cases of pointless computation of the
original X-Forwarded-For value list. That computation can be quite
expensive.

16 years agov6 Doc Updates
Amos Jeffries [Wed, 15 Jul 2009 10:05:34 +0000 (22:05 +1200)] 
v6 Doc Updates