]> git.ipfire.org Git - thirdparty/squid.git/log
thirdparty/squid.git
15 years agoDrop temporary testbed script. obsolete
Amos Jeffries [Tue, 11 Aug 2009 05:24:06 +0000 (17:24 +1200)] 
Drop temporary testbed script. obsolete

15 years agoHaxk: fix autoconf 2.64 builds
Amos Jeffries [Tue, 11 Aug 2009 03:14:59 +0000 (15:14 +1200)] 
Haxk: fix autoconf 2.64 builds

2.64 requires that the first use of AC_RUN_IFELSE is not wrapped inside
any other macros. Otherwise it will define the setup macros at the wrong
scope level and configure will break during the default type checks.

15 years agoCleanup: docs and some formatting
Amos Jeffries [Mon, 10 Aug 2009 11:51:35 +0000 (23:51 +1200)] 
Cleanup: docs and some formatting

15 years agolinux/types.h may also provide types
Amos Jeffries [Mon, 10 Aug 2009 11:25:23 +0000 (23:25 +1200)] 
linux/types.h may also provide types

15 years agoTestBed: chmod for force removal of old garbage
Amos Jeffries [Sun, 9 Aug 2009 08:13:40 +0000 (20:13 +1200)] 
TestBed: chmod for force removal of old garbage

15 years agoDetect broken libcap better
Amos Jeffries [Sun, 9 Aug 2009 07:31:39 +0000 (19:31 +1200)] 
Detect broken libcap better

libcap v1 is still common and broken.
some libcap2 may also be.

15 years agoBump minimum autoconf back to 2.61
Amos Jeffries [Sun, 9 Aug 2009 03:00:14 +0000 (15:00 +1200)] 
Bump minimum autoconf back to 2.61

