]> git.ipfire.org Git - thirdparty/squid.git/log
thirdparty/squid.git
14 years agoMerged from parent (trunk 11270, circa 3.2.0.5+)
Alex Rousskov [Wed, 9 Mar 2011 19:02:12 +0000 (12:02 -0700)] 
Merged from parent (trunk 11270, circa 3.2.0.5+)

14 years agoGive full Request-URI to eCAP adapters.
Alex Rousskov [Wed, 9 Mar 2011 17:52:15 +0000 (10:52 -0700)] 
Give full Request-URI to eCAP adapters.

Implement libecap::RequestLine::uri() to return full Request-URI instead
of URL path.

Niether full URL nor URL path is perfect because the actual request may
have full URI or a path, but Squid does not really keep that
information. This change makes our eCAP implementation consistent with
our ICAP implementation.

Eventually, eCAP may have an API that is guaranteed to return full
Request-URI and Squid may remember what kind of URI it got in the virgin
request, allowing for a more truthful implementation.

14 years agoBug 2621: Provide request headers to RESPMOD when using cache_peer.
Alex Rousskov [Wed, 9 Mar 2011 17:44:55 +0000 (10:44 -0700)] 
Bug 2621: Provide request headers to RESPMOD when using cache_peer.
A short-term fix.

When FwdServer::_peer is set, HttpStateData constructor creates a new special
HttpRequest, overwriting the request pointer set in the parent
(ServerStateData) constructor to fwd->request.

To make matters worse, this special peer request has no headers at all (even
though flags and some cached/computed header values are copied). We initialize
it with the right URL, method, and protocol. We copy flags and a few other
random properties from the original request. We never copy the original
headers.

Furthermore, regardless of the peering, when we create the headers to send to
the next hop, those headers are temporary and not stored in any request
structure (see HttpStateData::buildRequestPrefix). The non-peering code
survives this because the request member points to fwd->request, which has the
headers. The peering code fails as illustrated by this bug.

I believe both cases are buggy because server-side adaptation and core code
should have access to the request headers we sent rather than the request
headers we received and adapted (or no headers at all). After all, it is the
sent headers that determine the next hop view of our Squid and adaptation
services should see a pair of _matching_ request and response headers.

I am pretty sure there are other bugs related to HttpStateData using a special
peer request structure instead of fwd->request. Please note that FwdState has
no idea that this substitution is going on.

This quick short-term fix uses the original request and its headers when
checking RESPMOD ACLs. This is what the patch in bug #2562 did for Squid v3.0.
For the reasons described above, this patch may be either insufficient or
wrong for the long-term fix.

14 years agoImport external libecap in adaptation/ecap/, where it belongs.
Alex Rousskov [Wed, 9 Mar 2011 17:39:02 +0000 (10:39 -0700)] 
Import external libecap in adaptation/ecap/, where it belongs.
Either we finally found the working combination of libtool variables or the
previous attempts were failing due to libtool confusion over leftovers in
the build directory (or we will discover more build failures later!).

Polished libecap-related Makefile variable names based on squid-dev review.

14 years agoPolished to address Squid Project review comments.
Alex Rousskov [Tue, 8 Mar 2011 23:56:22 +0000 (16:56 -0700)] 
Polished to address Squid Project review comments.

14 years agoIDNS missing casts
Amos Jeffries [Sun, 6 Mar 2011 11:48:16 +0000 (00:48 +1300)] 
IDNS missing casts

14 years agoMake DNS report failure on all packet construction errors
Amos Jeffries [Sat, 5 Mar 2011 06:00:08 +0000 (23:00 -0700)] 
Make DNS report failure on all packet construction errors

The attached patch alters the DNS lookup behaviour to abort with an error
in ALL cases where the rfc1035 library generates an error (negative result).

I'm not sure there is any noticable effect other than better code. The
error case *should* in old code be picked up on the initial packet
construction rather than the repeat packet. This may have been incorrect
given that the packet type is changing between A/AAAA.

14 years agoBug 2976: invalid URL on intercepted requests during reconfigure
Amos Jeffries [Sat, 5 Mar 2011 02:00:32 +0000 (19:00 -0700)] 
Bug 2976: invalid URL on intercepted requests during reconfigure

Listening ports abuse the cbdata type as a pseudo refcount. This breaks
during reconfigure when the config is erased and the active requests
handles all become invalid pointers.

Interception only works on HTTP protocol. We can hard-code the scheme
and avoid this problem until a complete fix is written.

14 years agoSourceFormat Enforcement
Automatic source maintenance [Sat, 5 Mar 2011 01:12:33 +0000 (18:12 -0700)] 
SourceFormat Enforcement

