]> git.ipfire.org Git - thirdparty/squid.git/log
thirdparty/squid.git
13 years agoGCC 4.7 SSL fix
Jiri Skala [Wed, 1 Feb 2012 07:55:01 +0000 (00:55 -0700)] 
GCC 4.7 SSL fix

13 years agoBug 3470: GCC 4.7
Amos Jeffries [Wed, 1 Feb 2012 07:53:53 +0000 (00:53 -0700)] 
Bug 3470: GCC 4.7

13 years agoBug 3370: external ACL sometimes skipping
Amos Jeffries [Wed, 1 Feb 2012 07:44:49 +0000 (00:44 -0700)] 
Bug 3370: external ACL sometimes skipping

Emit tag/user/log/message/pass details to the request in the case where
the external ACL entry has expired but within graceful revalidate period.

The result of this bug appears as incorrect matches later down the ACL
processing in any config relying on the external ACL output values.
Example; for bypassing auth login, or for filtering tagged traffic.

13 years agoDo not add HTTP 110 and 111 Warnings to TCP_REFRESH_UNMODIFIED responses.
Alex Rousskov [Sat, 21 Jan 2012 01:16:48 +0000 (18:16 -0700)] 
Do not add HTTP 110 and 111 Warnings to TCP_REFRESH_UNMODIFIED responses.

The old "stale if hit" logic did not account for cases where the stored
stale response became fresh due to a successful revalidation with the
origin server.
When the stored response was stale at the time of the request, we were
adding 110 "Response is stale" and even 111 "Revalidation failed"
Warning headers to responses while logging TCP_REFRESH_UNMODIFIED, which
is considered a hit.

13 years agoSourceFormat Enforcement
Automatic source maintenance [Sat, 14 Jan 2012 20:47:40 +0000 (13:47 -0700)] 
SourceFormat Enforcement

13 years agoBug 3420: Request body consumption races and !theConsumer exception.
Alex Rousskov [Sat, 14 Jan 2012 07:19:41 +0000 (00:19 -0700)] 
Bug 3420: Request body consumption races and !theConsumer exception.

Also fixes endless waiting for HTTP client to send req body we no longer need.

Before these changes, the client side used a single "closing" state to
handle two different error conditions:

  1. We stopped receiving request body because of some error.
  2. We stopped sending response because of some error.

When a "directional" error occurred, we try to keep the transaction going in
the other direction (e.g., to give ICAP the entire request or to give HTTP
client the entire response). However, because there was just one "closing"
state, the code failed to correctly detect or process many corner cases,
resulting in stuck transactions and !theConsumer assertions/exceptions due to
races between enableAutoConsumption() and expectNoConsumption() calls.

This patch replaces the "closing" state with two direction-specific "we
stopped sending/receiving" flags.

Now, when the response sending code is done, it now checks whether the
receiving code stopped and closes the connection as needed. This is done both
when we encounter a sending error (ClientSocketContext::initiateClose) and
when we successfully sent the entire response to the client
(ClientSocketContext::keepaliveNextRequest).

Similarly, when the request body reading code is done, it now checks whether
the receiving code stopped and closes the connection as needed. This is done
both when we encounter a receiving error
(ConnStateData::noteBodyConsumerAborted) and when we successfully receive the
entire request body from the client (ClientSocketContext::writeComplete).

TODO: This patch focuses on various error cases. We might still have problems
when there is an early HTTP response and no errors of any kind. I marked the
corresponding old code with an XXX.

13 years agoBug 3473: erase last uses of obsolete auth_user_hash_pointer
Amos Jeffries [Tue, 10 Jan 2012 02:40:32 +0000 (19:40 -0700)] 
Bug 3473: erase last uses of obsolete auth_user_hash_pointer

13 years agoBug 3085: Crash when parsing esi:include
Amos Jeffries [Tue, 3 Jan 2012 22:11:51 +0000 (15:11 -0700)] 
Bug 3085: Crash when parsing esi:include

13 years agoBug 3442: assertion failed: external_acl.cc:908: ch->auth_user_request != NULL
Amos Jeffries [Thu, 8 Dec 2011 11:13:29 +0000 (04:13 -0700)] 
Bug 3442: assertion failed: external_acl.cc:908: ch->auth_user_request != NULL

External ACL sometimes cannot find the credentials in ACL Checklist even
if they are attached to the HTTPRequest object.

