]> git.ipfire.org Git - thirdparty/squid.git/log
thirdparty/squid.git
16 years agoPrep for 3.1.0.11
Amos Jeffries [Sun, 19 Jul 2009 04:43:22 +0000 (16:43 +1200)] 
Prep for 3.1.0.11

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

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

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

  - Support cross-transactional ICAP header exchange
    (adaptation_masterx_shared_names)

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

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

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

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

  Request satisfaction terminates the adaptation chain.

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

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

Merged from 3p1-plus branch at r9513.

* Implementation notes

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

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

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

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

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

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

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

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

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

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

Other improvements:

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

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

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

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

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

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

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

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

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

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

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

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

Merged from 3p1-plus branch at r9511.

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

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

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

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

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

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

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

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

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

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

Thanks to Alex Rousskov for identifying the necessary environment setting.

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

Also add tools/ manual files to manuals bundling.

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

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

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

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

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

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

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

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

16 years agoAuthor: Martin Huter <m.huter@phion.com>
Amos Jeffries [Wed, 15 Jul 2009 10:03:09 +0000 (22:03 +1200)] 
Author: Martin Huter <m.huter@phion.com>
Bug 2658: Missing TextException copy constructor

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Wed, 15 Jul 2009 10:01:32 +0000 (22:01 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
http_port allow-direct option to allow direct forwarding in accelerator mode

normally direct forwarding is disabled in accelerator mode unless overridden
by always_direct, to avoid unintentional security loops. But there is setups
where it makes sense to not have this restriction as this has effects on
peer selection as well.

16 years agoAuthor: Markus Moeller <huaraz@moeller.plus.com>
Amos Jeffries [Wed, 15 Jul 2009 09:59:57 +0000 (21:59 +1200)] 
Author: Markus Moeller <huaraz@moeller.plus.com>
Partial Revert revno9803 - realm experiment slipped in

16 years agoBug 2695: Regression in wccp L2 mask assignment
Amos Jeffries [Wed, 15 Jul 2009 09:57:53 +0000 (21:57 +1200)] 
Bug 2695: Regression in wccp L2 mask assignment

correct endianism of value stored in mask.
Revert value to 2 and field type to uint16_t as prior to bug 2404 update.

16 years agoBug 2707: Regression in FTP anonymous auth
Amos Jeffries [Wed, 15 Jul 2009 09:55:51 +0000 (21:55 +1200)] 
Bug 2707: Regression in FTP anonymous auth

A small regression was marking anonymous Auth as a no-login case and
returning 401 unauthorized.

16 years agoAuthor: Markus Moeller <huaraz@moeller.plus.com>
Amos Jeffries [Sun, 12 Jul 2009 02:53:39 +0000 (14:53 +1200)] 
Author: Markus Moeller <huaraz@moeller.plus.com>
Bug 2710: squid_kerb_auth non-terminated string

16 years agoCorrect TestBed make checks.
Amos Jeffries [Fri, 10 Jul 2009 00:21:42 +0000 (12:21 +1200)] 
Correct TestBed make checks.

distcheck drops any custom configure options. We can't use it
outside the 00-default test.

We can keep check, and should add any others that may be useful if
they can be identified and shown not to re-run configure.

Also move some old distclean hacks that may be obsolete now out of
the way to a rare occurance when thay might still be relevant.

16 years agoAdd localhost to default permitted networks
Amos Jeffries [Fri, 10 Jul 2009 00:19:38 +0000 (12:19 +1200)] 
Add localhost to default permitted networks

This was an oversight and should have been added with the RFC1918 space.

16 years agoBug 2706: pt 1: don't assert on cosmetic Date: addition for bad timestamps
Amos Jeffries [Fri, 10 Jul 2009 00:17:43 +0000 (12:17 +1200)] 
Bug 2706: pt 1: don't assert on cosmetic Date: addition for bad timestamps

Seems not all StoreEntry are being created with timestamps. This handles
them cleanly with a log WARNING when such are sighted instead of asserting

16 years agoCorrect logging for pinned connections.
Amos Jeffries [Fri, 10 Jul 2009 00:14:30 +0000 (12:14 +1200)] 
Correct logging for pinned connections.

Also some extra debug when one fails to be valid for some reason.

16 years agoAdd --disable-translation to break .po from error negotiation
Amos Jeffries [Fri, 10 Jul 2009 00:10:38 +0000 (12:10 +1200)] 
Add --disable-translation to break .po from error negotiation

This enables build-time translation to be disabled without also disabling
run-time error page negotiation. They should not have been linked tightly.

16 years agoBug 2709: 3.1.0.9 TRANSLATIONS not istalled
Amos Jeffries [Thu, 9 Jul 2009 23:49:55 +0000 (11:49 +1200)] 
Bug 2709: 3.1.0.9 TRANSLATIONS not istalled

16 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Fri, 3 Jul 2009 01:01:45 +0000 (13:01 +1200)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
Truncate too-long HTTP response bodies to match their Content-Length header.

Sometimes a broken server sends more than Content-Length bytes in the
response.  For example, a 302 redirect message with "Content-Length: 0" header
may include an HTML body. Squid used to send "everything" it read to the
client, even if it read more than the Content-Length bytes. That may have
helped in some cases, but we should be more conservative when dealing
with broken servers to combat message smuggling attacks and other bad
side-effects for clients.

We now do not forward more than the advertised content length and declare the
connection with a broken server non-persistent.

Chunked responses (that HTTP/1.0 Squid should not receive and that must not
have a Content-Length header) are not truncated because RFC 2616 says we
MUST ignore their Content-Length header.

TODO: Do not cache the truncated entry and purge the cached version, if any.

16 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Fri, 3 Jul 2009 00:59:19 +0000 (12:59 +1200)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
Break forwarding loops for "transparent" or "intercept" http_ports.

Squid detected forwarding loops in most configurations, but broke
them (using a customizable HTTP_FORBIDDEN response) only when working as
an accelerator. Squid now breaks loops when working as a transparent
proxy as well.

A persistent loop is going to be broken anyway, when the Via and
X-Forwarded-For headers exceed header size limit, but that wastes a lot of
resources and may also crash misconfigured Squids.

TODO: Consider breaking all loops, regardless of the http_port options.

TODO: Consider adding a specific and/or configurable error page for this case
instead of using hard-coded ACCESS_DENIED.

16 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Fri, 3 Jul 2009 00:56:44 +0000 (12:56 +1200)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
Bug 2695: String length overflows on append, leading to segfaults

Long-term patch for 3.0. This softens the error, but does not
resolve the issue completely for ESI.

Short-term patch for 3.1. The limit is arbitrary and may be fixed
at some point by a better patch. This one will work however.

16 years agoTestBed: Polish the tests slightly and enable per-run level of tests
Amos Jeffries [Fri, 3 Jul 2009 00:55:26 +0000 (12:55 +1200)] 
TestBed: Polish the tests slightly and enable per-run level of tests

This finished the planned testbed features. Each level of test can now
be run on any combination of make targets specific to that test.

Remove the make all output used by obsolete testbed algorithms.

16 years agoAuthor: Vincent Regnard + Peter Pramberger + Amos Jeffries
Amos Jeffries [Fri, 3 Jul 2009 00:52:28 +0000 (12:52 +1200)] 
Author: Vincent Regnard + Peter Pramberger + Amos Jeffries
Bug 2699: Build failure NTLM smb_lm helper

Multiple definition of int16 in included headers.
Make the typedef in .c and as portable as possible.

16 years agoBug 2127: delay pools class 4 crashes with ntlm auth
Amos Jeffries [Fri, 3 Jul 2009 00:48:56 +0000 (12:48 +1200)] 
Bug 2127: delay pools class 4 crashes with ntlm auth

pt 2: prevent NTLM handshake requests from being delayed prior to the
authentication credentials being confirmed.

Also adds a few more descriptive asserts to catch this bug if still live.

16 years agoBug 1338: File prefetches aborted despite range_offset
Amos Jeffries [Fri, 3 Jul 2009 00:46:04 +0000 (12:46 +1200)] 
Bug 1338: File prefetches aborted despite range_offset

16 years agoAuthor: Don Hopkins <dhopkins@DonHopkins.com>
Amos Jeffries [Fri, 3 Jul 2009 00:43:58 +0000 (12:43 +1200)] 
Author: Don Hopkins <dhopkins@DonHopkins.com>
Bug 1087: ESI processor not quoting attributes correctly.

Use HTML 4.01 specified double-quotes instead of HTML 1.0 single quotes
and HTML-encode any double-quotes contained within the attribute data.

16 years agoDelay pools 64-bit buckets and IPv6-polish
Amos Jeffries [Fri, 3 Jul 2009 00:42:44 +0000 (12:42 +1200)] 
Delay pools 64-bit buckets and IPv6-polish

This patch adds some polish and minor unfinished business in IPv6
support vs delay pools.

Also updates the bucket size to 64-bytes to allow for >4MB traffic caps.

TODO: Bump up the refresh size for >4MB/sec flows and check that nothing
      gets broken by it.

16 years agoBug 422: RFC 2616 Date header requirements
Amos Jeffries [Fri, 3 Jul 2009 00:41:25 +0000 (12:41 +1200)] 
Bug 422: RFC 2616 Date header requirements

The Date: header appears to already be implemented on all generated
pages and ICAP processed pages.
This tests and enforces Date: on all other outgoing replies as required.

I'm not certain this is the right place, it appears to be post-caching.
The RFC indicates the Date: should be enforced pre-caching. But was
unable to find a place of input cloning/processing after initial parse.
The storeEntry timestamp is used to estimate correct receiving date.

16 years agoSimpler test for PURGE method
Amos Jeffries [Fri, 3 Jul 2009 00:39:38 +0000 (12:39 +1200)] 
Simpler test for PURGE method

Uses a tri-state setting on enable_purge and acl parsing to
detect PURGE method addition/removal instead of a complicated ACL
creation test post-configure.

This removes the annoying false errors about temp ACL and some minor
speed up in all actions that parse squid.conf.

16 years agoAuthor: Francesco Chemolli <kinkie@squid-cache.org>
Amos Jeffries [Fri, 3 Jul 2009 00:36:45 +0000 (12:36 +1200)] 
Author: Francesco Chemolli <kinkie@squid-cache.org>
Bug 2092: Changed select loop call counter to 64-bit

... unsigned long int so that it won't wrap around so easily.
Changed select loops counter from int to unsigned long int.

16 years agoAuthor: Philip Allison <philip.allison@smoothwall.net>
Amos Jeffries [Fri, 3 Jul 2009 00:34:45 +0000 (12:34 +1200)] 
Author: Philip Allison <philip.allison@smoothwall.net>
Bug 2614 fix: Potential loss of adapted body data from eCAP adapters

It was possible for Squid to stop reading buffered adapted body data before it
has all been sent to the browser.

Squid treated a call to noteAbContentDone by an adapter as a signal to stop
consuming and sending adapted body data. The correct behaviour is to use
noteAbContentDone to record the fact that the adapter has stopped producing
new adapted body data, but continue to consume and send data until all
buffered ab content is consumed and sent (i.e., abContent returns an empty
Area).

Links to relevant discussions:

https://answers.launchpad.net/ecap/+question/63068
https://answers.launchpad.net/ecap/+question/63147

16 years agoLanguage Updates: Add aliases from live traffic info
Amos Jeffries [Fri, 3 Jul 2009 00:32:54 +0000 (12:32 +1200)] 
Language Updates: Add aliases from live traffic info

Taking a scan of the last 98 days traffic and locating the country-code
Accept-Language headers used in that traffic to refer to the existing
languages gives a subset we can alias to further improve the coverage.

Also, Country-specific Arabic thanks to Alaa of the Translation Toolkit Project

16 years ago3.1.0.9 SQUID_3_1_0_9
Amos Jeffries [Fri, 26 Jun 2009 10:34:44 +0000 (04:34 -0600)] 
3.1.0.9

16 years agoPrep for 3.1.0.9
Amos Jeffries [Fri, 26 Jun 2009 09:21:35 +0000 (21:21 +1200)] 
Prep for 3.1.0.9

16 years agoPrevent getservbyname() being called with a numeric value on Windows.
Amos Jeffries [Fri, 26 Jun 2009 09:18:55 +0000 (21:18 +1200)] 
Prevent getservbyname() being called with a numeric value on Windows.

The function getservebyname() returns garbage values when called with
a numeric port "name" for Windows people.

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Fri, 26 Jun 2009 08:21:43 +0000 (20:21 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
tar-ustar requires automake 1.9 or later. Drop earlier versions from selection, and add 1.11

16 years agoLanguage Update: Alias links now handle en-*
Amos Jeffries [Fri, 26 Jun 2009 07:23:37 +0000 (19:23 +1200)] 
Language Update: Alias links now handle en-*

16 years agoBug 2682: Add ftp_epsv control to disable EPSV support.
Amos Jeffries [Thu, 25 Jun 2009 13:40:32 +0000 (01:40 +1200)] 
Bug 2682: Add ftp_epsv control to disable EPSV support.

Some firewalls are known to be severly broken with EPSV requests.
This enables Admin to turn it off if they need to.

16 years agoPrep for 3.0.STABLE16
Amos Jeffries [Wed, 24 Jun 2009 06:36:45 +0000 (18:36 +1200)] 
Prep for 3.0.STABLE16

16 years agoMake gcc 4.4 happy with 3.1 libraries
Amos Jeffries [Wed, 24 Jun 2009 03:39:08 +0000 (15:39 +1200)] 
Make gcc 4.4 happy with 3.1 libraries

 - Fixes libecap build fubar
 - Fixes libbase circular dependencies for ufsdump

16 years agoFix alias linker dist/install
Amos Jeffries [Wed, 24 Jun 2009 03:37:51 +0000 (15:37 +1200)] 
Fix alias linker dist/install

make requires ';' after a SHELL command apparently.

Make alias-link.sh handle case where the DESTDIR is non-existent.
This occurs on some distro packaging systems (ie using langpack as a
separate package may not install errors).

16 years agoDetect IPv6 stack a little better.
Amos Jeffries [Wed, 24 Jun 2009 03:36:00 +0000 (15:36 +1200)] 
Detect IPv6 stack a little better.

Will now detect whether v4-mapping works and enable split-stack if not.
Moves these tests a similar below the header detection so they will work.

16 years agoCorrect ICMPv6 socket text
Amos Jeffries [Sat, 20 Jun 2009 14:44:11 +0000 (02:44 +1200)] 
Correct ICMPv6 socket text

16 years agoCorrect Licensing Credits
Amos Jeffries [Sat, 20 Jun 2009 14:38:28 +0000 (02:38 +1200)] 
Correct Licensing Credits

Several of the licenses mentioned in the CREDITS file are not relevant
to Squid-3.1 code any more. Several license disclaimers were found to be
missing.

Thanks to the Debian Project for identifying these incorrect entries.

16 years agoLanguage alias linker/installer/upgrade scripts
Amos Jeffries [Sat, 20 Jun 2009 14:36:50 +0000 (02:36 +1200)] 
Language alias linker/installer/upgrade scripts

alias-link.sh
  This is a script set designed to be called via make/Makefile and setup
  language codes for those languages which it would be impractical to
  bundle duplicate translated files for.
  Relies on local environment tools to be detected by automake.

make install
  - now also calls generation of aliases after existing install.
    Provided in file aliases.

make upgrade
  - cleans out legacy files from pre-3.1 and replaces with symlinks
    to the new upgraded language codes.
    Provided in file alias-upgrade.
  NP: this is a destructive process and must be manually run.

Bundle aliasing scripts and Makefile to use them with the langpack.

16 years agoAdd Treehouse to SPONSORS
Amos Jeffries [Sat, 20 Jun 2009 14:34:48 +0000 (02:34 +1200)] 
Add Treehouse to SPONSORS

16 years agoRemove last remains of dead options
Amos Jeffries [Sat, 20 Jun 2009 14:25:54 +0000 (02:25 +1200)] 
Remove last remains of dead options

16 years agoBug 2679: strsep and strtoll should be bundled
Amos Jeffries [Sat, 20 Jun 2009 14:20:24 +0000 (02:20 +1200)] 
Bug 2679: strsep and strtoll should be bundled

Incorrect autoconf macro to test for these was leading to a large hack.
Using the right macro fixes this issue and links as needed.

16 years agoInstall Kerberos helper in libexec not sbin
Amos Jeffries [Sat, 20 Jun 2009 14:19:15 +0000 (02:19 +1200)] 
Install Kerberos helper in libexec not sbin

16 years agoSourceFormat enforcement
Amos Jeffries [Sun, 14 Jun 2009 12:35:17 +0000 (00:35 +1200)] 
SourceFormat enforcement

16 years agoAuthor: fancyrabbit <fancyrabbit@gmail.com>
Amos Jeffries [Sun, 14 Jun 2009 12:12:12 +0000 (00:12 +1200)] 
Author: fancyrabbit <fancyrabbit@gmail.com>
Bug 2672: cacheMemMaxSize 32-bit overflow during snmpwalk

snint is 32-bits. Unwrapped the code casts int64 to int32 before
reducing the base unit size to MB.

16 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Sun, 14 Jun 2009 12:10:18 +0000 (00:10 +1200)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
Make distuninstallcheck work when $(RM) contains spaces (e.g., rm -f).

We must quote $(RM) value when passing it to scripts/remove-cfg.sh
The bug was detected by running test-builds.sh.

16 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Sun, 14 Jun 2009 12:09:00 +0000 (00:09 +1200)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
Prevent "make check" failure on warn_unused_result warning for fwrite(3) call.

16 years agoBug 2395: FTP auth errors not displayed
Amos Jeffries [Sun, 14 Jun 2009 12:07:07 +0000 (00:07 +1200)] 
Bug 2395: FTP auth errors not displayed

Round 2 for this bug. Now we handle missing auth as an expected result
rather than a failure. FTP operations are now well tested and this patch
does not affect code shared with other components.

Side-effect is that browser authentication popups now appear when the
FTP server needs authentication. This has been a long missed event.

The root cause of the issue is not found so other subsequent errors in
FTP sub-protocol still silently lost due to the same issue.

16 years agoAuthor: Various Translators
Amos Jeffries [Sun, 14 Jun 2009 11:51:36 +0000 (23:51 +1200)] 
Author: Various Translators
Language Updates and new Thai, Malay

This patch completes the deprecation of old translations.
All are now converted from static files to .po format.
Also renames .po to errpages.pot.

16 years agoAuthor: Guido Serassio <serassio@squid-cache.org>
Amos Jeffries [Sun, 7 Jun 2009 12:07:31 +0000 (00:07 +1200)] 
Author: Guido Serassio <serassio@squid-cache.org>
Windows port: Bit types protection must applied always

16 years agoRelease Notes: tcpkeepalive very much present
Amos Jeffries [Sat, 6 Jun 2009 11:39:46 +0000 (23:39 +1200)] 
Release Notes: tcpkeepalive very much present

16 years agoAuthor: Guido Serassio <serassio@squid-cache.org>
Amos Jeffries [Sat, 6 Jun 2009 00:43:00 +0000 (12:43 +1200)] 
Author: Guido Serassio <serassio@squid-cache.org>
Windows port: added build test options file for MinGW environment

16 years agoAuthor: Guido Serassio <serassio@squid-cache.org>
Amos Jeffries [Sat, 6 Jun 2009 00:41:56 +0000 (12:41 +1200)] 
Author: Guido Serassio <serassio@squid-cache.org>
Fix TCP and UDP buffer size detection

After the switch to C++ of configure.in, some tests must be revised, maybe
that they are still some other always failing test.

16 years agoAuthor: Guido Serassio <serassio@squid-cache.org>
Amos Jeffries [Sat, 6 Jun 2009 00:39:24 +0000 (12:39 +1200)] 
Author: Guido Serassio <serassio@squid-cache.org>
Windows port: second chunk of fixes needed to build again Squid3 using MinGW

16 years agoSourceLayout: Shuffle ident files into libident.la
Amos Jeffries [Sat, 6 Jun 2009 00:37:26 +0000 (12:37 +1200)] 
SourceLayout: Shuffle ident files into libident.la

 * Moves files into ident/ for library
 * Adds Ident:: namespace for interface.
 * Moves ident config to Ident::TheConfig
 * reduces one avenue of memory leak on double-Init of ident objects.
 * Makes ident ACL only relevant when ident is available
 * Wraps Ident code in USE_IDENT for monolithic or empty library build
 * Adds documentation for ident API

TODO: Async and Object'ify the ident internals.

16 years agoAuthor: Guido Serassio <serassio@squid-cache.org>
Amos Jeffries [Sat, 6 Jun 2009 00:35:15 +0000 (12:35 +1200)] 
Author: Guido Serassio <serassio@squid-cache.org>
Fix build failure of squid_radius_auth.

Also added config.test. Before of this, squid_radius_auth probably was never
automatically build during squid 3 development.

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Sat, 6 Jun 2009 00:30:20 +0000 (12:30 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
MFC: Back out unintended md5 -> squid_md5 substituions from the md5.h -> squid_md5.h name change

somehow the global search/replace used when renaming include/md5.h picked up a
lot more than intended.

NP:
 This is a missing forward port from Squid 2 of an old Henrik's commit
 Found by Guido Serassio <serassio@squid-cache.org>

16 years agoPort from 2.7: Show local address on listening sockets
Amos Jeffries [Sat, 6 Jun 2009 00:14:07 +0000 (12:14 +1200)] 
Port from 2.7: Show local address on listening sockets

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Sat, 6 Jun 2009 00:11:44 +0000 (12:11 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Bug #2407: Spelling error in http_port tcpkeepalive option

One of the new parameters according to the docs is "keepalive". However, when
using this option you'll get a "Bungled squid.conf in line ...". That's because
when parsing the configuration Squid is looking for the keyword "tcpkeepalive"
instead of "keepalive" as stated in the docs.

Selected to fix the docs instead of code as having it named keepalive is too
easily confused with HTTP keep-alive / persistent connections.

2009-05-25: Also mistakes on spelling of config dump.

16 years agoTypo in pam_auth man page
Amos Jeffries [Sat, 6 Jun 2009 00:09:54 +0000 (12:09 +1200)] 
Typo in pam_auth man page

16 years agoFix false NAT lookup errors.
Amos Jeffries [Sat, 6 Jun 2009 00:07:53 +0000 (12:07 +1200)] 
Fix false NAT lookup errors.

Turns out the getsockopt result test was inverted.
Also update SOL_IP parameter to current IPPROTO values.

16 years agoAuthor: Guido Serassio <serassio@squid-cache.org>
Amos Jeffries [Sat, 6 Jun 2009 00:00:08 +0000 (12:00 +1200)] 
Author: Guido Serassio <serassio@squid-cache.org>
Windows port: Fix configure and build failures on MinGW.

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Fri, 5 Jun 2009 23:57:14 +0000 (11:57 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Adds "tag" type acl matching tags set by external acl helpers.

Currently using a list of strings (not even splay) as the number of
members is generally expected to be very small.

Should be complemented by a regex based acl.

16 years agoWrap C++ headers. Fixes define clash with libcompat
Amos Jeffries [Fri, 5 Jun 2009 23:47:35 +0000 (11:47 +1200)] 
Wrap C++ headers. Fixes define clash with libcompat

ostream and family were including sys/types.h which causes
FD_SET rediefinition with libcompat at times.
Current autoconf allows these headers to be wrapped and config.h
included before to prevent this and other things.

16 years agoAuthor: Joao Alves Neto <alves_joao@hotmail.com>
Amos Jeffries [Fri, 5 Jun 2009 23:44:15 +0000 (11:44 +1200)] 
Author: Joao Alves Neto <alves_joao@hotmail.com>
Make fakeauth handle NTLMv2 better

NTLMv2 requires challenge flags to be a mirror of those received.

16 years agoAutoDocs: Exclude test build directories and add /cpptest directive
Amos Jeffries [Fri, 5 Jun 2009 23:41:42 +0000 (11:41 +1200)] 
AutoDocs: Exclude test build directories and add /cpptest directive

16 years agoCorrect use of custom target testheaders:
Amos Jeffries [Fri, 5 Jun 2009 23:34:07 +0000 (11:34 +1200)] 
Correct use of custom target testheaders:

 - Adds use of .PHONY in all files the do the test
 - Fixes dist breakage after automake changes
 - Fixes checks which depended on -I.

16 years agoBug 2665: Detach automake system from using -I.
Amos Jeffries [Fri, 5 Jun 2009 23:28:19 +0000 (11:28 +1200)] 
Bug 2665: Detach automake system from using -I.

16 years agoDetatch debugs() from many of its dependencies
Amos Jeffries [Fri, 5 Jun 2009 23:21:59 +0000 (11:21 +1200)] 
Detatch debugs() from many of its dependencies

 - makes cache.log independent of the other logging systems
 - adds debug_options rotate=N setting to override logfile_rotate
 - moves debug-specific globals and types into Debug::

TODO:
  remove remaining dependancy on shutdown flag
  polish up namespace etc for libdebug

16 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Fri, 5 Jun 2009 22:48:54 +0000 (10:48 +1200)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
SourceLayout: src/base, take 1 -- moved remaining Async* files to src/base/

16 years agoAuthor: Duane Wessels <wessels@squid-cache.org>
Amos Jeffries [Sat, 30 May 2009 13:48:05 +0000 (01:48 +1200)] 
Author: Duane Wessels <wessels@squid-cache.org>
MFC: documentation bugfix for tcp_outgoing_tos directive

16 years agoAuthor: Diego Woitasen <diegows <at> xtech.com.ar>
Amos Jeffries [Sat, 30 May 2009 13:46:54 +0000 (01:46 +1200)] 
Author: Diego Woitasen <diegows <at> xtech.com.ar>
Fix stripping NT domain in squid_ldap_group

16 years agoAdd Translate: and Unless-Modified-Since: headers to known list.
Amos Jeffries [Sat, 30 May 2009 13:40:23 +0000 (01:40 +1200)] 
Add Translate: and Unless-Modified-Since: headers to known list.

They are custom microsoft headers we may need to use header_access to
crop away. Translate: is needed for WEBDAV so we must leave this up
to individual admin.

16 years agoAuthor: Arkin <arkin.yang@gmail.com>
Amos Jeffries [Sat, 30 May 2009 13:38:39 +0000 (01:38 +1200)] 
Author: Arkin <arkin.yang@gmail.com>
Bug 2387: The calculation of the number of hash buckets need to account for the memory size, not only disk size

cache_mem only setups without a cache_dir miscalculates the hash table size,
resulting in poor performance if cache_mem is very large.

16 years agoAuthor: Henrik Nordstrom <henrik@henriknordstrom.net>
Amos Jeffries [Sat, 30 May 2009 13:33:16 +0000 (01:33 +1200)] 
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
Bug 2481: Don't set expires: now in generated error responses

Sending Expires: "now" overrides any negative cache logics which may
be present in downstream caches and is a bad idea. Better to send
the responses without any explicit expiry information.

16 years ago3.1.0.8 SQUID_3_1_0_8
Amos Jeffries [Sat, 23 May 2009 12:30:14 +0000 (06:30 -0600)] 
3.1.0.8

16 years agoPrep for 3.1.0.8
Amos Jeffries [Sat, 23 May 2009 11:40:16 +0000 (23:40 +1200)] 
Prep for 3.1.0.8

16 years agoAuthor: Adrian Chadd <adrian@squid-cache.org>
Amos Jeffries [Sat, 23 May 2009 02:59:52 +0000 (14:59 +1200)] 
Author: Adrian Chadd <adrian@squid-cache.org>
Add in some better documentation for override-expire.

Attempt to clearly document exactly what it does - in this instance, it
enforces min age and doesn't allow the admin to enforce max-age -
ie, truncate staleness.

16 years agoAuthor: Matthias Pitzl <silamael@coronamundi.de>
Amos Jeffries [Sat, 23 May 2009 02:49:05 +0000 (14:49 +1200)] 
Author: Matthias Pitzl <silamael@coronamundi.de>
Bug 2644: auth scheme initialization is broken

Allocates auth schemas dynamically when needed.

TODO: de-allocate somehow on shutdown to stop the leakage this adds

16 years agoShuffle dnsserver -s option into its own function call.
Amos Jeffries [Sat, 23 May 2009 02:47:33 +0000 (14:47 +1200)] 
Shuffle dnsserver -s option into its own function call.

This is prep for bug 2147 closure.

16 years agoAuthor: Guido Serassio <serassio@squid-cache.org>
Amos Jeffries [Sat, 23 May 2009 02:44:08 +0000 (14:44 +1200)] 
Author: Guido Serassio <serassio@squid-cache.org>
Windows port: Fix improper access permissions to registry and DNS parsing from registry

- RegOpenKey() always try to open registry keys in full control mode, even if not needed.
  This could make Squid to fail when running as a non privileged user. RegOpenKeyEx() allow to
  specify only the needed priviledge and now is used instead.

- When parsing DNS setting into registry, a fixed size loop was used. Now the loop count is
  dynamic.

16 years agoAuthor: vollkommen <vollkommen@gmx.net>
Amos Jeffries [Sat, 23 May 2009 02:42:06 +0000 (14:42 +1200)] 
Author: vollkommen <vollkommen@gmx.net>
Remove ssl_error_t CBDataList template instance

clashes with template <int> instantiation for other ACLs.

16 years agoMove ASN handling for ACL into ACL area.
Amos Jeffries [Sat, 23 May 2009 02:41:21 +0000 (14:41 +1200)] 
Move ASN handling for ACL into ACL area.

This removes one possble compile clash, and one empty file.

16 years agoReplace assert with NOP action in hash free.
Amos Jeffries [Sat, 23 May 2009 02:09:53 +0000 (14:09 +1200)] 
Replace assert with NOP action in hash free.

This resolves one small coverity itch.
When nothing to free we don't really need to care, we do need to act
safely and not try to actually action the free though.

16 years agoPrep for 3.0.STABLE16-RC1
Amos Jeffries [Fri, 15 May 2009 12:33:33 +0000 (00:33 +1200)] 
Prep for 3.0.STABLE16-RC1