14 years agoRFC 1738 encoder upgraded action flags
Amos Jeffries [Sat, 5 Mar 2011 00:32:41 +0000 (13:32 +1300)] 
RFC 1738 encoder upgraded action flags

This updates the encoder flags parameter to allow selection of individual
character sets of CTRLS, UNSAFE, and RESERVED.

Also, to permit selective omission of the % and space characters from the
UNSAFE set.

Also, an optimization is added to skip SAFE characters on a short-circuit.

14 years agoSourceFormat Enforcement
Automatic source maintenance [Fri, 4 Mar 2011 01:12:39 +0000 (18:12 -0700)] 
SourceFormat Enforcement

14 years agoBug 2885: Compile errors on AIX
Amos Jeffries [Thu, 3 Mar 2011 15:41:54 +0000 (04:41 +1300)] 
Bug 2885: Compile errors on AIX

Support AIX unusual definition of in_addr/in6_addr unions.

14 years agoFix typos and missing if in libTrie inline support.
Amos Jeffries [Thu, 3 Mar 2011 14:02:10 +0000 (03:02 +1300)] 
Fix typos and missing if in libTrie inline support.

14 years agoCorrect debug statement about non-IPs on parse
Amos Jeffries [Thu, 3 Mar 2011 12:56:51 +0000 (01:56 +1300)] 
Correct debug statement about non-IPs on parse

14 years agoBug 2965: Compile errors on MinGW
Cephas [Thu, 3 Mar 2011 12:20:58 +0000 (01:20 +1300)] 
Bug 2965: Compile errors on MinGW

14 years agoSourceLayout: protocol_t upgrade fix
Christos Tsantilas [Thu, 3 Mar 2011 10:40:16 +0000 (12:40 +0200)] 
SourceLayout: protocol_t upgrade fix

The proto acls does not work due to a mistyped strcasecmp if check

14 years agoFix Solaris warning: strands hides Ipc::Inquirer::strands
Amos Jeffries [Thu, 3 Mar 2011 04:31:33 +0000 (17:31 +1300)] 
Fix Solaris warning: strands hides Ipc::Inquirer::strands

14 years agoSourceFormat Enforcement
Automatic source maintenance [Thu, 3 Mar 2011 01:18:42 +0000 (18:18 -0700)] 
SourceFormat Enforcement

14 years agoAdd support for parameterized Cache Manager queries, compile errors fix
Christos Tsantilas [Wed, 2 Mar 2011 22:36:51 +0000 (00:36 +0200)] 
Add support for parameterized Cache Manager queries, compile errors fix

The regex.h file if required included in compat.h file, must not used directly
in squid sources

14 years agoUpdate PROTO_CACHEOBJ to PROTO_CACHE_OBJECT name
Amos Jeffries [Wed, 2 Mar 2011 20:43:21 +0000 (13:43 -0700)] 
Update PROTO_CACHEOBJ to PROTO_CACHE_OBJECT name

Also catches several eCAP uses which were missed.

14 years agoAdd support for parameterized Cache Manager queries fix warnings in CentOS 5.3 amd64
Christos Tsantilas [Wed, 2 Mar 2011 19:27:09 +0000 (21:27 +0200)] 
Add support for parameterized Cache Manager queries fix warnings in CentOS 5.3 amd64

14 years agoAdd support for parameterized Cache Manager queries.
Christos Tsantilas [Wed, 2 Mar 2011 18:53:06 +0000 (20:53 +0200)] 
Add support for parameterized Cache Manager queries.

Currently, one sends mgr queries to the "whole" Squid. Kids responses may get
aggregated by Coordinator, and we, in general, want to aggregate all responses
that can be aggregated.

This patch allow us to aggregate stats for a subset of kids. For example,
the following query aggregates stats for just the first and the third workers:

    mgr:info?workers=1,3

When query response information cannot be aggregated (or at least is not
aggregated right now), then a parameterized query will result in several
matching "byKid { ..." blocks.

This patch support the following scope variants:

    * raw interface with access to any kid process or groups of kids; similar
      to ${process_number} macro we already support in squid.conf:
          mgr:foo?processes=id,id,id...
    * higher-level interface to isolate workers by their numbers, starting
      with 1 for the first worker:
          mgr:foo?workers=num,num,num...

Currently, all kids except Coordinator are workers, but that will change in
the future as we get more kinds of kids.Currently, one sends mgr queries
to the "whole" Squid. Kids responses may get aggregated by Coordinator,
and we, in general, want to aggregate all responses that can be aggregated.