This seems to happen when the checklist is created and the line match
started before the credentials are known. The credentials validation
updates the HTTP request state but is not aware of ACL checklists needing
to be updated so it never happens.

This patch:
* locate the %LOGIN value from either place where credentials can be found,
* updates the checklist if it was unset,
* passes '-' to the helper if no credentials at all were given.

Although the earlier logics forcing a lookup means this '-' case should
not happen it might if the external ACL were processed in 'fast' check.

13 years agoPolish: debug messages on swap.state rename failure
Amos Jeffries [Thu, 8 Dec 2011 11:11:32 +0000 (04:11 -0700)] 
Polish: debug messages on swap.state rename failure

13 years agoPortability: SSL library dependency fixes
Victor Jose Hernandez Gomez [Wed, 7 Dec 2011 12:04:20 +0000 (05:04 -0700)] 
Portability: SSL library dependency fixes

This displays as many 'undefined reference to' on various X509_* objects.

Correct the library linkage order such that our local library links first
and gets visibility of the OpenSSL library definitions.

13 years agoBug 3440: compile error in Adaptation
Joshua Root [Tue, 6 Dec 2011 12:31:35 +0000 (05:31 -0700)] 
Bug 3440: compile error in Adaptation

13 years ago3.1.18 SQUID_3_1_18
Amos Jeffries [Sat, 3 Dec 2011 06:18:25 +0000 (23:18 -0700)] 
3.1.18

13 years agoRegression: compile error in FTP
Amos Jeffries [Sat, 3 Dec 2011 02:46:33 +0000 (19:46 -0700)] 
Regression: compile error in FTP

13 years ago3.1.17 SQUID_3_1_17
Amos Jeffries [Fri, 2 Dec 2011 14:28:40 +0000 (07:28 -0700)] 
3.1.17

13 years agoBug 3422: Buffer overflow in recv-announce
Jan Klemkow [Fri, 2 Dec 2011 12:56:17 +0000 (05:56 -0700)] 
Bug 3422: Buffer overflow in recv-announce

13 years agoBug 3428: Active FTP data channel accepted twice
Michael Weiser [Fri, 2 Dec 2011 12:54:55 +0000 (05:54 -0700)] 
Bug 3428: Active FTP data channel accepted twice

13 years agoBug 3432: Crash logging FTP errors
yabuki [Fri, 2 Dec 2011 12:43:54 +0000 (05:43 -0700)] 
Bug 3432: Crash logging FTP errors

13 years agoBug 3430: Document SSL EDH cipher configuration issues
Amos Jeffries [Fri, 2 Dec 2011 12:42:05 +0000 (05:42 -0700)] 
Bug 3430: Document SSL EDH cipher configuration issues

13 years agoWindows: cf_gen requires a .exe extension
Amos Jeffries [Fri, 2 Dec 2011 12:37:09 +0000 (05:37 -0700)] 
Windows: cf_gen requires a .exe extension

13 years agoPortability: fix radix.c include sequence
Amos Jeffries [Fri, 2 Dec 2011 12:36:12 +0000 (05:36 -0700)] 
Portability: fix radix.c include sequence

13 years agoFix segfault in %F error page token
Amos Jeffries [Fri, 2 Dec 2011 12:34:56 +0000 (05:34 -0700)] 
Fix segfault in %F error page token

13 years agoPolish: convert one SECURITY WARNING to ALERT
Amos Jeffries [Fri, 2 Dec 2011 12:28:58 +0000 (05:28 -0700)] 
Polish: convert one SECURITY WARNING to ALERT

13 years agoBug 2619: Excessive RAM growth due to unlimited adapted body data consumption
Martin Huter [Fri, 2 Dec 2011 12:17:07 +0000 (05:17 -0700)] 
Bug 2619: Excessive RAM growth due to unlimited adapted body data consumption

If the client does not read from the open connection (i.e. the user does not
confirm the browsers download-message-box in microsofts IE), squid keeps on
reading data from the ICAP server into the store entry, while no more data
can be delivered to the client.
Thus the store entry in memory is growing and squid may - in worst case -
consume memory up to the size of the users download.

This patch add API to StoreEntry to call the producer back when released
memory/space from the StoreEntry and add code to the ICAP client code to not
consume body data comes from the ICAP server when there is not available space
in the store entry.

