]> git.ipfire.org Git - thirdparty/squid.git/log
thirdparty/squid.git
16 years agoFix dependencies in DiskIO
Amos Jeffries [Sun, 3 May 2009 11:44:50 +0000 (23:44 +1200)] 
Fix dependencies in DiskIO

It appears the slightly broken teastheaders was previously hiding
several header definition and protection bugs. Now found and fixed.

16 years agoAuthor: Rene Geile <rene.geile@t-online.de>
Amos Jeffries [Sun, 3 May 2009 11:43:00 +0000 (23:43 +1200)] 
Author: Rene Geile <rene.geile@t-online.de>
Fix incorrect name of digest_pw_auth helper

via Debian project
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=517528

16 years agoAuthor: Mikio Kishi <mkishi@104.net>
Amos Jeffries [Sun, 3 May 2009 11:41:21 +0000 (23:41 +1200)] 
Author: Mikio Kishi <mkishi@104.net>
Enable TPROXY v4 spoofing of CONNECT requests

with some code polish sourced from ViSolve

16 years agoAuthor: Christos Tsantilas <chtsanti@users.sourceforge.net>
Amos Jeffries [Sun, 3 May 2009 11:37:18 +0000 (23:37 +1200)] 
Author: Christos Tsantilas <chtsanti@users.sourceforge.net>
revert rev9415. bug 2583 regression. bad patch.

16 years agoAuthor: Hasso Tepper <hasso@estpak.ee>
Amos Jeffries [Fri, 24 Apr 2009 10:16:08 +0000 (22:16 +1200)] 
Author: Hasso Tepper <hasso@estpak.ee>
DragonFly Support for PF

Received via NetBSD project.

NetBSD Maintainer says:
 "pfvar.h part came from DragonFly people."

Their CVS log attributes says, the fix is from hasso@estpak.ee:

| Fix two problems reported by Hasso Tepper via PR pkg/39554.
|
| * DragonFly support.

(other not relevant to this patch)

16 years agoAuthor: Unknown - NetBSD Project
Amos Jeffries [Fri, 24 Apr 2009 10:13:37 +0000 (22:13 +1200)] 
Author: Unknown - NetBSD Project
NetBSD uses machine/byte_swap.h for endian defines

16 years agoAuthor: Hasso Tepper <hasso@estpak.ee>
Amos Jeffries [Fri, 24 Apr 2009 10:10:27 +0000 (22:10 +1200)] 
Author: Hasso Tepper <hasso@estpak.ee>
Fix OpenSSL portability problem

Received via NetBSD project.

Their CVS log attributes says, the fix is from hasso@estpak.ee:

| Fix two problems reported by Hasso Tepper via PR pkg/39554.
|
| * OpenSSL portability problem.

(other not relevant to this patch)

16 years agoAuthor: Unknown - NetBSD Project
Amos Jeffries [Fri, 24 Apr 2009 10:05:01 +0000 (22:05 +1200)] 
Author: Unknown - NetBSD Project
Fix bashisms in squid_kerb_auth helper and testheaders scripts

Found by NetBSD project pkgsrc tool.
Author of that tool is Roland Illig (rillig@netbsd.org).

16 years agoAuthor: Unkown - NetBSD Project
Amos Jeffries [Fri, 24 Apr 2009 10:01:52 +0000 (22:01 +1200)] 
Author: Unkown - NetBSD Project
Fix pinger install location

16 years agoAuthor: Bertrand Jacquin <beber@meleeweb.net>
Amos Jeffries [Fri, 24 Apr 2009 09:12:46 +0000 (21:12 +1200)] 
Author: Bertrand Jacquin <beber@meleeweb.net>
Make gcc-4.3 happy with strdup/strndup

Several casting void* to char* fixed.

16 years agoRegression Fix: ident open failure: Address already in use
Amos Jeffries [Fri, 24 Apr 2009 09:09:57 +0000 (21:09 +1200)] 
Regression Fix: ident open failure: Address already in use

Alterations in 3.1 caused the ident port opening to attept binding 3128
which was already opened by Squid.

This returns to the previous random port selection.

16 years agoBug 2491: assertion failed: refresh.cc: "age >= 0"
Amos Jeffries [Fri, 24 Apr 2009 09:04:45 +0000 (21:04 +1200)] 
Bug 2491: assertion failed: refresh.cc: "age >= 0"