This is a Measurement Factory project

14 years agofix Mgr::Inquirer::applyQueryParams, fix constness in QueryPArams
Christos Tsantilas [Wed, 2 Mar 2011 18:49:11 +0000 (20:49 +0200)] 
fix Mgr::Inquirer::applyQueryParams, fix constness in QueryPArams

14 years agoundo unneeded changes
Christos Tsantilas [Wed, 2 Mar 2011 16:46:09 +0000 (18:46 +0200)] 
undo unneeded changes

14 years agomerge from trunk
Christos Tsantilas [Wed, 2 Mar 2011 16:40:40 +0000 (18:40 +0200)] 
merge from trunk

14 years agoSourceLayout: protocol_t upgrade
Amos Jeffries [Wed, 2 Mar 2011 07:27:24 +0000 (00:27 -0700)] 
SourceLayout: protocol_t upgrade

This begins the libanyp.la SourceLayout changes by moving the protocol_t
type code to stand-alone files inside its namespace.

On the most part there are no behaviour changes. The boundaries between
the two semi-related types of protocol and protocol scheme are now clear:

 * URLScheme is to be used where the protocol name is related to a URI
   scheme description.

 * AnyP::ProtocolType is to be used for other non-URI places requiring
   the protocol to be named or manipulated as a concept.

Textual representations of these two concepts differ and the output of
these two types likewise differs to accomodate. Abusing them will result
in visibly unusual output.

14 years agoAuthor: Bernard <fli4l.charrier@free.fr>
Amos Jeffries [Thu, 24 Feb 2011 23:01:35 +0000 (12:01 +1300)] 
Author: Bernard <fli4l.charrier@free.fr>
Language: fr updates

14 years agoDisplay correct information on dstdomain clashes
Amos Jeffries [Thu, 24 Feb 2011 13:52:27 +0000 (02:52 +1300)] 
Display correct information on dstdomain clashes

Abort with an error when a wildcard entry is going to be
discarded because of a sub-domain entry.
Also whenever there is a mixup between a domain and its
sub-domain wildcard alternative.

Rais a non-fatal warning when a useless subdomain entry
is being discarded and its super-set wildcard kept.

Care is taken to present the singular subdomain for
possible removal and keep the wildcard.

14 years agoRevert client_side_request changes in rev11247
Amos Jeffries [Thu, 24 Feb 2011 11:55:11 +0000 (00:55 +1300)] 
Revert client_side_request changes in rev11247

14 years agoICC support: code polish to reduce compile warnings
Amos Jeffries [Thu, 24 Feb 2011 10:18:58 +0000 (23:18 +1300)] 
ICC support: code polish to reduce compile warnings

14 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Wed, 23 Feb 2011 00:15:09 +0000 (13:15 +1300)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
Bug 3159: (partial fix) ICAP and --disable-auth compile problems

TODO: other areas outside of ICAP with similar issues.

14 years agoFix for revno11239. Perform detection where it is not going to be erased
Amos Jeffries [Tue, 22 Feb 2011 23:39:33 +0000 (12:39 +1300)] 
Fix for revno11239. Perform detection where it is not going to be erased

The kerberos library detection is wrapped inside a state which erases
the results of LIBS and flags found by AC_SEARCH_LIBS.
Do the search outside that block.

14 years agoMade icc compiler happier without using a GCC-specific __attribute__.
Alex Rousskov [Tue, 22 Feb 2011 01:31:02 +0000 (18:31 -0700)] 
Made icc compiler happier without using a GCC-specific __attribute__.

Reverts r11236 while fixing the FileNameHashCacheUser code. Passes an icc test.

14 years agoAllow constant pointers to non-constant HttpMsgs.
Alex Rousskov [Mon, 21 Feb 2011 05:06:20 +0000 (22:06 -0700)] 
Allow constant pointers to non-constant HttpMsgs.

14 years agoMinimize difference with parent (trunk).
Alex Rousskov [Mon, 21 Feb 2011 04:46:17 +0000 (21:46 -0700)] 
Minimize difference with parent (trunk).

14 years agoCode cleanup: Described Adaptation::Ecap::Config and ServiceConfig classes.
Alex Rousskov [Mon, 21 Feb 2011 04:39:04 +0000 (21:39 -0700)] 
Code cleanup: Described Adaptation::Ecap::Config and ServiceConfig classes.

14 years agoMerged from parent (trunk r11242, circa 3.2.0.5+)
Alex Rousskov [Mon, 21 Feb 2011 04:32:39 +0000 (21:32 -0700)] 
Merged from parent (trunk r11242, circa 3.2.0.5+)