13 years agoSupport %% in external ACL format
Amos Jeffries [Fri, 2 Dec 2011 08:28:17 +0000 (01:28 -0700)] 
Support %% in external ACL format

13 years agoImproved SASL / SASL2 detection
Francesco Chemolli [Tue, 29 Nov 2011 12:39:25 +0000 (05:39 -0700)] 
Improved SASL / SASL2 detection

Solaris and Darwin require -lsasl compile flag detection independent of
the .h include file naming. This may help other OS as well.

13 years agoBug 3423: access violation in URL parser
Jan Klemkow [Thu, 24 Nov 2011 11:11:42 +0000 (04:11 -0700)] 
Bug 3423: access violation in URL parser

13 years agoAvoid crashes when processing bad X509 common names (CN).
Alex Rousskov [Thu, 24 Nov 2011 07:20:46 +0000 (00:20 -0700)] 
Avoid crashes when processing bad X509 common names (CN).

X509_REQ_get_pubkey() returns a refcounted object that we must clean after use.
X509_REQ_get_subject_name() does not; cleaning the result may cause segfaults.
How we are supposed to tell the difference is beyond me.

13 years agoBug 2910: MemBuf may grow beyond max_capacity
Alex Rousskov [Thu, 17 Nov 2011 09:51:07 +0000 (02:51 -0700)] 
Bug 2910: MemBuf may grow beyond max_capacity

13 years agoBug 3412: External ACL Uses Invalid Cache Entry
Amos Jeffries [Thu, 17 Nov 2011 09:48:40 +0000 (02:48 -0700)] 
Bug 3412: External ACL Uses Invalid Cache Entry

13 years agoBug 3398: persistent server connection closed after PUT/DELETE
Christos Tsantilas [Thu, 17 Nov 2011 09:44:39 +0000 (02:44 -0700)] 
Bug 3398: persistent server connection closed after PUT/DELETE

13 years agoFix assertion when dstdomain abused in access controls
Amos Jeffries [Thu, 17 Nov 2011 09:42:02 +0000 (02:42 -0700)] 
Fix assertion when dstdomain abused in access controls

This converts an assertion into a logged warning and a failed-match if
dstdomain ACLs are used in places where the HTTP request is not available.

13 years agoBug 3408: Wrong header length leads to EFAULTs when creating UFS swap.log.new
Matthias Pitzl [Thu, 17 Nov 2011 09:40:29 +0000 (02:40 -0700)] 
Bug 3408: Wrong header length leads to EFAULTs when creating UFS swap.log.new

Also localized the header variable as it may be destroyed at any time.

13 years agoBug 3299: dnsserver: various undefined references
Amos Jeffries [Sun, 6 Nov 2011 07:24:35 +0000 (01:24 -0600)] 
Bug 3299: dnsserver: various undefined references

13 years agoPortability: add cstdarg as source of var_arg when available
Amos Jeffries [Sun, 6 Nov 2011 07:16:18 +0000 (01:16 -0600)] 
Portability: add cstdarg as source of var_arg when available

13 years agoSourceFormat Enforcement
Automatic source maintenance [Mon, 31 Oct 2011 01:15:38 +0000 (19:15 -0600)] 
SourceFormat Enforcement

13 years agoBug 1243: Build overrides configured AR setting
Amos Jeffries [Sun, 30 Oct 2011 06:27:44 +0000 (00:27 -0600)] 
Bug 1243: Build overrides configured AR setting

13 years agoBug 3077: '\' in url query strings cause Digest authentication to fail
Amos Jeffries [Sun, 30 Oct 2011 06:20:26 +0000 (00:20 -0600)] 
Bug 3077: '\' in url query strings cause Digest authentication to fail

13 years ago3.1.16 SQUID_3_1_16
Amos Jeffries [Thu, 13 Oct 2011 08:28:51 +0000 (02:28 -0600)] 
3.1.16

13 years agoPrep for 3.1.16
Amos Jeffries [Thu, 13 Oct 2011 08:22:01 +0000 (02:22 -0600)] 
Prep for 3.1.16

13 years agoSourceFormat Enforcement
Automatic source maintenance [Wed, 12 Oct 2011 02:15:19 +0000 (20:15 -0600)] 
SourceFormat Enforcement