Assertion was in the wrong place. If seen in Squid after this patch
please re-open the bug report and provide more details to track it down.

16 years agoCleanup magic buffer sizes in helper.cc
Amos Jeffries [Fri, 24 Apr 2009 08:55:21 +0000 (20:55 +1200)] 
Cleanup magic buffer sizes in helper.cc

Was an pair of 8KB magic numbers. Not made a single define with comments
to indicate what it is.

16 years agoBug 2536: %H in error page ERR_DNS_FAIL is not filled on HTTPS
Amos Jeffries [Fri, 24 Apr 2009 08:42:52 +0000 (20:42 +1200)] 
Bug 2536: %H in error page ERR_DNS_FAIL is not filled on HTTPS

16 years agoBug 2610: Detection and verification of ipfilter header files is incorrect
Amos Jeffries [Fri, 24 Apr 2009 08:37:04 +0000 (20:37 +1200)] 
Bug 2610: Detection and verification of ipfilter header files is incorrect

After much contention reg Solaris and FreeBSD the union between them
seems to be this:
 - adding netinet/in.h
 - adding netinet/ip_fil_compat.h (alternative to netinet/ip_compat.h)
 - testing for netinet/ipl.h before netinet/ip_nat.h

16 years agoBug 2571: Squid with IPv6 fails to start on kernel without IPv6
Amos Jeffries [Fri, 24 Apr 2009 08:25:44 +0000 (20:25 +1200)] 
Bug 2571: Squid with IPv6 fails to start on kernel without IPv6

Adds comm_open_listener() wrapper to perform IPv6/IPv4 failover on sockets
intended for listening only. Uses the wrapper in all places I can be sure of.

Open a port specially bound for listening or sending through a specific port.
This is a wrapper providing IPv4/IPv6 failover around comm_openex().
Please use for all listening sockets and bind() outbound sockets.

It will open a socket bound for:
  - IPv4 if IPv6 is disabled or address is IPv4-native.
  - IPv6 if address is IPv6-native
  - IPv6 dual-stack mode if able to open [::]

When an open performs failover it update the given address to feedback
the new IPv4-only status of the socket. Further displays of the IP
(in debugs or cachemgr) will occur in Native IPv4 format.
A reconfigure is needed to reset the stored IP in most cases and attempt
a port re-open.

16 years agoAuthor: Christos Tsantilas <chtsanti@users.sourceforge.net>
Amos Jeffries [Fri, 24 Apr 2009 05:40:34 +0000 (17:40 +1200)] 
Author: Christos Tsantilas <chtsanti@users.sourceforge.net>
Bug 2578: squid fails to resume dowload from FTP

The ftp code uses the FtpStateData::restart_offset and
FtpStateData::restarted_offset to compute the offset in the case of
partial responses, but it must also set the
ServerStateData::currentOffset member variable.
This patch:
  - completely removes the FtpStateData::restarted_offset member and uses
    the ServerStateData::currentOffset member variable instead.
  - adds the FtpStateData::setCurrentOffset(int64_t) and
    FtpStateData::getCurrentOffset() public methods to allow set/get the
    ServerStateData::currentOffset value

16 years agoBug 2276: Too many queued ntlm authenticators running
Amos Jeffries [Fri, 24 Apr 2009 05:27:11 +0000 (17:27 +1200)] 
Bug 2276: Too many queued ntlm authenticators running

This enforces the admin configured number of helpers as a maximum number
running by calculating how many helpers have died and need restarting.

16 years agoUpdate man page.
Amos Jeffries [Fri, 24 Apr 2009 05:00:57 +0000 (17:00 +1200)] 
Update man page.

 - reference the wiki FAQ URI
 - reference the generic configuration manual URI
 - add documentation about other config files now visible
 - add -S option documentation
 - remove -D option documentation
 - alter the main text to reference ICP, HTCP, CARP and ICAP protocols
   which are now readily available in Squid.
 - removed references to obsolete dnsserver and its operations.
 - generalized text about helpers
 - removed reference to I/O driven (Async events is not true I/O driven)