14 years agoCode cleanup: Proper assignment and copying of HttpHeader.
Alex Rousskov [Mon, 21 Feb 2011 04:31:06 +0000 (21:31 -0700)] 
Code cleanup: Proper assignment and copying of HttpHeader.

Besides being the Right Thing, having correct assignment operator and
copy constructor helps classes that have HttpHeader data members to
avoid defining explicit assignment operators and copy constructors.

Also adds forgotten reset of "len" in the clean() method.

Other polishing touches. HttpHeader::reset() is now a tiny bit faster.

No runtime changes expected.

14 years agoDisplay build environment state after configure
Amos Jeffries [Sun, 20 Feb 2011 12:35:59 +0000 (01:35 +1300)] 
Display build environment state after configure

No logic changes. This is purely a debugging aid to track which libraries
objects and flags are found as needed by configure.

14 years agoMerged from parent (trunk r11240, circa 3.2.0.5+) take03
Alex Rousskov [Fri, 18 Feb 2011 23:58:13 +0000 (16:58 -0700)] 
Merged from parent (trunk r11240, circa 3.2.0.5+)

14 years agoFix mangled src/Makefile.am SNMP section
Amos Jeffries [Fri, 18 Feb 2011 23:11:19 +0000 (12:11 +1300)] 
Fix mangled src/Makefile.am SNMP section

14 years agolibecap v0.2.0 options support: accept/update/log eCAP transaction meta-info
Alex Rousskov [Fri, 18 Feb 2011 19:39:05 +0000 (12:39 -0700)] 
libecap v0.2.0 options support: accept/update/log eCAP transaction meta-info

Adapter transaction options are now extracted and can be logged in HTTP
transaction log (access.log): Moved ICAP-specific logging-related adaptation
history features to the general adaptation history class and used them in eCAP
code.

Support adaptation_masterx_shared_names option for eCAP transactions. eCAP
transactions can now forward meta information to subsequent ICAP or eCAP
transactions (within the same master transaction scope).

Allow a routing eCAP service to determine the list of adaptation services to
be applied next to the same master transaction (same as the X-Next-Services
ICAP extension).

Identified a couple of %adapt::<last_h logging bugs and history maintenance
inconsistencies but left them alone for now.

14 years agoFix mangled src/Makefile.am SNMP section
Amos Jeffries [Fri, 18 Feb 2011 13:59:30 +0000 (02:59 +1300)] 
Fix mangled src/Makefile.am SNMP section

14 years agoauto-detect res_search() for Kerberos helpers
Amos Jeffries [Fri, 18 Feb 2011 13:31:38 +0000 (02:31 +1300)] 
auto-detect res_search() for Kerberos helpers

From libc6 2.2 res_init which we were looking for is located in libc
but res_search is only located in libresolv.

14 years agoPortability fix: Define template static members before functions
Amos Jeffries [Fri, 18 Feb 2011 12:32:27 +0000 (01:32 +1300)] 
Portability fix: Define template static members before functions

ICC complains about 'explicit specialization of member must precede its
first use' if the templand and members are not pre-defined.

Strangely other strict compilers do not mention any problem.

14 years agoLog details of the stored object when locates a Date:-less object in cache
Amos Jeffries [Fri, 18 Feb 2011 09:57:53 +0000 (22:57 +1300)] 
Log details of the stored object when locates a Date:-less object in cache

These details are difficult to find afterward and required to track down
the bug that caused them to be cached.

14 years agoCode cleanup: Implement proper copy-constructor for HttpHeader. Polished.
Alex Rousskov [Fri, 18 Feb 2011 05:05:28 +0000 (22:05 -0700)] 
Code cleanup: Implement proper copy-constructor for HttpHeader. Polished.

Besides being the Right Thing, this helps classes that have HttpHeader data
members to avoid defining explicit copy constructors.

Also fixed blindly copied assignment operator profile and polished another
constructor to prevent implicit integer-to-HttpHeader conversion.

14 years agoCode cleanup: Implement proper assignment operator for HttpHeader.
Alex Rousskov [Fri, 18 Feb 2011 04:44:02 +0000 (21:44 -0700)] 
Code cleanup: Implement proper assignment operator for HttpHeader.

Besides being the Right Thing, this helps classes that have HttpHeader data
members to avoid defining explicit assignment operators.

14 years agolibecap v0.2.0 options support: supply client IP and user name to eCAP.
Alex Rousskov [Thu, 17 Feb 2011 19:27:54 +0000 (12:27 -0700)] 
libecap v0.2.0 options support: supply client IP and user name to eCAP.