13 years agoAdd directive dns_v4_first to make IPv4 connections before IPv6 is tried.
Amos Jeffries [Tue, 11 Oct 2011 02:12:56 +0000 (20:12 -0600)] 
Add directive dns_v4_first to make IPv4 connections before IPv6 is tried.

Default off, to prefer the faster protocol.

The use-case for this is networks which are IPv6-enabled but stuck
behind slow tunnels and whose upstream is not supporting full transit
services over IP.

13 years agoBug 3237: seq fault in free() from rfc1035RRDestroy
Joerg Lehrke [Tue, 11 Oct 2011 02:08:18 +0000 (20:08 -0600)] 
Bug 3237: seq fault in free() from rfc1035RRDestroy

13 years agoBug 3190: Large HTTP POST stuck after early ICAP 400 error response
Christos Tsantilas [Tue, 11 Oct 2011 02:04:19 +0000 (20:04 -0600)] 
Bug 3190: Large HTTP POST stuck after early ICAP 400 error response

When an ICAP REQMOD service responds with an error to
(or the REQMOD transaction aborts while processing) a large HTTP
request, the HTTP request may get stuck because the request body
buffer gets full and nobody consumes the no-longer-needed content.

The ICAP code quits but leaves the body buffer intact in case the
client-side code wants to bypass the error. After that, nobody consumes
the request body because the buggy client side does not inform the body
pipe that there will be no other consumers, which would have triggered
a noteBodyConsumerAborted() callback and enable auto-consumption or closed
the client connection.

This is a Measurement Factory project

13 years agoBug 3373: invalid URL in ERR_CACHE_ACCESS_DENIED
David Parks [Tue, 11 Oct 2011 02:00:18 +0000 (20:00 -0600)] 
Bug 3373: invalid URL in ERR_CACHE_ACCESS_DENIED

13 years agoBug 3368: Unhandled exceptions are not logged (workaround)
Stefan Fritsch [Sun, 9 Oct 2011 06:02:17 +0000 (00:02 -0600)] 
Bug 3368: Unhandled exceptions are not logged (workaround)

13 years agoBug 3241: squid_kerb_auth cross compilation fix
Bertrand Jacquin [Wed, 5 Oct 2011 22:03:17 +0000 (16:03 -0600)] 
Bug 3241: squid_kerb_auth cross compilation fix

When building inside Squid sources we can assume yes/HAVE_SQUID.

13 years agoDocs: clarify retry_on_error situations
Amos Jeffries [Fri, 16 Sep 2011 11:06:32 +0000 (05:06 -0600)] 
Docs: clarify retry_on_error situations

13 years agodb_auth: display available DSN drivers on connect error
Amos Jeffries [Fri, 16 Sep 2011 10:55:04 +0000 (04:55 -0600)] 
db_auth: display available DSN drivers on connect error

13 years agoUpdated OpenSSL 1.0.0 version checks.
Amos Jeffries [Fri, 16 Sep 2011 10:53:09 +0000 (04:53 -0600)] 
Updated OpenSSL 1.0.0 version checks.

LHASH_LHASH and PSTRING are only screwed up in 1.0.0d and later.

13 years agoRemove duplicated code in gopher fix
Henrik Nordstrom [Fri, 16 Sep 2011 09:01:55 +0000 (03:01 -0600)] 
Remove duplicated code in gopher fix

harmless copy-paste error when patch was forward-ported from squid-2

13 years agoDocs: limit internal DNS options properly
Amos Jeffries [Fri, 16 Sep 2011 09:00:34 +0000 (03:00 -0600)] 
Docs: limit internal DNS options properly

13 years agoBug 3320: miss_access description confusing
Amos Jeffries [Fri, 2 Sep 2011 09:50:43 +0000 (03:50 -0600)] 
Bug 3320: miss_access description confusing

13 years agoBug 3326: miss_access incorrect default
Amos Jeffries [Tue, 30 Aug 2011 02:25:11 +0000 (20:25 -0600)] 
Bug 3326: miss_access incorrect default

13 years ago3.1.15 SQUID_3_1_15
Amos Jeffries [Sun, 28 Aug 2011 07:52:51 +0000 (01:52 -0600)] 
3.1.15

13 years agoPrep for 3.1.15
Amos Jeffries [Sun, 28 Aug 2011 07:49:15 +0000 (01:49 -0600)] 
Prep for 3.1.15