15 years agoTestBed: Add bootstrap tests
Amos Jeffries [Sat, 8 Aug 2009 23:58:53 +0000 (11:58 +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.

15 years agoAuthor: Alin Nastac <mrness@gentoo.org>
Amos Jeffries [Sat, 8 Aug 2009 22:56:07 +0000 (10:56 +1200)] 
Author: Alin Nastac <mrness@gentoo.org>
Cleanup: deprecate ugly hack for sys/capability.h

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

Left in libcompat but removed from active build until its clear whether
full erasure is possible or if some systems still need it.

15 years agoBug #2739: DNS resolver option ndots can't be parsed from resolv.conf
Henrik Nordstrom [Sat, 8 Aug 2009 22:08:34 +0000 (00:08 +0200)] 
Bug #2739: DNS resolver option ndots can't be parsed from resolv.conf
Author: Cloyce <cloyce.spradling@sun.com>

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.

15 years agoDocs: dstdomain is a 'FAST' group ACL.
Amos Jeffries [Fri, 7 Aug 2009 12:44:51 +0000 (00:44 +1200)] 
Docs: dstdomain is a 'FAST' group ACL.

15 years agoPolish cache_peer documentation
Amos Jeffries [Fri, 7 Aug 2009 07:19:33 +0000 (19:19 +1200)] 
Polish cache_peer documentation

15 years agoAuthor: Peter Pramberger <peter@pramberger.at>
Amos Jeffries [Fri, 7 Aug 2009 03:37:15 +0000 (15:37 +1200)] 
Author: Peter Pramberger <peter@pramberger.at>
Accept-Language: * wildcard support

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

15 years agoAuthor: Peter Pramberger <peter@pramberger.at>
Amos Jeffries [Wed, 5 Aug 2009 06:36:33 +0000 (18:36 +1200)] 
Author: Peter Pramberger <peter@pramberger.at>
Languages: many more language dialects

16 years agoBug #2648: stateful helpers stuck in reserved if client disconnects while helper...
Henrik Nordstrom [Tue, 4 Aug 2009 14:39:10 +0000 (16:39 +0200)] 
Bug #2648: stateful helpers stuck in reserved if client disconnects while helper busy

Note: May depend on the other stateful helper cleanups.

16 years agoExtended ntlm/negotiate_test to support helper local thinking time/delays
Henrik Nordstrom [Tue, 4 Aug 2009 14:09:12 +0000 (16:09 +0200)] 
Extended ntlm/negotiate_test to support helper local thinking time/delays

16 years agoPrep for 3.1.0.13
Amos Jeffries [Tue, 4 Aug 2009 10:44:55 +0000 (22:44 +1200)] 
Prep for 3.1.0.13

16 years agoPrep for 3.0.STABLE18
Amos Jeffries [Tue, 4 Aug 2009 02:36:03 +0000 (14:36 +1200)] 
Prep for 3.0.STABLE18

16 years agoTypo when reducing stateful helpers flags.reserved to a boolean
Henrik Nordstrom [Mon, 3 Aug 2009 13:27:45 +0000 (15:27 +0200)] 
Typo when reducing stateful helpers flags.reserved to a boolean

A lost ! kind of reintroduced Bug #2648 again but different.. sorry.

16 years agoReduce stateful helpers flags.reserved to a boolean
Henrik Nordstrom [Mon, 3 Aug 2009 10:17:22 +0000 (12:17 +0200)] 
Reduce stateful helpers flags.reserved to a boolean

this is further cleanup of stateful helper state. With the deferred state
now gone reserved is a boolean with only two possible states (free or reserved)

16 years agoRemove support for deferred state in stateful helpers
Henrik Nordstrom [Mon, 3 Aug 2009 10:01:04 +0000 (12:01 +0200)] 
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 agoRename helperStatefulServerKickQueue to helperStatefulServerDone to better reflect...
Henrik Nordstrom [Mon, 3 Aug 2009 09:51:02 +0000 (11:51 +0200)] 
Rename helperStatefulServerKickQueue to helperStatefulServerDone to better reflect it's current functionality

16 years agoResolve merge conflicts
Henrik Nordstrom [Mon, 3 Aug 2009 09:47:18 +0000 (11:47 +0200)] 
Resolve merge conflicts

16 years agomerged from trunk
Henrik Nordstrom [Mon, 3 Aug 2009 09:35:08 +0000 (11:35 +0200)] 
merged from trunk

16 years agoConvert configure.in run-tests from exit to return for autoconf 2.64
Amos Jeffries [Mon, 3 Aug 2009 05:04:46 +0000 (17:04 +1200)] 
Convert configure.in run-tests from exit to return for autoconf 2.64

16 years agoUpdate autoconf macros for configure.in required for autoconf 2.64
Amos Jeffries [Mon, 3 Aug 2009 01:47:53 +0000 (19:47 -0600)] 
Update autoconf macros for configure.in required for autoconf 2.64

Squid-3 has a minimum of 2.62 anyway for several macros.
I'm not sure why it was set back to 2.52!!

16 years agoKill unused helperStatefulReset, redundant with helerStatefulRelease
Henrik Nordstrom [Sun, 2 Aug 2009 23:09:21 +0000 (01:09 +0200)] 
Kill unused helperStatefulReset, redundant with helerStatefulRelease

16 years agoMerged changes from trunk
Henrik Nordstrom [Sun, 2 Aug 2009 23:06:48 +0000 (01:06 +0200)] 
Merged changes from trunk

16 years agoCut away the deferred helper state
Henrik Nordstrom [Sun, 2 Aug 2009 22:54:14 +0000 (00:54 +0200)] 
Cut away the deferred helper state

16 years agoCleanup: Boost helper shutdown debugs and state display
Amos Jeffries [Sun, 2 Aug 2009 09:42:00 +0000 (21:42 +1200)] 
Cleanup: Boost helper shutdown debugs and state display

16 years agoBug #2732: reply_body_max_size smaller than error page loops infinitely until out...
Henrik Nordstrom [Sun, 2 Aug 2009 00:01:01 +0000 (02:01 +0200)] 
Bug #2732: reply_body_max_size smaller than error page loops infinitely until out of memory

16 years agoBug #2648: Reserved helpers not shut down after reconfigure/rotate
Henrik Nordstrom [Sat, 1 Aug 2009 23:26:13 +0000 (01:26 +0200)] 
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 agoAccept libtool 2.x
Henrik Nordstrom [Sat, 1 Aug 2009 21:28:25 +0000 (23:28 +0200)] 
Accept libtool 2.x

16 years agoBug 2462: make check should tell when cppunit is missing
Amos Jeffries [Sat, 1 Aug 2009 12:20:03 +0000 (00:20 +1200)] 
Bug 2462: make check should tell when cppunit is missing

16 years agoEnforce Squid-3 code syles
Amos Jeffries [Sat, 1 Aug 2009 09:48:37 +0000 (21:48 +1200)] 
Enforce Squid-3 code syles

Bracket when mixing assignment and booleans:
  val = (boolean test)
  if ((assignment))
  if ((val = (boolean test)))

16 years agoAuthor: Lab10 <lab10@bt-anlagenbau.at>
Amos Jeffries [Sat, 1 Aug 2009 08:17:56 +0000 (20:17 +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 agoCleanup: shuffle authenticate*ReleaseServer into member methods.
Amos Jeffries [Wed, 29 Jul 2009 09:07:56 +0000 (21:07 +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 agoLanguage Updates: en-us alias
Amos Jeffries [Wed, 29 Jul 2009 02:21:06 +0000 (14:21 +1200)] 
Language Updates: en-us alias

16 years agoUse typedefs of the relevant enums for store_status, swap_status and ping_status...
Henrik Nordstrom [Mon, 27 Jul 2009 21:50:59 +0000 (23:50 +0200)] 
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 agoDebugs message about error when headers < minimum size
Amos Jeffries [Mon, 27 Jul 2009 15:08:12 +0000 (03:08 +1200)] 
Debugs message about error when headers < minimum size

16 years agoRemove more goto. Fixing one internal profiler error
Amos Jeffries [Mon, 27 Jul 2009 13:06:51 +0000 (01:06 +1200)] 
Remove more goto. Fixing one internal profiler error

16 years agoBug 2725: pconn failure if domain or client_address are unset
Amos Jeffries [Mon, 27 Jul 2009 12:03:01 +0000 (00:03 +1200)] 
Bug 2725: pconn failure if domain or client_address are unset

16 years agoPolished r9854 "crash on shutdown" changes by removing explicit String
Alex Rousskov [Mon, 27 Jul 2009 01:51:24 +0000 (19:51 -0600)] 
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 agoBug 2723 fix: enable PURGE requests if PURGE method ACL is present.
Alex Rousskov [Mon, 27 Jul 2009 01:41:02 +0000 (19:41 -0600)] 
Bug 2723 fix: 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 agoconst violation detected by GCC in how ftp.cc parsed login details
Henrik Nordstrom [Sun, 26 Jul 2009 21:22:41 +0000 (23:22 +0200)] 
const violation detected by GCC in how ftp.cc parsed login details

16 years agoUpdate comment to reflect code changed years ago
Henrik Nordstrom [Sun, 26 Jul 2009 21:21:51 +0000 (23:21 +0200)] 
Update comment to reflect code changed years ago

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

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

16 years agoRevert configure changes from b9854
Amos Jeffries [Sun, 26 Jul 2009 11:39:37 +0000 (23:39 +1200)] 
Revert configure changes from b9854

16 years agoHack to resolve crash on shutdown from global String(",null,")
Amos Jeffries [Sun, 26 Jul 2009 11:15:35 +0000 (23:15 +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 09:24:07 +0000 (21:24 +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 09:08:24 +0000 (21:08 +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 04:38:26 +0000 (16:38 +1200)] 
Fix: Initialize HopByHop header mask

16 years agoRe-enable unit-tests for src/
Amos Jeffries [Sat, 25 Jul 2009 15:35:15 +0000 (03:35 +1200)] 
Re-enable unit-tests for src/

Somehow they got disabled earlier.

16 years agoTypo in squidclient.1
Amos Jeffries [Sat, 25 Jul 2009 02:50:48 +0000 (14:50 +1200)] 
Typo in squidclient.1

16 years agoFix signed/unsigned again when comparing header size
Henrik Nordstrom [Fri, 24 Jul 2009 16:30:33 +0000 (18:30 +0200)] 
Fix signed/unsigned again when comparing header size

16 years agoFix Via string when leak checking is enabled (valgrind etc)
Henrik Nordstrom [Fri, 24 Jul 2009 15:52:18 +0000 (17:52 +0200)] 
Fix Via string when leak checking is enabled (valgrind etc)

16 years agoKick any pending *ufs write/close operations alive when the previous write completes
Henrik Nordstrom [Fri, 24 Jul 2009 15:12:47 +0000 (17:12 +0200)] 
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.

Applies all the way down to 3.0.

16 years agoCorrect header limit checks. 64KB max is REQUIRED.
Amos Jeffries [Fri, 24 Jul 2009 12:58:17 +0000 (00:58 +1200)] 
Correct header limit checks. 64KB max is REQUIRED.

This fixes a few issues with too-long URLs or request headers.
Also one issue with too-long reply headers.

TODO: unit-tests to follow.

16 years agoSend fatal error if response header contains a nul-byte
Amos Jeffries [Fri, 24 Jul 2009 11:21:01 +0000 (23:21 +1200)] 
Send fatal error if response header contains a nul-byte

16 years agoAdd omitted break
Amos Jeffries [Thu, 23 Jul 2009 12:27:19 +0000 (00:27 +1200)] 
Add omitted break

16 years agoMake EPSV selection based on data socket protocol.
Amos Jeffries [Thu, 23 Jul 2009 12:13:42 +0000 (00:13 +1200)] 
Make EPSV selection based on data socket protocol.

* EPSV ALL still sent by preference.
* EPSV 2 only attempted on IPv6 data links
* EPSV 1 only attempted on IPv4 data links

16 years agoAuthor: Various Translators
Amos Jeffries [Wed, 22 Jul 2009 10:18:07 +0000 (22:18 +1200)] 
Author: Various Translators
Language Updates

16 years agoAuthor: Various Translators
Amos Jeffries [Wed, 22 Jul 2009 10:09:58 +0000 (22:09 +1200)] 
Author: Various Translators
Language Updates: Italian

Thanks to Launchpad Rosetta Project Translators and Francesco Chemolli

16 years agoAuthor: Various Translators
Amos Jeffries [Wed, 22 Jul 2009 09:58:03 +0000 (21:58 +1200)] 
Author: Various Translators
Language Updates: Arabic manuals updates.

Thanks to Launchpad Rosetta Project Translators

16 years agoAuthor: Various Translators
Amos Jeffries [Wed, 22 Jul 2009 09:25:44 +0000 (21:25 +1200)] 
Author: Various Translators
Language Updates: Russian

Thanks to Launchpad Rosetta Translators.

16 years agoMerged from trunk
Amos Jeffries [Wed, 22 Jul 2009 09:03:01 +0000 (21:03 +1200)] 
Merged from trunk

16 years agoEnsure errors/ always exists for install
Amos Jeffries [Wed, 22 Jul 2009 08:06:10 +0000 (20:06 +1200)] 
Ensure errors/ always exists for install

16 years agoFix SF import loop
Amos Jeffries [Wed, 22 Jul 2009 08:04:04 +0000 (20:04 +1200)] 
Fix SF import loop

16 years agoTestBed: tighten some testign procedures.
Amos Jeffries [Tue, 21 Jul 2009 08:15:54 +0000 (20:15 +1200)] 
TestBed: tighten some testign procedures.

 * only build if bootstrap works
 * 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 agoFix NCSA auth helper include sequence and wrapping
Amos Jeffries [Tue, 21 Jul 2009 08:08:13 +0000 (20:08 +1200)] 
Fix NCSA auth helper include sequence and wrapping

16 years agoInstall TRANSLATORS and COPYRIGHT in errors/ with other files.
Amos Jeffries [Tue, 21 Jul 2009 01:26:04 +0000 (13:26 +1200)] 
Install TRANSLATORS and COPYRIGHT in errors/ with other files.

In theory this will fix:
 install: ./TRANSLATORS and TRANSLATORS are the same file
 *** Error code 64

16 years agoAuthor: Thomas-Martin Seck <tmseck@netcologne.de>
Amos Jeffries [Tue, 21 Jul 2009 01:22:52 +0000 (13:22 +1200)] 
Author: Thomas-Martin Seck <tmseck@netcologne.de>
Missing comma in --disable-translations

16 years agoFix EPSV negotiation parser.
Amos Jeffries [Mon, 20 Jul 2009 14:47:53 +0000 (02:47 +1200)] 
Fix EPSV negotiation parser.

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

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

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

16 years agoFix compile error in non-split-stack builds
Amos Jeffries [Sat, 18 Jul 2009 14:08:46 +0000 (02:08 +1200)] 
Fix compile error in non-split-stack builds

16 years agoSplit-stack: Correct DNS port family, clone http_port
Amos Jeffries [Sat, 18 Jul 2009 07:51:33 +0000 (19:51 +1200)] 
Split-stack: Correct DNS port family, clone http_port

16 years agoUpdate ChangeLog
Amos Jeffries [Sat, 18 Jul 2009 04:01:18 +0000 (16:01 +1200)] 
Update ChangeLog

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

16 years agoAlter easy packaging of manuals. Shell expansion does not work
Amos Jeffries [Sat, 18 Jul 2009 01:49:42 +0000 (19:49 -0600)] 
Alter easy packaging of manuals. Shell expansion does not work

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

16 years agoAdd COPYRIGHT file to langpack
Amos Jeffries [Fri, 17 Jul 2009 13:49:00 +0000 (01:49 +1200)] 
Add COPYRIGHT file to langpack

 * Squid Project lisence without Harvest addendum
 * Rosetta Project requires Berkley open distribution lisence
 * Squid Translators adopting Berkley open distribution lisence
   for compatibility with Squid code lisence and Rosetta lisence

16 years agoSome formatting issues in docs.
Amos Jeffries [Fri, 17 Jul 2009 12:43:09 +0000 (00:43 +1200)] 
Some formatting issues in docs.

Also add mention of one limit to the tcp_outgoing_addr IPv6 magic.

16 years agoBug 2611: document fast/slow acl types
Francesco Chemolli [Fri, 17 Jul 2009 07:39:54 +0000 (09:39 +0200)] 
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 02:49:49 +0000 (14:49 +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 agoBug fix: Server transaction stuck in RESPMOD ACL check if no services matched.
Alex Rousskov [Thu, 16 Jul 2009 18:40:00 +0000 (12:40 -0600)] 
Bug fix: Server transaction stuck in RESPMOD ACL check if no services matched.

AccessCheck job code assumed it was running asynchronously. However, the
job was started synchronously. If the access check result was available
immediately, without any async ACL checks, then AccessCheck would call
the callback immediately, before returning from AccessCheck::Start. The
server-side code would then get confused because it uses the
AccessCheck::Start return value to change its state, and that value was
stale when AccessCheck::Start returned _after_ calling the callback.

We now start AccessCheck job properly, via AsyncStart. All checks are now
performed in a detached async state.

TODO: There are other jobs that are not started asynchronously. Fix.

16 years agoAdded server-side debugging to track adaptation access check state better.
Alex Rousskov [Thu, 16 Jul 2009 18:31:01 +0000 (12:31 -0600)] 
Added server-side debugging to track adaptation access check state better.

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

16 years agoAuthor: Lukas Bögelei <unknown>
Amos Jeffries [Thu, 16 Jul 2009 13:23:24 +0000 (01:23 +1200)] 
Author: Lukas Bögelei <unknown>
Languages: German manual pages started.

Thanks to Rosetta Project.

16 years agomanuals.pot is a Squid-3 translation
Amos Jeffries [Thu, 16 Jul 2009 13:20:17 +0000 (01:20 +1200)] 
manuals.pot is a Squid-3 translation

16 years agoPrep for manuals.pot scripting
Amos Jeffries [Thu, 16 Jul 2009 13:16:44 +0000 (01:16 +1200)] 
Prep for manuals.pot scripting

16 years agoMerged from trunk
Amos Jeffries [Thu, 16 Jul 2009 13:09:06 +0000 (01:09 +1200)] 
Merged from trunk

16 years agoAttempt to bundle manuals the easy way
Amos Jeffries [Thu, 16 Jul 2009 09:49:07 +0000 (21:49 +1200)] 
Attempt to bundle manuals the easy way

16 years agoAuthor: Chris Hills <chaz@chaz6.com>
Amos Jeffries [Wed, 15 Jul 2009 14:39:45 +0000 (02:39 +1200)] 
Author: Chris Hills <chaz@chaz6.com>
Fix NetBSD IPv6 build error

16 years agoRevert Auth changes from b9814
Amos Jeffries [Wed, 15 Jul 2009 11:35:00 +0000 (23:35 +1200)] 
Revert Auth changes from b9814

16 years agoTestBed: Truely make distcheck work for all configure levels
Amos Jeffries [Wed, 15 Jul 2009 11:30:50 +0000 (23:30 +1200)] 
TestBed: Truely make distcheck work for all configure levels

Thanks to Alex Rousskov for identifying the necessary environment setting.

16 years agoLanguages: more alias updates
Amos Jeffries [Wed, 15 Jul 2009 10:57:06 +0000 (22:57 +1200)] 
Languages: more alias updates

Need detected from live traffic again. Linkage for Chinese based on
discussions for district zh_* failover preferences in Ubuntu.

16 years agoAuthor: Markus Moeller <huaraz@moeller.plus.com>
Amos Jeffries [Mon, 13 Jul 2009 04:54:08 +0000 (16:54 +1200)] 
Author: Markus Moeller <huaraz@moeller.plus.com>
Partial Revert revno9803 - realm experiment slipped in

16 years agoSupport adaptation sets and chains, including dynamic ICAP chains:
Alex Rousskov [Mon, 13 Jul 2009 01:20:26 +0000 (19:20 -0600)] 
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.