]> git.ipfire.org Git - thirdparty/squid.git/log
thirdparty/squid.git
17 years agoUpdate affected documentation
Amos Jeffries [Thu, 24 Apr 2008 05:31:36 +0000 (17:31 +1200)] 
Update affected documentation

17 years agoRollback rev 8955 - patch already applied
Amos Jeffries [Tue, 22 Apr 2008 12:17:55 +0000 (00:17 +1200)] 
Rollback rev 8955 - patch already applied

17 years agoWrap ESI headers for .h testing on systems without Expat or XML libraries
Amos Jeffries [Tue, 22 Apr 2008 11:49:48 +0000 (23:49 +1200)] 
Wrap ESI headers for .h testing on systems without Expat or XML libraries

17 years agoImport FileSystem component API documentation. (really)
Amos Jeffries [Mon, 21 Apr 2008 12:52:20 +0000 (00:52 +1200)] 
Import FileSystem component API documentation. (really)

17 years agoDoxygen identified cleanup in function declaration
Amos Jeffries [Mon, 21 Apr 2008 12:36:22 +0000 (00:36 +1200)] 
Doxygen identified cleanup in function declaration

17 years agoImport FileSystem component API documentation.
Amos Jeffries [Mon, 21 Apr 2008 12:20:07 +0000 (00:20 +1200)] 
Import FileSystem component API documentation.

17 years agoImport remaining scraps of auto-docs branch code cleanups
Amos Jeffries [Mon, 21 Apr 2008 12:05:23 +0000 (00:05 +1200)] 
Import remaining scraps of auto-docs branch code cleanups

17 years agoMerged from trunk
Amos Jeffries [Sat, 19 Apr 2008 04:49:16 +0000 (16:49 +1200)] 
Merged from trunk

17 years agoBUg 2318 : compilation issue in some compilers
Amos Jeffries [Fri, 18 Apr 2008 04:41:27 +0000 (16:41 +1200)] 
BUg 2318 : compilation issue in some compilers

17 years agoAvoid segfaults when scheduling an async call for a non-existent job.
Alex Rousskov [Thu, 17 Apr 2008 05:50:09 +0000 (23:50 -0600)] 
Avoid segfaults when scheduling an async call for a non-existent job.

Scheduling a call for invalidated or non-existent job should be a no-op
because (a) it simplifies the code and (b) the job may disappear while
the call is queued so checking job status at the call time is
pointless from the correctness point of view.

Existing code already relies on this guarantee, but apparently not too much.

The bug was in a JobDialer. I have not yet verified whether other dialers
need a similar fix.

17 years agoFixed and polished autoconsumption mode.
Alex Rousskov [Thu, 17 Apr 2008 05:44:45 +0000 (23:44 -0600)] 
Fixed and polished autoconsumption mode.

Fixed: We need to start autoconsuming when new data is appended and we
have not started (but enabled autoconsumpiton) before.

Polished: When notifying a consumer, checking whether mustAutoConsume is
set is pointless as it has no effect on consumer (if any). This check was
probably a leftover from pre-BodySink days.

17 years agoAdd support for the resolv.conf domain directive, and also automatically derived...
Henrik Nordstrom [Wed, 16 Apr 2008 00:32:34 +0000 (02:32 +0200)] 
Add support for the resolv.conf domain directive, and also automatically derived default domain

this patch adds the domain resolv.conf directive, similar to search but
only accepting a single domain.

In addition it adds support for automatically deriving the domain from
the fully qualified hostname.

17 years agoFix out-of-tree builds after the inclusion of libltdl
Henrik Nordstrom [Wed, 16 Apr 2008 00:16:12 +0000 (02:16 +0200)] 
Fix out-of-tree builds after the inclusion of libltdl

17 years agoSpelling correction
Henrik Nordstrom [Wed, 16 Apr 2008 00:15:07 +0000 (02:15 +0200)] 
Spelling correction

17 years agoNo need to bootstrap trunk. aututool files is not under revision control in trunk
Henrik Nordstrom [Wed, 16 Apr 2008 00:13:25 +0000 (02:13 +0200)] 
No need to bootstrap trunk. aututool files is not under revision control in trunk