13 years agoRemove hierarchy_stoplist default value
Amos Jeffries [Sun, 28 Aug 2011 06:14:58 +0000 (00:14 -0600)] 
Remove hierarchy_stoplist default value

This should have been done long ago with the other dynamic website
handling changes. It has caused a certain amount of confusion when things
which apparently should go to peers fail to reach them.

13 years agoBug 3295: broken escaping in rfc1738_do_escape
Amos Jeffries [Sun, 28 Aug 2011 06:00:06 +0000 (00:00 -0600)] 
Bug 3295: broken escaping in rfc1738_do_escape

13 years agoSourceFormat Enforcement
Automatic source maintenance [Sun, 28 Aug 2011 04:25:35 +0000 (22:25 -0600)] 
SourceFormat Enforcement

13 years agocf_gen requires cstdlib
Amos Jeffries [Sun, 28 Aug 2011 03:51:05 +0000 (21:51 -0600)] 
cf_gen requires cstdlib

13 years agoPrep for 3.1.15 and 3.0.STABLE26
Amos Jeffries [Sat, 27 Aug 2011 14:55:07 +0000 (08:55 -0600)] 
Prep for 3.1.15 and 3.0.STABLE26

13 years agoPortability: Drop u_short type
Amos Jeffries [Sat, 27 Aug 2011 14:42:51 +0000 (08:42 -0600)] 
Portability: Drop u_short type

Use uint16_t for precise binary size or unsigned short instead.

13 years agoPolished unused code.
Alex Rousskov [Sat, 27 Aug 2011 12:34:04 +0000 (06:34 -0600)] 
Polished unused code.

The unused dlopen() call is actually useful to enable when lt_dlopen() reports
"file not found" errors for loadable modules that do exist but that Libtool
cannot load successfully due to undefined symbols or other errors.

This inability to correctly report a library loading error is a long-standing
Libtool bug, stemming from Libtool's desire to try and load several
differently named library files until one succeeds, losing true error
information in the process.

13 years agoCorrect parsing of large Gopher indexes
Henrik Nordstrom [Sat, 27 Aug 2011 12:32:51 +0000 (06:32 -0600)] 
Correct parsing of large Gopher indexes

13 years agoTypo on rev.10357 port
Amos Jeffries [Sat, 27 Aug 2011 10:38:01 +0000 (04:38 -0600)] 
Typo on rev.10357 port

13 years agoBug 3213: https sites (CONNECT) not open when using NTLM
Amos Jeffries [Sat, 27 Aug 2011 09:49:09 +0000 (03:49 -0600)] 
Bug 3213: https sites (CONNECT) not open when using NTLM

13 years agoPortability: use code instead of static initialization
Francesco Chemolli [Sat, 27 Aug 2011 07:46:07 +0000 (01:46 -0600)] 
Portability: use code instead of static initialization

g++ 4.4.5 on ARM mis-detects an inizializer's variable size. Give it a hint.

13 years agoFix NIS helper build on FreeBSD
Amos Jeffries [Sat, 27 Aug 2011 07:45:03 +0000 (01:45 -0600)] 
Fix NIS helper build on FreeBSD

Fails on clang++ and other strict compilers due to missing __cplusplus
checks in FreeBSD system headers and yp_prot.h typedefs bool unless
BOOL_DEFINED is defined.

13 years agoBug 1791: timestampsSet does not validate Date: if server sends very old date
Barry Dobyns [Sat, 27 Aug 2011 07:43:33 +0000 (01:43 -0600)] 
Bug 1791: timestampsSet does not validate Date: if server sends very old date

13 years agoBug 3217: "!fd_table[fd].closing()" from ServerStateData::noteMoreBodySpaceAvailable
Alex Rousskov [Sat, 27 Aug 2011 07:14:24 +0000 (01:14 -0600)] 
Bug 3217: "!fd_table[fd].closing()" from ServerStateData::noteMoreBodySpaceAvailable

It is possible that the next hop connection is going through the closing steps
when we receive a "noteMoreBodySpaceAvailable" notification from the response
body consumer. Do not try to read in this case.

13 years agoBug 3107: ncsa_auth DES silently truncates passwords to 8 bytes
Amos Jeffries [Sat, 27 Aug 2011 07:03:26 +0000 (01:03 -0600)] 
Bug 3107: ncsa_auth DES silently truncates passwords to 8 bytes

