]> git.ipfire.org Git - thirdparty/squid.git/log
thirdparty/squid.git
15 years ago3.1.0.7 SQUID_3_1_0_7
Amos Jeffries [Wed, 8 Apr 2009 10:49:25 +0000 (04:49 -0600)] 
3.1.0.7

15 years agoPrep for 3.1.0.7
Amos Jeffries [Wed, 8 Apr 2009 10:42:09 +0000 (22:42 +1200)] 
Prep for 3.1.0.7

15 years agoAuthor: Source maintenance
Amos Jeffries [Tue, 7 Apr 2009 14:14:19 +0000 (02:14 +1200)] 
Author: Source maintenance
Source Format enforcement

15 years agoAutoDocs: Upgrade to doxygen 1.5.8 and fix many doc errors.
Amos Jeffries [Tue, 7 Apr 2009 13:16:59 +0000 (01:16 +1200)] 
AutoDocs: Upgrade to doxygen 1.5.8 and fix many doc errors.

Biggest change to note is a cleaner way to do lists of items in function
docs as follows:

  /** blah blah:
   *  - foo
   *  - fu
   *  - fish
   */

15 years agoAuthor: Various Translators
Amos Jeffries [Tue, 7 Apr 2009 13:13:13 +0000 (01:13 +1200)] 
Author: Various Translators
Language Updates: Uzbek, Persian

15 years agoAuthor: Christos Tsantilas <chtsanti@users.sourceforge.net>
Amos Jeffries [Fri, 3 Apr 2009 12:19:09 +0000 (01:19 +1300)] 
Author: Christos Tsantilas <chtsanti@users.sourceforge.net>
Fix libfs linking after SourceLayout changes

Currently the fs related subsystem is broken in trunk, because of
linking problems. This patch:
 - Add the files fs/Module.cc,h which are similar to esi/Module.* files
 - Build a new library libfs.a
 - The  fs/aufs/StoreFSaufs.cc, fs/diskd/StoreFSdiskd.cc and
   fs/ufs/StoreFSufs.cc now contain just fake pointers
 - The FS::Init() method used to build  ufs, aufs and diskd filesystems.
 - The FS::Init method called in main.cc before the code which reads the
   config files. The FS::clean() currently does not used.
 - The coss file system initiated using the old way.

15 years agoAuthor: Christos Tsantilas <chtsanti@users.sourceforge.net>
Amos Jeffries [Mon, 30 Mar 2009 11:54:45 +0000 (00:54 +1300)] 
Author: Christos Tsantilas <chtsanti@users.sourceforge.net>
In ACLFilledChecklist::ACLFilledChecklist constructor the HttpRequest

request parameter hides the ACLFilledChecklist::request member.
As a result acl's do not work at all and some cases squid crashes
(eg when dstdomain acls used)

15 years agoAuthor: Christos Tsantilas <chtsanti@users.sourceforge.net>
Amos Jeffries [Mon, 30 Mar 2009 11:51:28 +0000 (00:51 +1300)] 
Author: Christos Tsantilas <chtsanti@users.sourceforge.net>
Imporing the AuthReg.cc file.