17 years agoFix snapshots after the autotool derived files were cleaned from trunk
Henrik Nordstrom [Tue, 15 Apr 2008 21:07:55 +0000 (15:07 -0600)] 
Fix snapshots after the autotool derived files were cleaned from trunk

17 years agoDo not bootstrap lib/libLtdl. Better to fix the libtool installation than working...
Henrik Nordstrom [Tue, 15 Apr 2008 20:53:08 +0000 (14:53 -0600)] 
Do not bootstrap lib/libLtdl. Better to fix the libtool installation than working around it. (done on squid-cache.org)

17 years agoAdd x86_64 support to XPROF_STATS
Henrik Nordstrom [Mon, 14 Apr 2008 21:29:38 +0000 (23:29 +0200)] 
Add x86_64 support to XPROF_STATS

17 years agoBug #2310: Incorrect default time/date log format
Henrik Nordstrom [Mon, 14 Apr 2008 21:03:20 +0000 (23:03 +0200)] 
Bug #2310: Incorrect default time/date log format

The %tl and %tg logformat tags is meant to use the same date format as
Apache/NCSA, but in Squid-3 there was a space instead of : between the
date and time.

This is not seen in Squid-2.

17 years agoAdded dummy eCAP files to make "make dist" happy.
Alex Rousskov [Mon, 14 Apr 2008 16:34:34 +0000 (10:34 -0600)] 
Added dummy eCAP files to make "make dist" happy.

17 years agoBootstrap lib/libLtld when running top-level bootstrap.sh.
Alex Rousskov [Mon, 14 Apr 2008 16:18:00 +0000 (10:18 -0600)] 
Bootstrap lib/libLtld when running top-level bootstrap.sh.

This appears necessary because libtoolize-generated lib/libLtdl/Makefile.in is
probably made with an older automake version and refers to a non-existent
mkinstalldirs script. Yet, bootsrapping libLtdl produces warnings (or
non-fatal errors) so I am not sure it is the right thing to do long-term.

17 years agoFix 'make dist' breakage created by header testing.
Amos Jeffries [Mon, 14 Apr 2008 13:51:31 +0000 (01:51 +1200)] 
Fix 'make dist' breakage created by header testing.

17 years agoTPROXY v4 support upgrade (part 1 of 2)
Amos Jeffries [Mon, 14 Apr 2008 06:30:27 +0000 (18:30 +1200)] 
TPROXY v4 support upgrade (part 1 of 2)

Part 1 adds complete TPROXYv4 capabilities to Squid.
The alterations are rather superficially tacked into the netfilter support.

Polish for this feature involves some rather intrusive alterations to
transparency which are still undergoing testing. That is part 2.

A temporary configure option --enable-linux-tproxy4 is provided as part of
this commit to enable the TPROXY v4 code. Part 2 will remove this option
again in favour of squid.conf transparency controls.

17 years agoCleanup Debug include sequence.
Amos Jeffries [Mon, 14 Apr 2008 00:20:51 +0000 (12:20 +1200)] 
Cleanup Debug include sequence.

17 years agoFix build error on Irix.
Guido Serassio [Sun, 13 Apr 2008 17:01:15 +0000 (19:01 +0200)] 
Fix build error on Irix.

On Irix the inclusion of sstream defines assert(), so the build fails for
a redefinition error.
Just include Debug.h as last to fix the problem.

17 years agoMerged from trunk.
Amos Jeffries [Sun, 13 Apr 2008 13:04:31 +0000 (01:04 +1200)] 
Merged from trunk.

17 years agoUpdate auto-documentation generatino so .dyn files work again
Amos Jeffries [Sun, 13 Apr 2008 12:04:17 +0000 (00:04 +1200)] 
Update auto-documentation generatino so .dyn files work again

17 years agoUpdate auto-docs text for IPAddress class
Amos Jeffries [Sat, 12 Apr 2008 11:48:25 +0000 (23:48 +1200)] 
Update auto-docs text for IPAddress class