16 years agoBug 2635: Incorrect Max-Forwards header type
Amos Jeffries [Tue, 14 Apr 2009 15:34:31 +0000 (03:34 +1200)] 
Bug 2635: Incorrect Max-Forwards header type

16 years agoPrep for 3.0.STABLE14
Amos Jeffries [Sat, 11 Apr 2009 09:27:20 +0000 (21:27 +1200)] 
Prep for 3.0.STABLE14

16 years agoBug 2628: Need way to override DEFAULT_PID_FILE
Amos Jeffries [Fri, 10 Apr 2009 13:17:22 +0000 (01:17 +1200)] 
Bug 2628: Need way to override DEFAULT_PID_FILE

Adds ./configure option --with-pidfile=PATH
to set the default name and location of squid.pid

16 years agoRegression fix: test for .po properly.
Amos Jeffries [Fri, 10 Apr 2009 06:36:31 +0000 (18:36 +1200)] 
Regression fix: test for .po properly.

Only skip translation attempt if the .po are NOT available.

16 years agoHTTP 1.1: Forward OPTIONS requests properly
Amos Jeffries [Fri, 10 Apr 2009 06:34:03 +0000 (18:34 +1200)] 
HTTP 1.1: Forward OPTIONS requests properly

Bump the max_forwards type to 64-bit to cope with wider range of values.

NP: still no internal handling of OPTIONS requests, but this will
    forward them according to RFC 2616 requirements.

16 years agoAuthor: Guido Serassio <serassio@squid-cache.org>
Amos Jeffries [Fri, 10 Apr 2009 06:32:22 +0000 (18:32 +1200)] 
Author: Guido Serassio <serassio@squid-cache.org>
The debug mode option '-d' was not documented in LDAP helpers usage message

16 years agoPurge last remnants of inet_ntoa
Amos Jeffries [Fri, 10 Apr 2009 06:29:22 +0000 (18:29 +1200)] 
Purge last remnants of inet_ntoa

 - Now fully replaced by IPAddress::NtoA and inet_ntop()
 - No need for the third-party emulator and license either

16 years agoAuthor: Guido Serassio <serassio@squid-cache.org>
Amos Jeffries [Fri, 10 Apr 2009 06:25:28 +0000 (18:25 +1200)] 
Author: Guido Serassio <serassio@squid-cache.org>
Windows port: Modified the base registry key tree

16 years agoAuthor: Guido Serassio <serassio@squid-cache.org>
Amos Jeffries [Fri, 10 Apr 2009 06:19:15 +0000 (18:19 +1200)] 
Author: Guido Serassio <serassio@squid-cache.org>
Windows port: Added support for Windows 7, Windows Server 2008 R2 and later

16 years agoAuthor: Guido Serassio <serassio@squid-cache.org>
Amos Jeffries [Fri, 10 Apr 2009 05:37:42 +0000 (17:37 +1200)] 
Author: Guido Serassio <serassio@squid-cache.org>
Windows port: Fix PSAPI.DLL usage, is always available on Windows NT and later

16 years agoBug 2518: assertion failed: comm.cc:1519: "F->flags.open"
Amos Jeffries [Fri, 10 Apr 2009 05:21:33 +0000 (17:21 +1200)] 
Bug 2518: assertion failed: comm.cc:1519: "F->flags.open"

Not seen in a while. I suspect its hiding behind a fixed F->closing()
test, so the whole if test may be obsolete.

Applying in order to close the bug with surety and sync the conditions on
shutdown and restart-closing.

16 years agoReal quiet cache.log when TPROXY and NAT both active
Amos Jeffries [Fri, 10 Apr 2009 05:06:33 +0000 (17:06 +1200)] 
Real quiet cache.log when TPROXY and NAT both active

16 years agoAuthor: Francesco Chemolli <kinkie@squid-cache.org>
Amos Jeffries [Thu, 9 Apr 2009 13:27:08 +0000 (01:27 +1200)] 
Author: Francesco Chemolli <kinkie@squid-cache.org>
Bug 1868: bad HTTP 207 status string

16 years agoComplete Interception multiple NAT support
Amos Jeffries [Thu, 9 Apr 2009 12:53:37 +0000 (00:53 +1200)] 
Complete Interception multiple NAT support

Bug 2618: fix ipfilter transparent proxy
Thanks to John Wehle <john@feith.com> for providing the code fixes.