Squid now uses libecap::Options API to send client IP and user name
meta-information to the eCAP adapter transaction, just like ICAP code
does when talking to an ICAP service transaction.

Renamed related icap_* options to their more general adaptation_*
equivalents because they now control both eCAP and ICAP behavior.
Old icap_* names are deprecated but still available.

Converted eCAP service configuration code to support the new Options
API, polished.

14 years agoFixed linking with libecap after PKG_CHECK_MODULES changes.
Alex Rousskov [Thu, 17 Feb 2011 19:11:06 +0000 (12:11 -0700)] 
Fixed linking with libecap after PKG_CHECK_MODULES changes.

Previous commit (r11126) made sense and seemed to work fine until I
discovered that touching a source file in src/adaptation/ecap and
running "make" there leads to libtool's "file not found" errors for some
libtool-generated internal file. However, "make clean all" would still
work.

To better diagnose the issue, I renamed PKG_CHECK_MODULES prefix to
EXTLIBECAP and our ecap/libecap to ecap/libxecap. The difference in
names allowed to distinguish external libecap-related names/failures
from internal ones, but it did not solve the problem.

Moving EXTLIBECAP_LIBS from adaptation/ecap/ to adaptation/ Makefile.am
helped.  Older code included external libecap in adaptation/Makefile.am
as well, perhaps to avoid similar problems. It does not make sense to
put external libecap there instead of the ecap-specific directory, but
it works.

14 years agoPortability fix: override compiler magic in understanding when a function is really...
Francesco Chemolli [Thu, 17 Feb 2011 15:40:21 +0000 (16:40 +0100)] 
Portability fix: override compiler magic in understanding when a function is really unused.

14 years agosquidclient: send cachemgr password via -w option
Amos Jeffries [Thu, 17 Feb 2011 14:57:33 +0000 (03:57 +1300)] 
squidclient: send cachemgr password via -w option

Preparation for internal cachemgr updates to use real proxy-auth.

The cachamgr password may now be sent in three ways:
  Deprecated:      mgr:info@password
  Current Option:  -w password mgr:info
  Preferred:       -u username -w password mgr:info

The old explicit @ syntax is now deprecated for visible use. The background
systems will still send it that way for cache_object: URLs. Use of this
overrides any -w option set. So it is still possible to login to a proxy
with one set of credentials and pass a separate password to the cachemgr.
The long-term plan is to drop @ completely in future.

The current option of just -w will convert the password to @ syntax in the
background but not add Proxy-Authentication headers. This may die in future.

The preferred alternative is to use -u and -w which triggers addition of real
Proxy-Authenticate headers. The username is not yet used by cachemgr but
may be required by the proxy ACL configuration.

14 years agosquidclient: use Cache-Control instead of Pragma
Amos Jeffries [Thu, 17 Feb 2011 14:45:24 +0000 (03:45 +1300)] 
squidclient: use Cache-Control instead of Pragma

14 years agosquidclient: send User-Agent header and -A option to alter it
Amos Jeffries [Thu, 17 Feb 2011 14:37:38 +0000 (03:37 +1300)] 
squidclient: send User-Agent header and -A option to alter it

14 years agoBug 3155: Werror is hard-coded in libTrie build
Amos Jeffries [Thu, 17 Feb 2011 03:11:22 +0000 (16:11 +1300)] 
Bug 3155: Werror is hard-coded in libTrie build

TODO: we should also adapt -Wall and suport non-GCC compiler flags

14 years agoUse pkg-config's PKG_CHECK_MODULES to check for and link with libecap.
Alex Rousskov [Wed, 16 Feb 2011 17:57:09 +0000 (10:57 -0700)] 
Use pkg-config's PKG_CHECK_MODULES to check for and link with libecap.

Side-effect: We can and do check whether Squid supports the installed libecap
package version. This check avoids accidently building Squid with the wrong
libecap release. TODO: Check whether the loaded eCAP adapter was build with a
supported libecap version as well.

14 years agoBug 2720: comment in same line as cache/mem_replacement_policy causes error
Amos Jeffries [Wed, 16 Feb 2011 14:17:21 +0000 (03:17 +1300)] 
Bug 2720: comment in same line as cache/mem_replacement_policy causes error

14 years agoSourceFormat Enforcement
Automatic source maintenance [Wed, 16 Feb 2011 01:12:34 +0000 (18:12 -0700)] 
SourceFormat Enforcement

14 years agoFix typo in EUI documentation
Amos Jeffries [Wed, 16 Feb 2011 00:45:11 +0000 (13:45 +1300)] 
Fix typo in EUI documentation