17 years agoeCAP support, part 1: Loadable modules and ICAP-independent Squid core.
Alex Rousskov [Sat, 12 Apr 2008 04:52:49 +0000 (22:52 -0600)] 
eCAP support, part 1: Loadable modules and ICAP-independent Squid core.

The first part of eCAP work includes (a) initial support for loadable
modules and (b) removing ICAP from main Squid sources, replaced with the
adaptation API that does not depend on a specific adaptation mechanism.

The patch does not contain significant changes to main Squid sources.
Generic adaptation API should minimize significant core changes going
forward. Details are below. For a low-level change log, see the eCAP bzr
branch at https://code.launchpad.net/~rousskov/squid/ecap

Configuration and features:

  Added adaptation_service_set squid.conf option, deprecating
  icap_class. The new option has more accurate documentation and does
  not depend on the adaptation protocol so one can group eCAP and ICAP
  services.

  Added adaptation_service_set squid.conf option, deprecating
  icap_access. The new option has more accurate documentation and does
  not depend on the adaptation protocol so one can mix-and-match eCAP
  and ICAP ACL rules.

  Added loadable_modules squid.conf option to specify what shared
  libraries to load dynamically. The support is based on libtool's ltdl
  convenience library and is enabled by default. It can be disabled
  using --disable-loadable-modules.  Loadable modules are needed for
  eCAP, but loadable_modules code deals with generic module
  manipulation, independent from eCAP support. Squid does not yet
  communicate with the loaded modules. TODO: support cachemgr
  reporting and reconfiguration of modules.

Internals:

  Squid core no longer knows about ICAP: General message adaptation code
  has been moved from src/ICAP to src/adaptation/. The only connection
  between main Squid code and ICAP is squid.conf parser and a few
  enabling lines in main.cc. USE_ADAPTATION is enabled if ICAP_CLIENT or
  USE_ECAP is enabled. TODO: Make adaptation comments, debug, and error
  messages in main Squid code ICAP-neutral. This has not been done yet
  to reduce VCS conflicts.

  The src/ICAP/ directory now has its own Makefile (so does the new
  src/adaptation). TODO: Should ICAP and eCAP directories be moved
  inside adaptation/?

  The eCAP directory and the --enable-ecap option have been added, but
  they should not be used yet.

  Added an adaptation service group API to support groups of services.
  Current code supports service sets and single-service groups. Sets
  provide a way to group interchangeable services together so that one
  (the "best" available) service is applied to the message. A
  single-service group is an internal feature to allow user to mix
  service and group names in squid.conf ACLs.  TODO: support service
  chains (as a service group) and perhaps group of groups?

  Implemented delayed creation of adaptation services. We used to create
  ICAPServiceRep objects when parsing the configuration file.
  Create-as-you-parse is imperfect for several reasons, especially if
  the services are dynamically loaded as is the case with eCAP. We now
  remember the service configuration and then create the actual service
  object _after_ the configuration has been parsed and loadable modules,
  if any, have been loaded.

  The bootstrap.sh script has been updated to generate ltdl library
  using libtoolize and move it to lib/libLtdl (except for the standard
  copyright file). With libtool version 2, the move will be supported by
  libtoolize itself.  The lib/libLtdl directory and libtool.m4 file are
  not in VCS.

17 years agoShift candidates when the top candidate does not match
Alex Rousskov [Sat, 12 Apr 2008 04:16:45 +0000 (22:16 -0600)] 
Shift candidates when the top candidate does not match
Supply reply for reply-based ACLs
Polished debugging

17 years agoMerged from trunk.
Alex Rousskov [Sat, 12 Apr 2008 03:14:51 +0000 (21:14 -0600)] 
Merged from trunk.

17 years agoMerge from trunk
Alex Rousskov [Fri, 11 Apr 2008 23:46:30 +0000 (17:46 -0600)] 
Merge from trunk

17 years agodeprecate some .h includes we don;t appear to need
Amos Jeffries [Fri, 11 Apr 2008 03:33:42 +0000 (15:33 +1200)] 
deprecate some .h includes we don;t appear to need

17 years agoNeed to define time_t in the header now.
Amos Jeffries [Fri, 11 Apr 2008 03:29:02 +0000 (15:29 +1200)] 
Need to define time_t in the header now.