13 years agoBug 2662: cf_gen failure when cross compiling
Bertrand Jacquin [Sat, 27 Aug 2011 06:48:42 +0000 (00:48 -0600)] 
Bug 2662: cf_gen failure when cross compiling

Adds support for "./configure HOSTCXX=foo" to specify a host compiler
to build cf_gen with. If none is specified the normal build compiler will
be used.

13 years agoMigrate cf_gen tool from C-style to C++
Francesco Chemolli [Sat, 27 Aug 2011 06:46:52 +0000 (00:46 -0600)] 
Migrate cf_gen tool from C-style to C++

13 years agoSourceFormat Enforcement
Automatic source maintenance [Sat, 27 Aug 2011 06:39:37 +0000 (00:39 -0600)] 
SourceFormat Enforcement

13 years agoPortability: several issues in MinGW
Amos Jeffries [Sat, 27 Aug 2011 04:06:39 +0000 (22:06 -0600)] 
Portability: several issues in MinGW

13 years agoKill one goto
Amos Jeffries [Sat, 27 Aug 2011 04:02:57 +0000 (22:02 -0600)] 
Kill one goto

13 years agoSourceFormat Enforcement
Automatic source maintenance [Thu, 18 Aug 2011 02:21:37 +0000 (20:21 -0600)] 
SourceFormat Enforcement

13 years agoFix missing brackets on revnno.10347
Amos Jeffries [Wed, 17 Aug 2011 09:05:48 +0000 (03:05 -0600)] 
Fix missing brackets on revnno.10347

14 years agoBug 2655: passing wrong the username to the url_rewrite_program
Oliver Dumschat [Fri, 5 Aug 2011 03:14:37 +0000 (21:14 -0600)] 
Bug 2655: passing wrong the username to the url_rewrite_program

14 years agoDebug enhancements for rewrite helper user
Amos Jeffries [Fri, 5 Aug 2011 03:13:36 +0000 (21:13 -0600)] 
Debug enhancements for rewrite helper user

14 years agoBug 3131: fd_table[fd].closing() assert from ConnStateData::noteMoreBodySpaceAvailable()
Alex Rousskov [Fri, 5 Aug 2011 03:07:37 +0000 (21:07 -0600)] 
Bug 3131: fd_table[fd].closing() assert from ConnStateData::noteMoreBodySpaceAvailable()

14 years agoBug 3232: fails to compile with OpenSSL v1.0.0
Christos Tsantilas [Tue, 2 Aug 2011 09:39:49 +0000 (03:39 -0600)] 
Bug 3232: fails to compile with OpenSSL v1.0.0

14 years agoCorrect memset size when clearing wccp assign message buffer
Henrik Nordstrom [Tue, 2 Aug 2011 08:11:55 +0000 (02:11 -0600)] 
Correct memset size when clearing wccp assign message buffer

14 years agoFix if assignment warning
Henrik Nordstrom [Tue, 2 Aug 2011 08:10:13 +0000 (02:10 -0600)] 
Fix if assignment warning

14 years agoSimplify SASL config.test.
Henrik Nordstrom [Tue, 2 Aug 2011 08:08:49 +0000 (02:08 -0600)] 
Simplify SASL config.test.

If headers are there then it's reasonable to expect libs as well being
present.

Note: not all archs places libs in /lib /usr/lib and
full searching is overkill.

14 years agoev_entry is a C++ class these days, don't attempt using it as a struct
Henrik Nordstrom [Tue, 2 Aug 2011 08:06:19 +0000 (02:06 -0600)] 
ev_entry is a C++ class these days, don't attempt using it as a struct

14 years agoRegression fix: vhost and defaultsite causing vport to be ignored
Amos Jeffries [Mon, 25 Jul 2011 22:23:39 +0000 (16:23 -0600)] 
Regression fix: vhost and defaultsite causing vport to be ignored

Instead of dropping it completely we should be sanely combining them like
Squid-2 does for most cases. This appears to have been lost while removing
the getmyHostname() from the process and reducing the
prepareTransparentUrl code.

This fix makes vport apply even if vhost was used. It will modify the
Host: header contents according to the documented vport semantics.

This fix makes vport apply even if defaultsite= was used. It will append
the specified port to the domain name given. Domains with port attached
are not supported and will produce invalid URLs.
TODO: detect this case while parsing the initial config and warn.