This file is a hack to force required libraries and object files under
the auth/* included in main squid executable.

15 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Mon, 30 Mar 2009 11:44:37 +0000 (00:44 +1300)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
SourceLayout: esi/, take 1

Moved src/ESI* files into src/esi/.
Renamed ESI source files from ESIFoo.{cc,cci,h} to Foo.{cc,cci,h}.

Replaced implicit constructor-based Parser registration with an explicit call
to Esi::Init() which knows of all ESI parsers. Added Esi::Clean counterpart.

Made libTrie build conditional on ESI support being enabled.

No true source code changes except for parser initialization.
No functionality changes were intended.
No runtime tests with ESI performed.

TODO: I did not move the tests/ESIExpressions test into src/esi because
  we need to fix the entire testing layout before we should start
  moving individual tests: They currently depend on individual source
  and object files in src/ and in tests/ and that kind of dependency
  should not be multiplied but removed.

TODO: Move ESI types into the Esi namespace.

15 years agoAuthor: Christos Tsantilas <chtsanti@users.sourceforge.net>
Amos Jeffries [Mon, 30 Mar 2009 11:34:05 +0000 (00:34 +1300)] 
Author: Christos Tsantilas <chtsanti@users.sourceforge.net>
Add to the squid binary dependecies.

The snmplib, the adaptation lib, the esi lib and the common libs to force
the squid binary rebuild when one or more of those libraries are changed

15 years agoCompat: Shuffle semi-duplicate min/max alternatives all into libcompat
Amos Jeffries [Mon, 30 Mar 2009 11:22:41 +0000 (00:22 +1300)] 
Compat: Shuffle semi-duplicate min/max alternatives all into libcompat

15 years agoTestBed: Add various undefined errors to reported
Amos Jeffries [Fri, 27 Mar 2009 22:13:35 +0000 (11:13 +1300)] 
TestBed: Add various undefined errors to reported

15 years agoAuthor: Christos Tsantilas <chtsanti@users.sourceforge.net>
Amos Jeffries [Fri, 27 Mar 2009 22:05:59 +0000 (11:05 +1300)] 
Author: Christos Tsantilas <chtsanti@users.sourceforge.net>
Fix ACL registrations.

The defines ENABLE_SSL, ENABLE_ARP_ACL, ENABLE_IDENT are never defined.
The correct defines are USE_SSL, USE_ARP_ACL and USE_IDENT respectivelly

Move registration code of max_user_ip, proxy_auth and proxy_auth_regex
acls from src/auth/Acl*  into the src/AclRegs.cc

15 years agoAuthor: Christos Tsantilas <chtsanti@users.sourceforge.net>
Amos Jeffries [Fri, 27 Mar 2009 21:47:43 +0000 (10:47 +1300)] 
Author: Christos Tsantilas <chtsanti@users.sourceforge.net>
Fix the wrong "ifndef" in the beggining of the ExtUser.h file.

The old "SQUID_ACLIDENT_H" refers to the include file "acl/Ident.h"
causing problems when both files included in a source file.

15 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Fri, 27 Mar 2009 21:39:03 +0000 (10:39 +1300)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
Fixed typo: checkCallback should call the parent checkCallback method

15 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Mon, 23 Mar 2009 10:32:33 +0000 (23:32 +1300)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
TestBed: Support multiple test spec arguments.

If at least one test fails, the script exits with a non-zero code (but
possibly not immediately, see --keep-going).

Each test spec is a test config file name or a well-known config name
(no path or extension!). If no specs are given, all known test specs are
used (as before). The same happens if the only test spec given is 'all'.
The following are now equivalent:

    ./test-builds.sh
    ./test-builds.sh all
    ./test-builds.sh btlayer-00-default btlayer-01-minimal btlayer-02-maximus
    ./test-builds.sh test-suite/buildtests/layer-*

You can mix file names and spec names, but not the 'all' macro: There is
currently no support for using 'all' together with other test cases.

Tolerate individual test errors if --keep-going is specified. This helps
when one wants to find more errors than just the first one, especially
when tests are long and are running without a human watching.

When detecting test failures, rely on test-suite/buildtest.sh exit
status code rather than on the presence of error-like strings in the log
file.

15 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Thu, 19 Mar 2009 04:27:38 +0000 (16:27 +1200)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
Fixed the problem with Squid executable missing code to process ACLs.

The solution will probably be replaced by a better one eventually.

15 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Thu, 19 Mar 2009 03:45:56 +0000 (15:45 +1200)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
SourceLayout: acl/, take 1

Moved src/ACL* and a few related files into src/acl/.
Renamed ACL source files from ACLFoo.{cc,cci,h} to Foo.{cc,cci,h}.

Added acl/ libraries, reorganized auth/ libraries, and split ACLChecklist
class to avoid circular dependencies among libraries.

Many targets in src/Makefile.am depended on selected ACL ACL*cc and related
sources.  These targets depend on acl/* libraries now. As a part of this
cleanup, the number of ufsdump sources went from about 160 to about 20.

No functionality changes were intended. Source code changes were kept to the
minimum. All my build tests are successful. However, since I had to move a lot
of files, move some code pieces, and split ACLChecklist, it is possible that
some targets will no longer build in some environments and some authentication
code will break.

Please see individual commit messages for details.
( Ref: 3.HEAD/3.2 rev 9573)

15 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Thu, 19 Mar 2009 03:13:10 +0000 (15:13 +1200)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
Fixed subdir handling when USE_LOADABLE_MODULES is false.

DIST_SUBDIRS was defined incorrectly. Moreover, we do not need to define
DIST_SUBDIRS because the default works:

  "If `SUBDIRS' is defined conditionally using Automake conditionals,
  Automake will define `DIST_SUBDIRS' automatically from the possibles
  values of `SUBDIRS' in all conditions."

The bug was exposed by ./test-builds.sh layer-01-minimal with "make distcheck"
test added.

15 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Thu, 19 Mar 2009 03:01:16 +0000 (15:01 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Make GCC-4.4 happy

15 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Sun, 8 Mar 2009 13:30:35 +0000 (02:30 +1300)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
SourceLayout: src/auth, src/fs

 src/auth take 0: Moved src/AuthFoo* to src/auth/Foo*, polished.

 src/fs, take 0: Polished Makefiles.

These fixes should have no runtime effects and were triggered by an attempt to
make "make distclean" work.

TODO: add Auth and Fs namespaces, rename classes.

15 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Sun, 8 Mar 2009 13:26:07 +0000 (02:26 +1300)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
SourceLayout: adaptation/{icap,ecap}, take 1 with tweaks

Moved src/ICAP into src/adaptation/icap.
Moved src/eCAP into src/adaptation/ecap.

Renamed ICAP source files from ICAPFoo.{cc,h} to Foo.{cc,h}.

Placed ICAP names into Adaptation::Icap namespace, renaming ICAPFoo to
Adaptation::Icap::Foo.

Moved Ecap namespace into Adaptation namespace.

15 years agoFix several issues in translation uncovered by further testing.
Amos Jeffries [Sun, 8 Mar 2009 13:05:01 +0000 (02:05 +1300)] 
Fix several issues in translation uncovered by further testing.

15 years agoAuthor: Various Translators
Amos Jeffries [Sun, 8 Mar 2009 12:46:32 +0000 (01:46 +1300)] 
Author: Various Translators
Languages: Chinese, Greek, Persian, Uzbek and some Updates

Adds initial support for RTL languages with Persian as the first.

15 years agoAuthor: Various
Amos Jeffries [Sun, 8 Mar 2009 12:27:41 +0000 (01:27 +1300)] 
Author: Various
TestBed: Several capability additions and fixes

Henrik Nordstrom:
  Allow out-of-tree builds and separate .opts files

Francesco Chemolli:
  Add parallel make capability under Linux

Amos Jeffries:
 Several fixes. Better information reporting

15 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Sun, 8 Mar 2009 11:46:19 +0000 (00:46 +1300)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
SourceLayout: src/base, take 0 with tweaks

Added src/base directory for fundamental, commonly-used code pieces that are
not large enough to warrant their own directories. Currently base/ contains
the beginning of AsyncCalls hierarchy, which may eventually get its own
directory.

Removed src/ip from the top-level SUBDIRS list. Made cf_gen compile without
libip.

Started building makefile includes, to be used in subdir makefiles:
src/Common.am and src/TestHeaders.am.

15 years agoSourceLayout: setup libcompat.la for portability primitives
Amos Jeffries [Tue, 3 Mar 2009 02:52:23 +0000 (15:52 +1300)] 
SourceLayout: setup libcompat.la for portability primitives

This library forms an underlayer which intends to be seamless for the rest
of Squid and the various OS on which it runs.

For code to be eligible for inclusion at this lowest layer it must be
emulating or wrapping a piece of OS-provided API for use on other OS
where it is not provided.

Shared code which is unique to Squid is not portability.

API mappings which are OS-specific are all defined for their particular
OS in the os/* files.

API mappings which are provided by multiple OS or support libraries
are mapped in compat/*

Emulators are acceptable, though the aim should be to inline or template
most of the code so only .h are really needed.

15 years agoAuthor: Francesco Chemolli <kinkie@squid-cache.org> SQUID_3_1_0_6
Amos Jeffries [Mon, 2 Mar 2009 10:10:46 +0000 (23:10 +1300)] 
Author: Francesco Chemolli <kinkie@squid-cache.org>
Fixed String search

15 years agoRegression Bug 2608: Build broken by Linux basename() implementation.
Amos Jeffries [Mon, 2 Mar 2009 03:49:21 +0000 (16:49 +1300)] 
Regression Bug 2608: Build broken by Linux basename() implementation.

15 years ago3.1.0.6
Amos Jeffries [Sun, 1 Mar 2009 11:20:33 +0000 (04:20 -0700)] 
3.1.0.6

15 years agobasename requires libgen.h
Amos Jeffries [Sun, 1 Mar 2009 11:15:17 +0000 (00:15 +1300)] 
basename requires libgen.h

15 years agoPrep for 3.1.0.6
Amos Jeffries [Sun, 1 Mar 2009 09:45:13 +0000 (22:45 +1300)] 
Prep for 3.1.0.6

15 years agoSync ChangeLog and ReleaseNotes
Amos Jeffries [Sun, 1 Mar 2009 04:40:28 +0000 (17:40 +1300)] 
Sync ChangeLog and ReleaseNotes

15 years agoPromote byte-units parse message to a full warning message.
Amos Jeffries [Sun, 1 Mar 2009 04:00:22 +0000 (17:00 +1300)] 
Promote byte-units parse message to a full warning message.

This is very important to the parser and some configuration settings.

15 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Sun, 1 Mar 2009 03:58:12 +0000 (16:58 +1300)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
Fixed "make distuninstallcheck" by removing installed configuration files

Only if they are identical to the installed default configuration files.

Added scripts/remove-cfg.sh to do the safe removal because we need that
functionality in many Makefiles.

Made installed mime.conf removal safe. We were removing it without checking
for modifications.

Added commands to remove the following installed default configuration
files: cachemgr.conf.default and msntauth.conf.default.

15 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Sun, 1 Mar 2009 03:55:17 +0000 (16:55 +1300)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Fix missing documentation for auth_param utf8 translation feature.

Missed out of original Squid-3 patch.

15 years agoImprove documentation of vary_ignore_expire
Amos Jeffries [Sun, 1 Mar 2009 03:53:36 +0000 (16:53 +1300)] 
Improve documentation of vary_ignore_expire

15 years agoAdd MYNAME macro for use in debugs
Amos Jeffries [Sun, 1 Mar 2009 03:50:49 +0000 (16:50 +1300)] 
Add MYNAME macro for use in debugs

Also, add basename() to HERE macro for cleaner debugs.

TODO: determine what OS and compilers are missing __PRETTY_FUNCTION__
      and define a good alternative for them.

15 years agoChristos Tsantilas <chtsanti@users.sourceforge.net>
Amos Jeffries [Sun, 1 Mar 2009 03:32:39 +0000 (16:32 +1300)] 
Christos Tsantilas <chtsanti@users.sourceforge.net>
Regression revert r9426: Bug 2586: Memory leaks on reconfigure

The patch is not correct. Some of the objects freed here can be in use
during reconfigure.

15 years agoCorrect debugs output from tunnel comm error
Amos Jeffries [Sun, 1 Mar 2009 03:28:45 +0000 (16:28 +1300)] 
Correct debugs output from tunnel comm error

15 years agoAuthor: Mark Nottingham <mnot@pobox.com>
Amos Jeffries [Sun, 1 Mar 2009 03:25:23 +0000 (16:25 +1300)] 
Author: Mark Nottingham <mnot@pobox.com>
Bug 2599: Idempotent start

As discussed on squid-dev, Squid shouldn't return a shell error when:
  - starting squid, if it's already running
  - stopping squid, if it isn't running
This is to make writing scripts that control squid easier.

Note that it should still notify the user, and should not affect other
operations (e.g., kill, rotate, parse).

15 years agoMake broken_posts feature is an HTTP violation.
Amos Jeffries [Sun, 1 Mar 2009 03:19:24 +0000 (16:19 +1300)] 
Make broken_posts feature is an HTTP violation.

broken_posts control when enabled is committing an RFC2616 violation.

This patch limits it's use to builds with explicit --enable-http-violations.

TODO: I think its complete, but there may be more code to limit out.

15 years agoAuthor: Christos Tsantilas <chtsanti@users.sourceforge.net>
Amos Jeffries [Sun, 1 Mar 2009 03:06:42 +0000 (16:06 +1300)] 
Author: Christos Tsantilas <chtsanti@users.sourceforge.net>
Bug 2591: adaptation_access does not work

An access checklist required for each service set, so we need only one
AccessRule object for each adaptation service set

This patch:
- When parses an adaptation_access line, checks if an AccessRule object exists
  for the service set and if yes append the access checklist to this object else
  creates a new AccessRule object for this service set

- The AccessRule constructor takes as argument now the reference service set
  name (groupId)

- The new Adaptation::FindRuleByGroupId method created. This method returns
  the AccessRule object for a service set using its name (groupId)

- When an AccessRule for a service group exist in AccessRules
  list do not add it again in the list.

- Fix adaptation service config parsing

15 years agoAuthor: Francesco Chemolli <kinkie@squid-cache.org>
Amos Jeffries [Sun, 1 Mar 2009 02:57:49 +0000 (15:57 +1300)] 
Author: Francesco Chemolli <kinkie@squid-cache.org>
String NG : basic SquidString updates pt 2

  - finished the analysis of raw buffer exporting, divided among c-sting
  and raw-buf access clients
  - general sanitization
  - reversal of some wrongly-renamed variables and comments
  - implementation of SQUIDSTRINGPRINT and SQUIDSTRINGPH (placeholder) macros and
      psize() function for printf-style calls
  - implementation of, and migration to, String::size_type and String::npos
  - de-inlining of pos(), rpos(), find() and rfind() calls
  - implementation and use of a proper substr() call

15 years agoBug 2601: Hack. Convert IPv4 netmasks to CIDR in IPv6-enabled mode
Amos Jeffries [Sat, 28 Feb 2009 13:14:14 +0000 (02:14 +1300)] 
Bug 2601: Hack. Convert IPv4 netmasks to CIDR in IPv6-enabled mode

see bug 2601 for trace demonstrating the effect of masking an IPv6 address
with and IPv4 netmask intead of a CIDR mask.

This hack, locates what CIDR mask was _probably_ meant to be in its
native protocol format. Then resets the mask to that CIDR form.

This will completely crap out with a security fail-open if the admin is
playing mask tricks.  However, thats their fault, and we do warn loudly.

Also adds deugs for tracing ACLIP comparisons.

15 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Sat, 28 Feb 2009 12:32:16 +0000 (01:32 +1300)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Correct parsing of syslog:... log files. Was destroying the configured parameters.

Forward-port from squid-2. Detected by GCC-4.4.

15 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Sat, 28 Feb 2009 12:08:52 +0000 (01:08 +1300)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Support libtool2

15 years agoObsolete: dependency on nss_common.h and nss.h
Amos Jeffries [Wed, 18 Feb 2009 01:43:09 +0000 (14:43 +1300)] 
Obsolete: dependency on nss_common.h and nss.h

Squid-3 currently make no internal reference to any of its symbols.

Squid appears to build and run just fine despite this header being
detected as 'broken' during Squid build tests for some time.

15 years agoBug 2287: Send a 505 on requests with unsupported HTTP versions
Amos Jeffries [Wed, 18 Feb 2009 01:30:35 +0000 (14:30 +1300)] 
Bug 2287: Send a 505 on requests with unsupported HTTP versions

Squid currenty accepts requests with well-formed 0.9, 1.0, and 1.1 versions
and one special case of missing version (assumed to be 0.9 legacy requests)

All others including well-formed 0.x < 0.9 are now aborted with a
HTTP 1.1 compliant 505 Version Not Supported error.

15 years agoBug 419: Hop by Hop headers MUST NOT be forwarded
Amos Jeffries [Wed, 18 Feb 2009 01:19:56 +0000 (14:19 +1300)] 
Bug 419: Hop by Hop headers MUST NOT be forwarded

This attempt builds on Henriks re-work of the client-request to
server-request cloning done since the last attempt was made at closing
this bug.

Adds all RFC 2616 listed Hop-by-hop headers to the clone selection test
as 'ignore' cases unless otherwise handled already.

The test for whether they exist in Connection: is moved to the default
case as an inline. Which reduces the code a fair bit and prevents the
side case where a specially handled header gets ignored because the
client explicitly added it to Connection: when it did not have to.

This method sets up a background default of not passing the hop-by-hop
headers while allowing any code which explicitly sets or copies the
headers across to operate as before without interference.

15 years agoBug 2593: Compile errors on Solaris 10
Amos Jeffries [Tue, 17 Feb 2009 23:47:01 +0000 (12:47 +1300)] 
Bug 2593: Compile errors on Solaris 10

15 years agoAuthor: Christos Tsantilas <chtsanti@users.sourceforge.net>
Amos Jeffries [Tue, 17 Feb 2009 23:27:13 +0000 (12:27 +1300)] 
Author: Christos Tsantilas <chtsanti@users.sourceforge.net>
Regression Fix: Bug 2586: adaptation memory leaks on reconfigure

The patch is wrong: on shutdown calls Adaptation::Config::DestroyConfig,
twice causing segmentation fault.

15 years agoParser should talk about auth_param not authparam
Amos Jeffries [Sun, 15 Feb 2009 13:14:37 +0000 (02:14 +1300)] 
Parser should talk about auth_param not authparam

15 years agoCleanup malloc stats display
Amos Jeffries [Sun, 15 Feb 2009 13:07:56 +0000 (02:07 +1300)] 
Cleanup malloc stats display

15 years agoMemory leak on PconnPools
Amos Jeffries [Sun, 15 Feb 2009 13:04:18 +0000 (02:04 +1300)] 
Memory leak on PconnPools

Need to free the Pconn hash table properly.
constructor/desctructor are both required.

15 years agoAuthor: Francesco Chemolli <kinkie@squid-cache.org>
Amos Jeffries [Sun, 15 Feb 2009 13:01:35 +0000 (02:01 +1300)] 
Author: Francesco Chemolli <kinkie@squid-cache.org>
Cleanups: Remove code handling K&R-style varargs.

It should be a safe enough bet that any C++ compiler can handle STDC-style varargs.
This patch removes all the (mostly spaghetti) code which used to handle K&R-style varargs calls.

15 years agoAuthor: Francesco Chemolli <kinkie@squid-cache.org>
Amos Jeffries [Sun, 8 Feb 2009 10:09:43 +0000 (23:09 +1300)] 
Author: Francesco Chemolli <kinkie@squid-cache.org>
String NG : fixes initial merge, take 2

Compared to the retired first attempt it:
 - fixes the issues Tsantilas Christos found out about
 - implements String::find
 - some more users analyzed and fixed.

15 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Sun, 8 Feb 2009 08:15:51 +0000 (21:15 +1300)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Support HTTP/0.9 in accelerator mode

HTTP/0.9 requests do not have a HTTP header, fruitless to try to parse
a non-existing header.

Also send the right error page if header parsing fails (ERR_INVALID_REQ, not _URL)

15 years agoBug 2588: coredump in rDNS lookup
Amos Jeffries [Sun, 8 Feb 2009 08:13:49 +0000 (21:13 +1300)] 
Bug 2588: coredump in rDNS lookup

Handle rDNS of invalid IP gracefully.

15 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Sun, 8 Feb 2009 08:06:19 +0000 (21:06 +1300)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
external_acl_type %<{ and %USER_CERT_ / %CA_CERT_ parsing brokenness

The parsing of external_acl_type formats was sligtly broken, destroying
%<{ (request header) if SSL was enabled and never able to parse %USER_CERT_
or %CA_CERT_..

Also clarified request/reply header syntax slightly

15 years agoBug 2526: pt 2: default ALLOW when no list specified.
Amos Jeffries [Sun, 8 Feb 2009 06:32:54 +0000 (19:32 +1300)] 
Bug 2526: pt 2: default ALLOW when no list specified.

Fallout from audit of access control checks.
 - Some got sensible defaults added
 - many got slightly more optimized defaults
 - documented the ACLChecklist interface and some API cleanups

15 years agoAuthor: Christos Tsantilas <chtsanti@users.sourceforge.net>
Amos Jeffries [Sun, 8 Feb 2009 06:21:50 +0000 (19:21 +1300)] 
Author: Christos Tsantilas <chtsanti@users.sourceforge.net>
Bug 2586: adaptation memory leaks on reconfigure

15 years agoAuthor: Christos Tsantilas <chtsanti@users.sourceforge.net>
Amos Jeffries [Sat, 7 Feb 2009 02:40:32 +0000 (15:40 +1300)] 
Author: Christos Tsantilas <chtsanti@users.sourceforge.net>
Bug 2586: Memory leaks on reconfigure

15 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Sat, 7 Feb 2009 02:15:30 +0000 (15:15 +1300)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Corret squidclient HTTP/0.9 support

Sends no headers with HTTP/0.9 requests.

15 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Sat, 7 Feb 2009 02:02:39 +0000 (15:02 +1300)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Need to kick all deferred reads when a delaypool is updated, otherwise things queue up too long.

The chaos SHOULD be addressed by randomizing the order...
(not yet done. XXX comment addded in comm.cc)

15 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Sat, 7 Feb 2009 01:59:29 +0000 (14:59 +1300)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Only account for read ftp data in delay pools once, not twice.

The same data was accounted for twice in the delay pools resulting in
half of the expected rate.

15 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Sat, 7 Feb 2009 01:57:47 +0000 (14:57 +1300)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Most configure test programs need stdlib.h for exit()

15 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Wed, 4 Feb 2009 12:03:01 +0000 (01:03 +1300)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Move -DDFAULT_SQUID_DATA_DIR & CONFIG_DIR from CFLAGS to DEFS

For some reason gcc on OpenBSD does not like having these in CFLAGS
when running configure. However works fine having them expanded in
src/Makefile DEFS variable just like -DDEFAULT_SQUID_CONFIG_FILE

15 years ago3.1.0.5 SQUID_3_1_0_5
Amos Jeffries [Tue, 3 Feb 2009 01:14:48 +0000 (18:14 -0700)] 
3.1.0.5

15 years agoPrep for 3.1.0.5
Amos Jeffries [Tue, 3 Feb 2009 01:11:37 +0000 (14:11 +1300)] 
Prep for 3.1.0.5

15 years agoFixup parsing of invalid version numbers
Amos Jeffries [Mon, 2 Feb 2009 12:59:34 +0000 (01:59 +1300)] 
Fixup parsing of invalid version numbers

15 years agoTypo in half_closed_clients documentation
Amos Jeffries [Mon, 2 Feb 2009 11:22:54 +0000 (00:22 +1300)] 
Typo in half_closed_clients documentation

15 years agoAdd --enable-x-accelerator-vary to TestBed
Amos Jeffries [Mon, 2 Feb 2009 11:20:28 +0000 (00:20 +1300)] 
Add --enable-x-accelerator-vary to TestBed

15 years agoAuthor: Christos Tsantilas <chtsanti@users.sourceforge.net>
Amos Jeffries [Mon, 2 Feb 2009 11:16:21 +0000 (00:16 +1300)] 
Author: Christos Tsantilas <chtsanti@users.sourceforge.net>
Bug 2583: pure virtual method called

Inside the Adaptation::Initiator::announceInitiatorAbort method the check
x==NULL is not enough. We must also check if the x variable (of type Initiate)
is valid.

15 years agoHandle all unknown HTTP/* as HTTP/0.9
Amos Jeffries [Mon, 2 Feb 2009 11:13:07 +0000 (00:13 +1300)] 
Handle all unknown HTTP/* as HTTP/0.9

Assume that all requests are HTTP/0.9 unless explicity stated otherwise.
Drop assert on missing or overflow numeric cases.

15 years agoLanguage: Arabic
Amos Jeffries [Mon, 2 Feb 2009 11:07:04 +0000 (00:07 +1300)] 
Language: Arabic

15 years agoAuthor: Christos Tsantilas <chtsanti@users.sourceforge.net>
Amos Jeffries [Mon, 2 Feb 2009 11:00:12 +0000 (00:00 +1300)] 
Author: Christos Tsantilas <chtsanti@users.sourceforge.net>
Fix assertion in comm_write from idnsSentQueryVC

The idnsSentQueryVC function called as AsyncCall. There is the possibility
when this function called the fd has start closing but not realy closed yet.
In this case this function will try to do a comm_write (idnsDoSendQueryVC
function) on sockect which closing and an assertion will triggered.
An extra test needed here to test if the socket closing and if yes just return.

15 years agoAuthor: Christos Tsantilas <chtsanti@users.sourceforge.net>
Amos Jeffries [Mon, 2 Feb 2009 09:43:27 +0000 (22:43 +1300)] 
Author: Christos Tsantilas <chtsanti@users.sourceforge.net>
Bug 2524: Connection close failed on Partial Content

The method ClientSocketContext::socketState in the case of partial content
request when all the expected bytes received and the proxy_keepalive flag is
not set must return STREAM_UNPLANNED_COMPLETE to inform the caller that the
socket should closed.

15 years agoRollback r9407. Bad attribution
Amos Jeffries [Mon, 2 Feb 2009 07:09:28 +0000 (20:09 +1300)] 
Rollback r9407. Bad attribution

15 years agoAuthor: Christos Tsantilas <chtsanti@users.sourceforge.net>
Amos Jeffries [Mon, 2 Feb 2009 07:06:00 +0000 (20:06 +1300)] 
Author: Christos Tsantilas <chtsanti@users.sourceforge.net>
Bug 2505: assertion failed: comm.cc:350: "!fd_table[fd].closing()" (comment #12,bug 2505)

This patch fixes the bug reported in comment #12 of bug 2505.
In the DeferredReadManager::kickARead method it is possible that the socket in
which refers a DeferredRead object has been closed, but the DeferredReadManager
is not informed yet because the related comm_close handler has not been
executed yet.
This patch checks the socket state and if it is closing just ignore the object.

15 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Mon, 2 Feb 2009 07:01:19 +0000 (20:01 +1300)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
Bug 2505: assertion failed: comm.cc:1727: "p == call"

Do not assert that the close handler being removed must be in
the list because comm_close removes all close handlers before any FD handlers
are fired.

There also seems to be an unrelated(?) problem: comm_remove_close_handler
does not really remove the callback. It only cancels the call. It should
probably remove the callback as well to prevent an unlikely situation where
the close handler list grows "too much".

15 years agoBug 2524: Connection close failed on Partial Content
Amos Jeffries [Mon, 2 Feb 2009 06:57:42 +0000 (19:57 +1300)] 
Bug 2524: Connection close failed on Partial Content

The method ClientSocketContext::socketState in the case of partial content
request when all the expected bytes received and the proxy_keepalive flag is
not set must return STREAM_UNPLANNED_COMPLETE to inform the caller that the
socket should closed.

15 years agoAuthor: Martin Huter <m.huter@phion.com>
Amos Jeffries [Mon, 2 Feb 2009 06:54:38 +0000 (19:54 +1300)] 
Author: Martin Huter <m.huter@phion.com>
Bug 2563: 99+% CPU Usage on FTP URL

15 years agoFix memory leak from logformat parsing
Amos Jeffries [Mon, 2 Feb 2009 06:27:00 +0000 (19:27 +1300)] 
Fix memory leak from logformat parsing

15 years agoDrop special localhost conversion.
Amos Jeffries [Mon, 2 Feb 2009 06:24:58 +0000 (19:24 +1300)] 
Drop special localhost conversion.

This was done as an experiment. It's now an RFC violation.
With no known uses it can easily die.

15 years agoMake configure use AC_MSG_NOTICE and AC_MSG_WARN
Amos Jeffries [Mon, 2 Feb 2009 06:22:58 +0000 (19:22 +1300)] 
Make configure use AC_MSG_NOTICE and AC_MSG_WARN

These macros are cleaner on the output than custom echo messages.
Makes quiet build truely quiet for the main squid configure.in.

TODO: sub-configures.

15 years agoMake configure tests use C++ instead of C
Amos Jeffries [Mon, 2 Feb 2009 06:16:06 +0000 (19:16 +1300)] 
Make configure tests use C++ instead of C

15 years agoBug 2571: pt 1: Add DNS failover to use IPv4-only listen when IPv6 fails.
Amos Jeffries [Mon, 2 Feb 2009 06:04:01 +0000 (19:04 +1300)] 
Bug 2571: pt 1: Add DNS failover to use IPv4-only listen when IPv6 fails.

TODO: there are other ports to check for this same behavior.

15 years agoadd content area for CSS of cfgman pages
Amos Jeffries [Sun, 1 Feb 2009 10:25:03 +0000 (23:25 +1300)] 
add content area for CSS of cfgman pages

15 years agoFix link error on ufsdump
Amos Jeffries [Sun, 1 Feb 2009 10:21:03 +0000 (23:21 +1300)] 
Fix link error on ufsdump

It appears that libmiscutil MUST be linked after all used local .la libs
or it's symbols may get dropped.

15 years agoAuthor: Adrian Chadd <adrian@creative.net.au>
Amos Jeffries [Sun, 1 Feb 2009 10:16:26 +0000 (23:16 +1300)] 
Author: Adrian Chadd <adrian@creative.net.au>
Bug 2558: pt 1: Connect forwarding setting error too early

This does not appear to be all of the cause of 2558, but its part of the
problem anyway. Request forwarding should not be setting a connection
failed error page until all attempts at making a connection have failed.
This patch does not correct the place its being set, but clears err before
re-trying a connection.

From IRC:
(13:09:03) adri: no idea about v4-only hostnames
but the bug is still valid; you're creating errors on
the connect fail, but not clearing them before the next connect

15 years agoCleanup: zap CVS Id tags
Amos Jeffries [Sun, 1 Feb 2009 10:09:23 +0000 (23:09 +1300)] 
Cleanup: zap CVS Id tags

Bazaar does not need or use these tags so they no longer represent the
true current version of files.

Tags left as default (unset) values so sourceforge mirror can still issue
correctly labeled versions as before.

15 years agoSync autoconf requirements with bootstrap script.
Amos Jeffries [Sun, 1 Feb 2009 09:11:49 +0000 (22:11 +1300)] 
Sync autoconf requirements with bootstrap script.

Squid-3.1+ require at least autoconf 2.61.
Up to 2.63 tested and found working so far.

15 years agoBug 2576: Make translate target obey --disable-auto-locale
Amos Jeffries [Tue, 27 Jan 2009 01:37:30 +0000 (14:37 +1300)] 
Bug 2576: Make translate target obey --disable-auto-locale

15 years agoTypo. prevent bitrot in dead code too
Amos Jeffries [Tue, 27 Jan 2009 01:26:59 +0000 (14:26 +1300)] 
Typo. prevent bitrot in dead code too

15 years agoFix ESI breaks with --disable-optimizations
Amos Jeffries [Tue, 27 Jan 2009 00:31:48 +0000 (13:31 +1300)] 
Fix ESI breaks with --disable-optimizations

Turns out the libTrie configure script shares some macro handling
which needed a re-sync with the main squid script.

TODO: These should really be made into shared macros.

15 years ago3.1.0.4 SQUID_3_1_0_4
Amos Jeffries [Fri, 23 Jan 2009 05:36:58 +0000 (22:36 -0700)] 
3.1.0.4

15 years agoPrep for 3.1.0.4
Amos Jeffries [Fri, 23 Jan 2009 03:41:17 +0000 (16:41 +1300)] 
Prep for 3.1.0.4

15 years agoAuthor: Various Translators
Amos Jeffries [Fri, 23 Jan 2009 03:02:05 +0000 (16:02 +1300)] 
Author: Various Translators
Language Updates

Languages Converted from Legacy files to .po:
 Armenian, Azerbaijani, Czech, Estonian, Finnish, Japanese, Romanian, Serbian, Turkish

Several languages adding new translation pharses and corrections.

Remaining Legacy files converted to UTF-8 to ease further conversion.

see TRANSLATORS file for current list of translation contributors

15 years agoRegression Fix: rollback bug 2395 fix.
Amos Jeffries [Fri, 23 Jan 2009 02:39:22 +0000 (15:39 +1300)] 
Regression Fix: rollback bug 2395 fix.

Fixing bug 2395 uncovered a much more serious bug 2558.
It was not found earlier due to bug 2558 being a slow incremental affect
hidden by already-cached objects.

This rollback is intended as a temporary measure until a good fix can be
found for both bugs.