17 years agoRestore old tproxy enabling back to original option name.
Amos Jeffries [Fri, 11 Apr 2008 02:17:14 +0000 (14:17 +1200)] 
Restore old tproxy enabling back to original option name.

version 4 now integrated with --enable-linux-netfilter seamlessly.
The old option --enable-linux-tproxy is now semi-oficcially deprecated,
as the version is obsolete but still supported by squid for legacy systems.

17 years agoupdate changeLog
Amos Jeffries [Fri, 11 Apr 2008 02:14:38 +0000 (14:14 +1200)] 
update changeLog

17 years agoupdate documentation
Amos Jeffries [Fri, 11 Apr 2008 02:11:22 +0000 (14:11 +1200)] 
update documentation

17 years agodebugs cleanup.
Amos Jeffries [Fri, 11 Apr 2008 02:00:06 +0000 (14:00 +1200)] 
debugs cleanup.

17 years agoTypo.
Amos Jeffries [Fri, 11 Apr 2008 01:53:42 +0000 (13:53 +1200)] 
Typo.

17 years agoCallers should not have to test for transparency when they want it to stop.
Amos Jeffries [Fri, 11 Apr 2008 01:49:20 +0000 (13:49 +1200)] 
Callers should not have to test for transparency when they want it to stop.

Transparency and Interception controller can do that on their behalf much cleaner.

17 years agomove last_reported timer to a class member not a static.
Amos Jeffries [Fri, 11 Apr 2008 01:44:58 +0000 (13:44 +1200)] 
move last_reported timer to a class member not a static.

17 years agoWrap ESI headers away from .h dependency testing when module disabled.
Amos Jeffries [Thu, 10 Apr 2008 12:18:39 +0000 (00:18 +1200)] 
Wrap ESI headers away from .h dependency testing when module disabled.

These mysteriously had passed all dependency tests on machines where
the XML libraries existed, despite ESI disabling. Only showed up when built
on a machine without Expat.

17 years agoBug 2302: IPv6 IPs of the CONNECT header URLs parse wrong
Amos Jeffries [Thu, 10 Apr 2008 11:29:39 +0000 (23:29 +1200)] 
Bug 2302: IPv6 IPs of the CONNECT header URLs parse wrong

17 years agopeer parameter was unused in the specific functions.
Amos Jeffries [Thu, 10 Apr 2008 10:57:44 +0000 (22:57 +1200)] 
peer parameter was unused in the specific functions.

17 years agoMerged from trunk
Amos Jeffries [Wed, 9 Apr 2008 13:29:54 +0000 (01:29 +1200)] 
Merged from trunk

17 years agoBreak Netfilter and IPFW lookups out of the general either-or NAT lookup.
Amos Jeffries [Wed, 9 Apr 2008 13:20:35 +0000 (01:20 +1200)] 
Break Netfilter and IPFW lookups out of the general either-or NAT lookup.

NAT lookup was prevously detemined by configure-time settings with no
possibility of two transparent options working within a single binary.

This patch moves the Netfilter and IPF lookups into sub functions and
builds a sequential failover sequence for them.

At which point any of the four transparent/interception methods may be
used simultaneoulsy on one or more listening ports.

17 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Wed, 9 Apr 2008 13:12:15 +0000 (01:12 +1200)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
Bug 2186 pt 2: DIRECT/<ip> mixed with DIRECT/<hostname>

17 years agoRename 'tproxy' flags to 'spoof_client_ip' for a better description of their purpose.
Amos Jeffries [Wed, 9 Apr 2008 10:17:28 +0000 (22:17 +1200)] 
Rename 'tproxy' flags to 'spoof_client_ip' for a better description of their  purpose.

17 years agoMake transparency flags always-present. Rename flags 'transparent' to 'intercepted'
Amos Jeffries [Wed, 9 Apr 2008 05:26:32 +0000 (17:26 +1200)] 
Make transparency flags always-present. Rename flags 'transparent' to 'intercepted'

This minimizes the differences in code between multiple supported types of
transparency and interception.