14 years agoPortability fix: SunStudio doesn't like a preprocessor-guarded conditional debug...
Francesco Chemolli [Tue, 15 Feb 2011 15:18:38 +0000 (16:18 +0100)] 
Portability fix: SunStudio doesn't like a preprocessor-guarded conditional debug tag.

14 years agoBug 3105: malformed Proxy-Authorization leaks memory
Amos Jeffries [Tue, 15 Feb 2011 12:55:35 +0000 (01:55 +1300)] 
Bug 3105: malformed Proxy-Authorization leaks memory

This simplifies the header parser for basic auth. Working towards a more
generalized model of AuthUser children. Removing two memory allocations, two
leaks and several unnecessary functions.

14 years agoAuthor: Bernard <fli4l.charrier@free.fr>
Amos Jeffries [Mon, 14 Feb 2011 23:01:08 +0000 (12:01 +1300)] 
Author: Bernard <fli4l.charrier@free.fr>
Language: fr updates

14 years agoAuthor: Bernard <fli4l.charrier@free.fr>
Amos Jeffries [Sun, 13 Feb 2011 23:04:50 +0000 (12:04 +1300)] 
Author: Bernard <fli4l.charrier@free.fr>
Language: fr updates

14 years agoAuthor: Bernard <fli4l.charrier@free.fr>
Amos Jeffries [Sun, 13 Feb 2011 17:01:26 +0000 (06:01 +1300)] 
Author: Bernard <fli4l.charrier@free.fr>
Language: fr updates

14 years agoPrep for 3.2.0.5
Amos Jeffries [Fri, 11 Feb 2011 20:47:14 +0000 (13:47 -0700)] 
Prep for 3.2.0.5

14 years agoPrevent CONNECT request relaying to origin servers
Amos Jeffries [Fri, 11 Feb 2011 11:48:28 +0000 (04:48 -0700)] 
Prevent CONNECT request relaying to origin servers

CONNECT requests are proxy requests not to be forwarded to origins

14 years agoClientRequestContext::setReplyToError final parameter is a pointer not int
Amos Jeffries [Fri, 11 Feb 2011 03:57:14 +0000 (20:57 -0700)] 
ClientRequestContext::setReplyToError final parameter is a pointer not int

14 years agoHandle HTCP read failures and small packets.
Amos Jeffries [Thu, 10 Feb 2011 14:04:35 +0000 (03:04 +1300)] 
Handle HTCP read failures and small packets.

14 years agoSourceFormat Enforcement
Automatic source maintenance [Tue, 8 Feb 2011 01:12:42 +0000 (18:12 -0700)] 
SourceFormat Enforcement

14 years agoPrep for 3.1.11
Amos Jeffries [Mon, 7 Feb 2011 12:36:58 +0000 (05:36 -0700)] 
Prep for 3.1.11

14 years agoIcons: remove SN.png on uninstall
Amos Jeffries [Mon, 7 Feb 2011 10:39:44 +0000 (03:39 -0700)] 
Icons: remove SN.png on uninstall

14 years agoBug 2870: --disable-auth does not work
Amos Jeffries [Mon, 7 Feb 2011 10:27:53 +0000 (03:27 -0700)] 
Bug 2870: --disable-auth does not work

This patch attempts to make it work by removing libauth.la and all component
functionality which depends on it. So far this reduces the minimal squid
binary by a further 900 KB on disk.

It also means anything which requires an authentication process wont work.
They get wrapped in USE_AUTH or if its a specific type with the relevant
HAVE_AUTH_MODULE_* wrappers.

So far this does:
 * FTP and CacheMgr dependency on --disable-auth-basic is already committed
 * cache_peer login= functionality is greatly reduced under various
   combinations of --disable-auth, --disable-auth-basic and
   --disable-auth-negotiate
 * peering userhash algorithm is removed
 * delay pools class 4 is removed
 * ACLs testing username are dropped.

Additionally since external ACL user= field is used interchangeably in
several places with a full login and with the right helper can be
considered a full side-band authentication I have disabled the
ExtUser/ext_user components as well.

NP: pinning is not strictly dependent on NTLM, we may use it for other
    things without involving auth so left most of it in. Just the logics
    which use auth to set the pinning flag are now removable.

IDENT not being an authentication mechanism is also left in.

14 years agoAuthor: D Kazarov <d.y.kazarov@mail.ru>
Amos Jeffries [Mon, 7 Feb 2011 04:50:11 +0000 (21:50 -0700)] 
Author: D Kazarov <d.y.kazarov@mail.ru>
Bug 3137: RADIUS auth helper does not send identifier to RADIUS server