14 years agoRegression fix: vhost and defaultsite causing vport to be ignored
Amos Jeffries [Mon, 25 Jul 2011 01:38:40 +0000 (19:38 -0600)] 
Regression fix: vhost and defaultsite causing vport to be ignored

Instead of dropping it completely we should be sanely combining them like
Squid-2 does for most cases. This appears to have been lost while removing
the getmyHostname() from the process and reducing the
prepareTransparentUrl code.

This fix makes vport apply even if vhost was used. It will modify the
Host: header contents according to the documented vport semantics.

This fix makes vport apply even if defaultsite= was used. It will append
the specified port to the domain name given. Domains with port attached
are not supported and will produce invalid URLs.
TODO: detect this case while parsing the initial config and warn.

14 years agoProvide NULL when missing
Amos Jeffries [Sun, 24 Jul 2011 13:27:31 +0000 (07:27 -0600)] 
Provide NULL when missing

14 years agoFix GCC4.6 warning unused variables
Amos Jeffries [Sun, 24 Jul 2011 13:26:17 +0000 (07:26 -0600)] 
Fix GCC4.6 warning unused variables

14 years agoEnable negative cacheing on unknown or -1 expiry timestamp
Amos Jeffries [Sun, 24 Jul 2011 13:24:24 +0000 (07:24 -0600)] 
Enable negative cacheing on unknown or -1 expiry timestamp

This syncs the squid-3 code with what squid-2 does. There seem to be no
problems in squid-2, but squid-3 does not cache at times when it should
according to negative_ttl

14 years agoFix GCC 4.6 warning unused variables in test-suite
Amos Jeffries [Fri, 22 Jul 2011 14:45:06 +0000 (08:45 -0600)] 
Fix GCC 4.6 warning unused variables in test-suite

14 years agoBug 1842: Optimize order of tests in peerWouldBePinged() and peerHTTPOkay()
Jean-Gabriel Dick [Fri, 22 Jul 2011 14:42:14 +0000 (08:42 -0600)] 
Bug 1842: Optimize order of tests in peerWouldBePinged() and peerHTTPOkay()

The peerAllowedToUse() function may be time consuming, especially on sites that
have lots of acls.

14 years agoBug 2051: 'default' cache_peer option does not match documentation
Amos Jeffries [Fri, 22 Jul 2011 14:39:54 +0000 (08:39 -0600)] 
Bug 2051: 'default' cache_peer option does not match documentation

Move the default parent to second-lowest priority on the parent
selection. This also allows the other more delicate balancing
algorithms to work properly with a default configured.

sourcehash and userhash are reversed in priority to simplify and
speed the selection code.

Also, getAnyParent() is dropped. It is redundant with the FIRSTUP
 algorithm.

14 years agoBug 3114: Memory leak in SSL certificate verify code
Christos Tsantilas [Wed, 20 Jul 2011 11:41:44 +0000 (23:41 +1200)] 
Bug 3114: Memory leak in SSL certificate verify code

14 years agoFix --disable-follow-x-forwarded-for and correct documentation
Amos Jeffries [Wed, 20 Jul 2011 03:42:19 +0000 (21:42 -0600)] 
Fix --disable-follow-x-forwarded-for and correct documentation

This feature is available by default. But protected by default "deny all"
to restrict security problems.

14 years agoBug 2495: ignore whitespace prefix on config lines
Amos Jeffries [Wed, 13 Jul 2011 09:28:43 +0000 (03:28 -0600)] 
Bug 2495: ignore whitespace prefix on config lines

Allow whitespace indentation before any lines. Making SMP and comment
configuration easier to read for some.

14 years agoBug 3222: cache_peer name is not logging on CONNECT
Amos Jeffries [Wed, 13 Jul 2011 09:27:39 +0000 (03:27 -0600)] 
Bug 3222: cache_peer name is not logging on CONNECT

14 years agoRemove duplicate calls to IsAnyAddr in DNS
Amos Jeffries [Wed, 13 Jul 2011 09:25:23 +0000 (03:25 -0600)] 
Remove duplicate calls to IsAnyAddr in DNS

14 years ago3.1.14 SQUID_3_1_14
Amos Jeffries [Mon, 4 Jul 2011 04:37:53 +0000 (22:37 -0600)] 
3.1.14