The flag renaming is pure code cleanup, making the names much more descriptive
of the actual meaning of the flags.

TODO: currently remaining 'tproxy' flag needs changing to 'spoof_client_ip'

TODO: testing of code changes.

TODO: failover mechanism between two netfilter suported methods.

17 years agoMove need_linux_tproxy to a property of the Interception manager
Amos Jeffries [Tue, 8 Apr 2008 13:14:49 +0000 (01:14 +1200)] 
Move need_linux_tproxy to a property of the Interception manager

17 years agoMove TPROXY v2 method of setting the outgoing address to IPIntercept class
Amos Jeffries [Tue, 8 Apr 2008 06:51:51 +0000 (18:51 +1200)] 
Move TPROXY v2 method of setting the outgoing address to IPIntercept class

17 years agoMake transparent flag of fde always present
Amos Jeffries [Tue, 8 Apr 2008 06:32:47 +0000 (18:32 +1200)] 
Make transparent flag of fde always present

17 years agoMove all uses of clientNatLookup to using IPInterceptor API.
Amos Jeffries [Tue, 8 Apr 2008 06:30:47 +0000 (18:30 +1200)] 
Move all uses of clientNatLookup to using IPInterceptor API.

17 years agoBuild IPIntercept object to manage IP interception and transparent operations.
Amos Jeffries [Tue, 8 Apr 2008 06:28:03 +0000 (18:28 +1200)] 
Build IPIntercept object to manage IP interception and transparent operations.

17 years agoMake IdleConn::removeFd err on the soft site if the fd could not be found
Henrik Nordstrom [Mon, 7 Apr 2008 22:38:10 +0000 (00:38 +0200)] 
Make IdleConn::removeFd err on the soft site if the fd could not be found

this fixes the assert seen by Tsantilas Christos. It's not really a proper
fix to the underlying problem, but at least makes Squid surive.

The actual problem is race windows introduced by the async call queue. In
this case both "closed by remote server" and "timeout" events may get queued
at the same time, or to be specific the "closed by remote server" read event
stays in the queue and gets called even after pconn has deregistered interest
in the event.

17 years agoTransparent flag must be done before bind(). BASIC_TPROXY4
Amos Jeffries [Mon, 7 Apr 2008 22:05:09 +0000 (10:05 +1200)] 
Transparent flag must be done before bind().

Also fix a small cut-n-paste error with #endif.

17 years agoChange cachemgr filedescriptors timeout column to seconds
Henrik Nordstrom [Mon, 7 Apr 2008 20:51:24 +0000 (22:51 +0200)] 
Change cachemgr filedescriptors timeout column to seconds

generally more useful that way. Also a forward-port from Squid-2.

17 years agoMigrate uses of comm_set_transparent to using comm_openex flag instead.
Amos Jeffries [Mon, 7 Apr 2008 10:40:15 +0000 (22:40 +1200)] 
Migrate uses of comm_set_transparent to using comm_openex flag instead.

Cleaner and reduces the overall Comm API.
IPv6 update had incorrectly interpreted comm_open flags as ai_flags.
  (same context, different actual name/values)

17 years agoMove IP_TRANSPARENT setting into comm_openex(...)
Amos Jeffries [Mon, 7 Apr 2008 10:30:11 +0000 (22:30 +1200)] 
Move IP_TRANSPARENT setting into comm_openex(...)
Author: Laszlo Attilla Toth <panther@balabit.hu>

Adds flag COMM_TRANSPARENT which must be passed to comm_openex() for
transparent ports.

17 years agoMerged from trunk
Amos Jeffries [Mon, 7 Apr 2008 09:40:58 +0000 (21:40 +1200)] 
Merged from trunk

17 years agoBug #2001: Fails to forward responses where headers >4KB
Henrik Nordstrom [Mon, 7 Apr 2008 07:26:08 +0000 (09:26 +0200)] 
Bug #2001: Fails to forward responses where headers >4KB

This changes reply processing to clone the already parsed reply header
instead of trying to parse it yet another time. This allows us to seek
over the header contents and that way get away with just having a 4KB
buffer..