14 years agoAuthor: Phil Oester <kernel@linuxace.com>
Amos Jeffries [Mon, 7 Feb 2011 04:32:37 +0000 (21:32 -0700)] 
Author: Phil Oester <kernel@linuxace.com>
Bug 3115: stdio: log module segfaults if access_log is set to a directory

14 years agoAuthor: Jonathan Wolfe <jonathan.wolfe@gmail.com>
Amos Jeffries [Mon, 7 Feb 2011 04:16:22 +0000 (21:16 -0700)] 
Author: Jonathan Wolfe <jonathan.wolfe@gmail.com>
Bug 3149: not caching ecap adapted body

eCAP adapters may remove or edit the Content-Length header, and to allow
caching of the adapted body squid must reflect that new (or unspecified)
content length when deciding whether or not the adapted body can be cached.

14 years agoMaintenance: Fix in icons update script
Amos Jeffries [Mon, 7 Feb 2011 04:00:55 +0000 (21:00 -0700)] 
Maintenance: Fix in icons update script

14 years agoSMP SNMP
Christos Tsantilas [Sun, 6 Feb 2011 19:50:52 +0000 (21:50 +0200)] 
SMP SNMP

In the case the SQUID_SNMP is disabled the MessageType enum list ends with a ","
The gcc compiler does not have any problem with this but SunStudio return a
parse error.

14 years agoSMP SNMP
Christos Tsantilas [Sun, 6 Feb 2011 16:39:53 +0000 (18:39 +0200)] 
SMP SNMP

The SunStudio compiler requires the <algorithm> include file to allow use the
std::copy

14 years agoIcons Upgrade
Amos Jeffries [Sun, 6 Feb 2011 13:46:38 +0000 (02:46 +1300)] 
Icons Upgrade

This updates the icons from the current anthony-* GIF series to the
completely free PNG silk icons by Mark James.

Why?
 * Avoiding GIF format makes Squid just a little bit more FOSS than before.

 * These icons are also just a little bit smaller and slicker.

 * Distros which package the silk icons separately for other apps can
   leverage those packages and share the icons.

Also moves the icons to /var/www/squid/icons in accordance with the
Unix filesystem specs for static web content.

14 years agoLanguage: template updates
Amos Jeffries [Sun, 6 Feb 2011 09:52:32 +0000 (22:52 +1300)] 
Language: template updates

14 years agoEnable non-caching of external ACL results
Amos Jeffries [Sun, 6 Feb 2011 09:20:16 +0000 (02:20 -0700)] 
Enable non-caching of external ACL results

Admin configure ttl=0 and/or negative_ttl=0 to prevent Squid storing the
ACL lookup results. The problem is that results still get cached and
re-used for the grace= period or one second, whichever is larger.

Also, in the event where two or more requests with identical details
needing to be looked up at the same time there is an optimization
which will merge and share one lookup result for all these requests.

In most situations this result sharing is beneficial, however when a
unique result is wanted it can cause problems.

This patch makes ttl=0 and negative_ttl=0 prevent their respective OK and
ERR results from being stored into the helper result cache. Sharing is
still performed for overlapping duplicate requests.

When cache=0 is configured, no caching or sharing of results is performed
at all.

14 years agoAuthor: Leonid Evdokimov <leon@darkk.net.ru>
Amos Jeffries [Sun, 6 Feb 2011 08:36:12 +0000 (01:36 -0700)] 
Author: Leonid Evdokimov <leon@darkk.net.ru>
bootstrap.sh: Detect DEB package naming style of multiple autoconf versions

14 years agoAuthor: Bernard <fli4l.charrier@free.fr>
Amos Jeffries [Sun, 6 Feb 2011 05:32:41 +0000 (18:32 +1300)] 
Author: Bernard <fli4l.charrier@free.fr>
Language: fr updates

14 years agoSMP SNMP: fix test unit link failures
Amos Jeffries [Sun, 6 Feb 2011 03:33:09 +0000 (20:33 -0700)] 
SMP SNMP: fix test unit link failures

14 years agoSMP SNMP
Christos Tsantilas [Thu, 3 Feb 2011 15:13:43 +0000 (17:13 +0200)] 
SMP SNMP

The attached patch implements aggregation of SNMP responses, similar to how
we aggregate some cache manager stats.