Also:
  - cleans up some obscurity over data source and sink for me/client IPs.
  - cleans up existing debugs
  - adds new debugs to show NAT inputs and results at level-5
    (non-result is common and left at level-9)
  - adds new debugs to show TPROXY result at level-5 like NAT results
  - move IPF lookup into it's own function
  - move PF interception into its own function

With this all of the transparent build options are independent, and may be
used in any combination. Squid is no longer bound to the single-firewall
interception support.

NP: one small note; the PF lookup is slightly weird due to its altering
the local client address from the NAT information.
Not sure if this is needed, leaving it alone for now.

16 years agoAuthor: Amos Jeffries <squid3@treenet.co.nz>
Amos Jeffries [Thu, 9 Apr 2009 12:32:26 +0000 (00:32 +1200)] 
Author: Amos Jeffries <squid3@treenet.co.nz>
Various errors detected by Coverity scan

 - SNMP error labels enum and name struct size mis-matched
 - several Null-ptr dereferences
 - various unused code

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Thu, 9 Apr 2009 12:14:15 +0000 (00:14 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Bug #2605: Don't call setsid() on helper childs when running in daemon mode

16 years agoBug 1232: cache_dir parameter limited to only 63 entries.
Amos Jeffries [Thu, 9 Apr 2009 10:07:44 +0000 (22:07 +1200)] 
Bug 1232: cache_dir parameter limited to only 63 entries.

This alters the squid.conf parsing limit on cache_dir entries
into a softer configuration warning. It was a core dump.

Also opens the final bit of the 7-bit signed range for use
which makes the limit 64 cache dirs in total.

16 years agoBug 2559: Problem parsing /0 and /0.0.0.0
Amos Jeffries [Thu, 9 Apr 2009 09:51:36 +0000 (21:51 +1200)] 
Bug 2559: Problem parsing /0 and /0.0.0.0

netmask strikes again.

Squid was parsing /0 on an IPv4 as mask /0.0.0.0 before v4-mapping the
mask to /96 IPv6. Which is invalid CIDR size for IPv4 and maps back as
0.0.0.0/32 there during ACL matching.
This affects any input of /0 and equivalents but in a fail-closed way.

Force /0 to the magic noaddr mask regardless of the protocol.

Also adds a lot of level-9 debugs for tracing other issues in IP ACL parse

16 years agoBug 2404: WCCP in mask mode is broken
Amos Jeffries [Thu, 9 Apr 2009 09:38:41 +0000 (21:38 +1200)] 
Bug 2404: WCCP in mask mode is broken

Also autodoc and cleanup some WCCPv2 structures.

This patch:
 - adds a reference to each struct mentioning the exact draft
   RFC section where that struct is defined.
 - fixes sent mask structure fields to match draft. (bug 2404)
 - removes two duplicate useless structs

16 years agoAuthor: Rafal Ramocki <maniac@sistbg.net>
Amos Jeffries [Thu, 9 Apr 2009 09:24:20 +0000 (21:24 +1200)] 
Author: Rafal Ramocki <maniac@sistbg.net>
Bug 2589: SNMP returning no data - wrong oid decoded.

16 years agoAdd Content-Disposition to the known headers list.
Amos Jeffries [Thu, 9 Apr 2009 09:15:50 +0000 (21:15 +1200)] 
Add Content-Disposition to the known headers list.

16 years agoFix some formatting build issues on non-GCC compilers.
Amos Jeffries [Thu, 9 Apr 2009 09:08:32 +0000 (21:08 +1200)] 
Fix some formatting build issues on non-GCC compilers.

Grr, enum lists must not end with ,}

16 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

16 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

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

16 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
   */

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

16 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.

16 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)

16 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.

16 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.

16 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

16 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

16 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

16 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

16 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.

16 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

16 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.

16 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.

16 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)

16 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.

16 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

16 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.

16 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.

16 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.

16 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.

16 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

16 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.

16 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.

16 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

16 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.

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

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

16 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

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

16 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.

16 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.

16 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.

16 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

16 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.

16 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.

16 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

16 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).

16 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.

16 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

16 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

16 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.

16 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.

16 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

16 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.

16 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.

16 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.

16 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

16 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.

16 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

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

16 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.

16 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.

16 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.

16 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)

16 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.