In the long run the store client API will be changed to provide a clean
split between headers and body, providing headers in parsed form (including
intermediary 1xx messages) and then the body starting at offset 0. This
change is a first step along that path but without changing the store client
api as such, with the intention of being merged into 3.0.

17 years agoMerged from trunk
Henrik Nordstrom [Sun, 6 Apr 2008 23:24:20 +0000 (01:24 +0200)] 
Merged from trunk

17 years agoBug 2265: --enable-icmp compile fails on FreeBSD
Amos Jeffries [Sun, 6 Apr 2008 12:40:55 +0000 (00:40 +1200)] 
Bug 2265: --enable-icmp compile fails on FreeBSD
Author: Christos Tsantilas <chtsanti@users.sourceforge.net>

Re-introduces definition of icmphdr/icmp for OS which do not define them.

This code was removed during the initial re-write because it was thought
, incorrectly, to be no longer needed.

17 years agoBug 2299: src/ACLARP.cc fails to compile on Solaris 10
Amos Jeffries [Sun, 6 Apr 2008 12:37:53 +0000 (00:37 +1200)] 
Bug 2299: src/ACLARP.cc fails to compile on Solaris 10
Author: Christos Tsantilas <chtsanti@users.sourceforge.net>

17 years agoWindows port: Released name of Longhorn Server is Windows Server 2008
Guido Serassio [Sun, 6 Apr 2008 09:44:29 +0000 (11:44 +0200)] 
Windows port: Released name of Longhorn Server is Windows Server 2008

17 years agoMerged from trunk
Henrik Nordstrom [Sun, 6 Apr 2008 01:34:08 +0000 (03:34 +0200)] 
Merged from trunk

17 years agoFallback on transparent interception mode even if the connection didn't seem
Henrik Nordstrom [Sun, 6 Apr 2008 01:31:13 +0000 (03:31 +0200)] 
Fallback on transparent interception mode even if the connection didn't seem
to be transparently intercepted

Needed to deal properly with situations where connections to the local host
is intercepted, or when people NAT outside the Squid server but still compile
Squid with support for the NAT/interception method availabe on the host OS..

17 years agoMerged from trunk
Henrik Nordstrom [Sun, 6 Apr 2008 00:51:55 +0000 (02:51 +0200)] 
Merged from trunk

17 years agoMerge from TRUNK
Amos Jeffries [Sat, 5 Apr 2008 22:57:27 +0000 (10:57 +1200)] 
Merge from TRUNK

17 years agooperations in foward.cc
Amos Jeffries [Sat, 5 Apr 2008 22:55:18 +0000 (10:55 +1200)] 
operations in foward.cc

17 years agoBug 2245: cache_dir is not built correctly
Amos Jeffries [Sat, 5 Apr 2008 12:20:44 +0000 (00:20 +1200)] 
Bug 2245: cache_dir is not built correctly

17 years agoCall testheaders.sh with locally detected shell.
Amos Jeffries [Sat, 5 Apr 2008 11:21:54 +0000 (23:21 +1200)] 
Call testheaders.sh with locally detected shell.

Fixes problems where bash shell is not available at /bin/bash

Also replaces some remaining relative paths with the build top dir variable.

17 years agoBug 2286: assertion failed: HttpHdrContRange.cc:100: "spec->length >= 0"
Amos Jeffries [Sat, 5 Apr 2008 10:55:30 +0000 (22:55 +1200)] 
Bug 2286: assertion failed: HttpHdrContRange.cc:100: "spec->length >= 0"
Author: Christos Tsantilos <chtsanti@users.sourceforge.net>

Moves the assertion check for spec->length in function
httpHdrRangeRespSpecParseInit  exactly after the spec->length copmuted.

Also Fix of a possible  misuse of errno in httpHeaderParseOffset function
The errno before used with strtol function must set to "0".

17 years agoRemoved stale and unused sources to minimize diffs with trunk.
Alex Rousskov [Sat, 5 Apr 2008 05:24:42 +0000 (23:24 -0600)] 
Removed stale and unused sources to minimize diffs with trunk.