The code contains changes that allow us to share some of the classes between
Cache Manager and SNMP code:

  * implement the following base classes under the ipc directory/module:
    - Ipc::Forwarder (ipc/Forwarder{.cc,.h} files)
    - Ipc::Inquirer (ipc/Inquirer{.cc,.h} files)
    - Ipc::Request (ipc/Request{.cc,.h} files)
    - Ipc::Response (ipc/Response{.cc,.h} files)

  * fix the Mgr::Forwarder, Mgr::Inquirer, Mgr::Request and Mgr::Response
    classes to be implemented as kid classes of the equivalent Icp::* classes.

Also implements for the SNMP the same mechanism used for cache manager:
The SNMP requests forwarder to coordinator which collects the statistics from
kids and aggregate them.

This is a Measurement Factory project

14 years agoadd snmp/Makefile.am
Christos Tsantilas [Thu, 3 Feb 2011 11:07:27 +0000 (13:07 +0200)] 
add snmp/Makefile.am

14 years agotry to handle make check errors
Christos Tsantilas [Thu, 3 Feb 2011 10:59:09 +0000 (12:59 +0200)] 
try to handle make check errors

14 years agoApplying sourceformating
Christos Tsantilas [Thu, 3 Feb 2011 08:02:28 +0000 (10:02 +0200)] 
Applying sourceformating

14 years agotry to handle compiler errors in CentOS 5.3
Christos Tsantilas [Thu, 3 Feb 2011 07:39:31 +0000 (09:39 +0200)] 
try to handle compiler errors in CentOS 5.3

14 years agomerge from trunk
Christos Tsantilas [Wed, 2 Feb 2011 17:55:24 +0000 (19:55 +0200)] 
merge from trunk

14 years agomerge from trunk
Christos Tsantilas [Wed, 2 Feb 2011 17:41:41 +0000 (19:41 +0200)] 
merge from trunk

14 years agoSourceFormat Enforcement
Automatic source maintenance [Wed, 2 Feb 2011 01:12:28 +0000 (18:12 -0700)] 
SourceFormat Enforcement

14 years agoOmitted bits from rev11198
Amos Jeffries [Wed, 2 Feb 2011 00:28:49 +0000 (13:28 +1300)] 
Omitted bits from rev11198

14 years agoFix pipeline_prefetch misconfigurations
Amos Jeffries [Tue, 1 Feb 2011 23:12:39 +0000 (12:12 +1300)] 
Fix pipeline_prefetch misconfigurations

Enact the TODO/Caveat about checking post-parse for auth type clashing
with pipeline settings. This can only fix local configuration errors.

Pipeline_prefetch ON will still silently break WWW-Authenticate pass-thru
and Proxy-Authenticate pass-thru for these auth mechanisms.

14 years agoRange::size() returned value type: Fix comparison with signed/unsigned types
Christos Tsantilas [Tue, 1 Feb 2011 12:00:45 +0000 (14:00 +0200)] 
Range::size() returned value type: Fix comparison with signed/unsigned types

14 years agoAuthor: Alexandre SIMON <alexandre.simon@ciril.fr>
Amos Jeffries [Tue, 1 Feb 2011 11:37:01 +0000 (00:37 +1300)] 
Author: Alexandre SIMON <alexandre.simon@ciril.fr>
Bug 3144: redirector program blocks while reading STDIN

The string passed to redirect helper program may exceed the available
buffer space and be truncated. Thus having no \n terminator for the helper.

Test for this failure condition and produce an error page.

14 years agoRange::size() returned value type
Christos Tsantilas [Tue, 1 Feb 2011 08:49:56 +0000 (10:49 +0200)] 
Range::size() returned value type

This patch allow the user of the Range template class to define the type of
the returned value of Range::size() method, adding a second template argument.
The default type of the return value of Range::size() method is size_t, which
in most cases is enough (but not always, eg  HttpRange).
This patch will allow Range template to be used with non numeric types.

14 years agoBug 3140: memory leak in error page generation
Amos Jeffries [Tue, 1 Feb 2011 01:57:16 +0000 (18:57 -0700)] 
Bug 3140: memory leak in error page generation

Avoid freeing buffer m before using it. Specific to the 3.2+ logics.

14 years agoSome functions needlessly return const int. De-const-ified.
Francesco Chemolli [Mon, 31 Jan 2011 14:06:44 +0000 (15:06 +0100)] 
Some functions needlessly return const int. De-const-ified.

14 years ago-Rename snmplib/libsnmp.a to snmplib/libsnmplib.a
Christos Tsantilas [Mon, 31 Jan 2011 14:04:00 +0000 (16:04 +0200)] 
-Rename snmplib/libsnmp.a to snmplib/libsnmplib.a
-Move src/snmpx to src/snmp/
-Merge the ENABLE_SNMP blocks in Makafile.am