17 years agoPolished for trunk merge
Alex Rousskov [Sat, 5 Apr 2008 05:16:03 +0000 (23:16 -0600)] 
Polished for trunk merge

17 years agoMerge from trunk
Alex Rousskov [Sat, 5 Apr 2008 04:54:38 +0000 (22:54 -0600)] 
Merge from trunk

17 years agoMade testheaders.h happy.
Alex Rousskov [Sat, 5 Apr 2008 04:40:38 +0000 (22:40 -0600)] 
Made testheaders.h happy.

17 years agoBug 2267 - increase MAX_URL to 8192
Amos Jeffries [Sat, 5 Apr 2008 02:00:45 +0000 (14:00 +1200)] 
Bug 2267 - increase MAX_URL to 8192

17 years agoMerge from trunk
Alex Rousskov [Fri, 4 Apr 2008 23:06:03 +0000 (17:06 -0600)] 
Merge from trunk

17 years agoWe should probably unlock callback_data in case we did not call the callback.
Alex Rousskov [Fri, 4 Apr 2008 17:14:29 +0000 (11:14 -0600)] 
We should probably unlock callback_data in case we did not call the callback.

17 years agoFixed wrong "this" parameter use after moving adaptation check start code
Alex Rousskov [Fri, 4 Apr 2008 17:11:00 +0000 (11:11 -0600)] 
Fixed wrong "this" parameter use after moving adaptation check start code
from one object to another.

17 years agoMoved AccessCheck object creation and check starting to AccessCheck::Start.
Alex Rousskov [Fri, 4 Apr 2008 16:26:01 +0000 (10:26 -0600)] 
Moved AccessCheck object creation and check starting to AccessCheck::Start.
We may be able to simplify the callers further by migrating to the AsyncJobCall
interface for callbacks.

17 years agoBug 2267 - increase MAX_URL to 8192
Amos Jeffries [Fri, 4 Apr 2008 13:59:45 +0000 (01:59 +1200)] 
Bug 2267 - increase MAX_URL to 8192

17 years agoAdded global Enabled flag to Adaptation::Config so that AccessCheck::Start
Alex Rousskov [Fri, 4 Apr 2008 05:31:40 +0000 (23:31 -0600)] 
Added global Enabled flag to Adaptation::Config so that AccessCheck::Start
can check that instead of becoming dependent on each adaptation mechanism
and its config.onoff setting. Could have created a generic Registry of
all adaptation mechanisms instead.

17 years agoPolished comments
Alex Rousskov [Fri, 4 Apr 2008 04:27:13 +0000 (22:27 -0600)] 
Polished comments

17 years agoApplied --local commits
Alex Rousskov [Thu, 3 Apr 2008 23:26:48 +0000 (17:26 -0600)] 
Applied --local commits

17 years agoIndented and polished.
Alex Rousskov [Thu, 3 Apr 2008 23:20:33 +0000 (17:20 -0600)] 
Indented and polished.

17 years agoCreate an "implicit" SingleService group if an access rule refers to a service
Alex Rousskov [Thu, 3 Apr 2008 23:11:40 +0000 (17:11 -0600)] 
Create an "implicit" SingleService group if an access rule refers to a service
rather than a service group.

17 years agoAdded debugging
Alex Rousskov [Thu, 3 Apr 2008 23:10:04 +0000 (17:10 -0600)] 
Added debugging

17 years agoPolished after removing lib/libLtdl from VCS.
Alex Rousskov [Thu, 3 Apr 2008 21:42:46 +0000 (15:42 -0600)] 
Polished after removing lib/libLtdl from VCS.

17 years agoGot rid of references to libtool.m4 because libtoolize does not require it
Alex Rousskov [Thu, 3 Apr 2008 21:24:07 +0000 (15:24 -0600)] 
Got rid of references to libtool.m4 because libtoolize does not require it
and we want to rely on packager's version anyway (just like with other
autotools-generated or provided files).

17 years agoIgnore and do not version lib/libLtdl because it is libtool-generated.
Alex Rousskov [Thu, 3 Apr 2008 21:19:21 +0000 (15:19 -0600)] 
Ignore and do not version lib/libLtdl because it is libtool-generated.
Ignore cfgaux because it is libtool-generated (merged from trunk).

17 years agoSelectively roll comm_connect_addr part of the Linux leak fix out of trunk.
Amos Jeffries [Thu, 3 Apr 2008 21:12:16 +0000 (09:12 +1200)] 
Selectively roll comm_connect_addr part of the Linux leak fix out of trunk.

The IPAddress and configure parts are left to simplify future testing of why it
does not work in FreeBSD and what went wrong with the sockaddr_storage.

17 years agoAdd netinet/in.h to configure tests for ss_len etc.
Amos Jeffries [Thu, 3 Apr 2008 21:04:37 +0000 (09:04 +1200)] 
Add netinet/in.h to configure tests for ss_len etc.

17 years agoWrap Delay Pools module headers
Amos Jeffries [Thu, 3 Apr 2008 11:56:42 +0000 (23:56 +1200)] 
Wrap Delay Pools module headers

- prevents all compiling and testing of the headers when the component is disabled.

17 years agoAdd more auto-generated files to BZR ignore list.
Amos Jeffries [Thu, 3 Apr 2008 10:32:04 +0000 (22:32 +1200)] 
Add more auto-generated files to BZR ignore list.

17 years agoAttempted fix for FreeBSD run-time socket error "(22) Invalid Object" on connects
Amos Jeffries [Thu, 3 Apr 2008 09:39:06 +0000 (21:39 +1200)] 
Attempted fix for FreeBSD run-time socket error "(22) Invalid Object" on connects

- Sets the ss_len / sin_len / sin6_len fields of sockaddr_* objects
  when retrieved for connection setup.
- Tests the OS at compile time for each of these fields existence to
  cope with some OS (ie Linux) not using or providing them.

17 years agoMerge from trunk
Alex Rousskov [Thu, 3 Apr 2008 05:45:07 +0000 (23:45 -0600)] 
Merge from trunk

17 years agoAdded an adaptation service group API to support groups of services. Current
Alex Rousskov [Thu, 3 Apr 2008 05:31:29 +0000 (23:31 -0600)] 
Added an adaptation service group API to support groups of services. Current
code supports service sets and single-service groups. The former provides a
way to group interchangeable services together so that one (the "best"
available) service is applied to the message. The latter is an internal
feature to allow user to mix service and group names in squid.conf ACLs.
TODO: support service chains (as a service group) and perhaps group of groups.

Moved adaptation access rule state from being shared between ICAPClass and
ICAPAccessCheck classes into a dedicated AccessRule class. This simplifies
both classes and allows for checking access rules in the correct order.

Use group names when linking adaptation access rules to groups. This is less
efficient (especially since we are still using Vector iteration to find a
matching group) but much simpler. TODO: Optimize.

All adaptation services, access rules, and service groups now have a
finalize() method that is called after configuration parsing has been
completed but before the main loop starts. This allows to verify or optimize
name-based links to other services, rules, and groups.

Moved adaptation access check and group classes into their own files.

Added adaptation_service_set squid.conf option, deprecating icap_class. The
new option has more accurate documentation and does not depend on the
adaptation protocol so one can group eCAP and ICAP services.

Added adaptation_service_set squid.conf option, deprecating icap_access. The
new option has more accurate documentation and does not depend on the
adaptation protocol so one can mix-and-match eCAP and ICAP ACL rules.

17 years agoHonor 0x and 0 prefixes as numeric base indication when parsing squid.conf
Alex Rousskov [Thu, 3 Apr 2008 04:41:41 +0000 (22:41 -0600)] 
Honor 0x and 0 prefixes as numeric base indication when parsing squid.conf
integer options.

Squid3 parses squid.conf file integers as decimal numbers while Squid2 honors
0 and 0x prefixes (indicating octal and hex numbers). The later functionality
is needed for things like unmask that are traditionally specified using octal
format.

This patch changes Squid3 behavior to match that of Squid2.
Internally, Squid3 uses sscanf and Squid2 uses strtol.

TODO: Squid3::GetInteger should probably use xatol,
and xatol should be fixed to proper verify the result of strtol.