]> git.ipfire.org Git - thirdparty/squid.git/log
thirdparty/squid.git
16 years agoMerge from trunk
Amos Jeffries [Tue, 21 Oct 2008 12:19:40 +0000 (01:19 +1300)] 
Merge from trunk

16 years agoLanguage Updates
Amos Jeffries [Tue, 21 Oct 2008 12:18:45 +0000 (01:18 +1300)] 
Language Updates

16 years agoMerge from trunk
Amos Jeffries [Tue, 21 Oct 2008 12:09:36 +0000 (01:09 +1300)] 
Merge from trunk

16 years agoVarious suggestions accepted
Amos Jeffries [Tue, 21 Oct 2008 11:45:39 +0000 (00:45 +1300)] 
Various suggestions accepted

16 years agoBug 2492: assertion failed: Server.cc:70: "!requestBodySource"
Amos Jeffries [Tue, 21 Oct 2008 11:25:14 +0000 (00:25 +1300)] 
Bug 2492: assertion failed: Server.cc:70: "!requestBodySource"

Paranoid: check that swanSong has been called
Extra paranoia: run before exiting swanSong. I really mean it. They MUST pass here.

16 years agoAuthor: Alex Rousskov <rousskov@measurement-factory.com>
Amos Jeffries [Tue, 21 Oct 2008 11:21:59 +0000 (00:21 +1300)] 
Author: Alex Rousskov <rousskov@measurement-factory.com>
Bug 2492: assertion failed: Server.cc:70: "!requestBodySource"

swanSong should set the pipe to NULL after stopping
consumption. There is even a convenience/safety method to do both in one call.

The attached patch replaces raw pipe->stop*() calls with convenience/safety
wrappers.

16 years agoMoved ICMP-only variables to ICMP-specific code in order to prevent
Alex Rousskov [Tue, 21 Oct 2008 03:24:36 +0000 (21:24 -0600)] 
Moved ICMP-only variables to ICMP-specific code in order to prevent
fatal "unused variable" GCC warnings.

16 years agoFix make dist of pinger.
Amos Jeffries [Mon, 20 Oct 2008 07:47:29 +0000 (20:47 +1300)] 
Fix make dist of pinger.

16 years agoAuthor: Gilles Espinasse <g.esp@free.fr>
Amos Jeffries [Sun, 19 Oct 2008 23:52:00 +0000 (12:52 +1300)] 
Author: Gilles Espinasse <g.esp@free.fr>
Bug 2494: Fix tproxy url in configure

16 years agoAuthor: Mikio Kishi <mkishi@104.net>
Henrik Nordstrom [Sat, 18 Oct 2008 14:50:34 +0000 (16:50 +0200)] 
Author: Mikio Kishi <mkishi@104.net>
Fix access.log request size tag (%>st)

16 years agoAuthor: Francesco Chemolli <kinkie@squid-cache.org>
Amos Jeffries [Sat, 18 Oct 2008 11:43:50 +0000 (00:43 +1300)] 
Author: Francesco Chemolli <kinkie@squid-cache.org>
Misc fixes for out of tree builds

ICMP path fixes by Francesco Chemolli <kinkie@squid-cache.org>

testheaders and cleanup amendments by Amos Jeffries.

16 years agoFix: request may be NULL on some errors.
Amos Jeffries [Sat, 18 Oct 2008 06:25:40 +0000 (19:25 +1300)] 
Fix: request may be NULL on some errors.

16 years agoAuthor: Francesco Chemolli <kinkie@squid-cache.org>
Amos Jeffries [Fri, 17 Oct 2008 12:17:45 +0000 (01:17 +1300)] 
Author: Francesco Chemolli <kinkie@squid-cache.org>
Bug 2489: Testsuite doesn't obey authentication scheme ./configure parameters

I've added a couple of AC_DEFINEs and a couple of #ifdefs to make the
offending tests conditional on the actually-built builtin auth-methods.

16 years agoUpdates auto-save
Amos Jeffries [Fri, 17 Oct 2008 11:00:39 +0000 (00:00 +1300)] 
Updates auto-save

16 years agoSourceLayout: lost ICMP Makefile.am
Amos Jeffries [Fri, 17 Oct 2008 04:04:11 +0000 (17:04 +1300)] 
SourceLayout: lost ICMP Makefile.am

16 years agoPrevent linking and performing checks for not-configured auth methods (bug 2489)
Francesco Chemolli [Thu, 16 Oct 2008 14:31:46 +0000 (16:31 +0200)] 
Prevent linking and performing checks for not-configured auth methods (bug 2489)

16 years agoSourceLayout: ICMP NetDB libraries
Amos Jeffries [Thu, 16 Oct 2008 13:01:14 +0000 (02:01 +1300)] 
SourceLayout: ICMP NetDB libraries

16 years agoDefault enable error page localization
Amos Jeffries [Thu, 16 Oct 2008 12:56:48 +0000 (01:56 +1300)] 
Default enable error page localization

16 years agoDefault enable IPv6
Amos Jeffries [Thu, 16 Oct 2008 12:30:18 +0000 (01:30 +1300)] 
Default enable IPv6

16 years agoMerged from trunk
Amos Jeffries [Thu, 16 Oct 2008 09:08:10 +0000 (22:08 +1300)] 
Merged from trunk

16 years agoShuffle debug_log into Debug.h
Amos Jeffries [Thu, 16 Oct 2008 04:55:23 +0000 (17:55 +1300)] 
Shuffle debug_log into Debug.h

16 years agoMerge from trunk
Amos Jeffries [Thu, 16 Oct 2008 04:51:12 +0000 (17:51 +1300)] 
Merge from trunk

16 years agoUpdate configure.in code about ICMP
Amos Jeffries [Thu, 16 Oct 2008 04:49:01 +0000 (17:49 +1300)] 
Update configure.in code about ICMP

16 years agoadded configure.in stuff for autoheader to build the appropriate #defines
Francesco Chemolli [Thu, 16 Oct 2008 04:19:15 +0000 (06:19 +0200)] 
added configure.in stuff for autoheader to build the appropriate #defines

16 years agouudecode and --enable-truncate no longer relevant
Amos Jeffries [Wed, 15 Oct 2008 10:14:16 +0000 (23:14 +1300)] 
uudecode and --enable-truncate no longer relevant

16 years agoSpelling, spelling, and typos
Amos Jeffries [Wed, 15 Oct 2008 10:11:20 +0000 (23:11 +1300)] 
Spelling, spelling, and typos

16 years agoUpdate Release Notes for 3.1
Amos Jeffries [Wed, 15 Oct 2008 08:29:36 +0000 (21:29 +1300)] 
Update Release Notes for 3.1

Also,
 removes obsolete $Id$ tags from 3.0, 3.1 notes.
 typo in cf.data/pre documentation

16 years agoSync 3.0 release notes
Amos Jeffries [Wed, 15 Oct 2008 03:50:24 +0000 (16:50 +1300)] 
Sync 3.0 release notes

16 years agoDrop ancient TODO list into wiki instead
Amos Jeffries [Tue, 14 Oct 2008 12:57:32 +0000 (01:57 +1300)] 
Drop ancient TODO list into wiki instead

16 years agoUpdate ChangeLog for 3.1.0.1
Amos Jeffries [Tue, 14 Oct 2008 12:47:17 +0000 (01:47 +1300)] 
Update ChangeLog for 3.1.0.1

16 years agoBug 1441: tcp_outgoing_address + peering need acl matching actual endpoint
Amos Jeffries [Tue, 14 Oct 2008 09:54:26 +0000 (22:54 +1300)] 
Bug 1441: tcp_outgoing_address + peering need acl matching actual endpoint

Adds the 'peername' ACL to match against the cache_peer name=X values.

Also, adds peername ACL tests to tcp_outgoing_addr.

NOTE:  Only checks against the first peer of all possible peers selected for
the connection. So on failures the outgoing address may still be incorrect for
the secondary peers.

Thanks for testing to Andrew McMillan <andrew@morphoss.com>

16 years agoUpdates auto-save
Amos Jeffries [Mon, 13 Oct 2008 23:02:12 +0000 (12:02 +1300)] 
Updates auto-save

16 years agoRemove several unnecessary uses of putStrf and a compile error
Amos Jeffries [Mon, 13 Oct 2008 11:29:06 +0000 (00:29 +1300)] 
Remove several unnecessary uses of putStrf and a compile error

16 years agoAdd configure option --with-logdir=PATH for change of the log directory
Amos Jeffries [Mon, 13 Oct 2008 09:41:25 +0000 (22:41 +1300)] 
Add configure option --with-logdir=PATH for change of the log directory

Not all OS and builds can cope with the BSD /var/logs default.
This lets users and maintainers set OS-dependant log location without
needing to patch and bootstrap the code.

16 years agoCorrect settings for v4-mapped.
Amos Jeffries [Mon, 13 Oct 2008 06:29:59 +0000 (19:29 +1300)] 
Correct settings for v4-mapped.

Its always useful in IPv6. Unless split-stack has been requested.

16 years agoUpdate public IPv6 configure sub-options.
Amos Jeffries [Sun, 12 Oct 2008 23:50:38 +0000 (12:50 +1300)] 
Update public IPv6 configure sub-options.

Drop all mention of CNAME recursion. Still buggy and experimental.

Alter --with-ipv4-mapping to default ON.
This is harmless if system defaults it to ON. But resolves problems
seen with systems where OS default is OFF disabling this advanced
hybrid-stack feature which squid needs.
Seen in some Linux, FreeBSD 7.1, OpenBSD, and Vista.

16 years agoWindows port: Fix build error using latest MinGW runtime.
Guido Serassio [Sun, 12 Oct 2008 18:52:33 +0000 (20:52 +0200)] 
Windows port: Fix build error using latest MinGW runtime.

16 years agoMerge from trunk
Amos Jeffries [Sun, 12 Oct 2008 12:29:37 +0000 (01:29 +1300)] 
Merge from trunk

16 years agoExtend errorTryLoadText to accept absolute paths for page
Amos Jeffries [Sun, 12 Oct 2008 12:23:33 +0000 (01:23 +1300)] 
Extend errorTryLoadText to accept absolute paths for page

16 years agoRevert r9281. fubar.
Amos Jeffries [Sun, 12 Oct 2008 10:49:30 +0000 (23:49 +1300)] 
Revert r9281. fubar.

16 years agoAuthor: Klaus Singvogel <kssingvo@suse.de>
Amos Jeffries [Sun, 12 Oct 2008 08:10:11 +0000 (21:10 +1300)] 
Author: Klaus Singvogel <kssingvo@suse.de>
Bug 2483: bind() called before connect()

16 years agoTypo.
Amos Jeffries [Sun, 12 Oct 2008 04:39:24 +0000 (17:39 +1300)] 
Typo.

16 years agoBoost debug output on socket FDs
Amos Jeffries [Sun, 12 Oct 2008 02:33:07 +0000 (15:33 +1300)] 
Boost debug output on socket FDs

16 years agoMerged from trunk
Amos Jeffries [Sun, 12 Oct 2008 01:33:06 +0000 (14:33 +1300)] 
Merged from trunk

16 years agoGeneral ICMP dependant cleanups.
Amos Jeffries [Sat, 11 Oct 2008 13:21:08 +0000 (02:21 +1300)] 
General ICMP dependant cleanups.

Moved netdb*() function definitions into icmp/net_db.h

Various compile and link errors after ICMP and Net_db move.

Some large blocks of potentially expensive code which are no-op without
ICMP and NetDB capabilities are now built only when useful.

16 years agoSplit ICMP library in two. Move Net DB protos into icmp/net_db.h
Amos Jeffries [Sat, 11 Oct 2008 05:46:59 +0000 (18:46 +1300)] 
Split ICMP library in two. Move Net DB protos into icmp/net_db.h

16 years agoAuthor: Steve Bennett <S.Bennett@lancaster.ac.uk>
Amos Jeffries [Sat, 11 Oct 2008 04:03:38 +0000 (17:03 +1300)] 
Author: Steve Bennett <S.Bennett@lancaster.ac.uk>
Bug 2486: SEGV at startup due to URLHostName

16 years agoMake srcformat.sh script portable
Amos Jeffries [Sat, 11 Oct 2008 03:39:28 +0000 (16:39 +1300)] 
Make srcformat.sh script portable

Made smart enough to locate its own ROOT properly if run from bzr branch

Made it revert unsafely re-formatted files to prevent accidental commits
Now leaves a *.astylebad containing the attempted reformat for comparison

Removed bashisms to make script properly /bin/sh executable

16 years agoMerged from trunk
Amos Jeffries [Fri, 10 Oct 2008 11:24:16 +0000 (00:24 +1300)] 
Merged from trunk

16 years agoSourceFormat: Main reformat push
Amos Jeffries [Fri, 10 Oct 2008 08:02:53 +0000 (21:02 +1300)] 
SourceFormat: Main reformat push

This revision formats all .h .c .cc .cci files according to the
code format chosen for Squid-3 releases in future.

Due to outstanding patches which are not easily adapted a few files
have been omitted from this particular format push:

  src/comm.cc
  src/client_side.cc
  src/client_side.h
  src/errorpage.cc
  src/fde.h
  src/ftp.cc
  src/http.cc
  src/HttpRequest.cc
  src/pconn.cc
  src/pconn.h
  src/ICAP/ICAPModXact.cc
  src/ICAP/ICAPModXact.h
  src/ICAP/ICAPOptions.cc
  src/ICAP/ICAPServiceRep.cc
  src/ICAP/ICAPServiceRep.h
  src/ICAP/ICAPXaction.cc
  src/ICAP/ICAPXaction.h
  src/Server.cc
  src/Server.h
  src/structs.h

16 years agoUpdates for running on squid-cache.org
Amos Jeffries [Fri, 10 Oct 2008 05:02:56 +0000 (23:02 -0600)] 
Updates for running on squid-cache.org

16 years agoAuthor: Alex Rousskov <rousskov@squid-cache.org>
Amos Jeffries [Fri, 10 Oct 2008 04:21:30 +0000 (17:21 +1300)] 
Author: Alex Rousskov <rousskov@squid-cache.org>
Fix compile errors with std::exception

16 years agoUpdated FwdState::updateHierarchyInfo() documentation with Henrik's comment
Alex Rousskov [Thu, 9 Oct 2008 17:11:31 +0000 (11:11 -0600)] 
Updated FwdState::updateHierarchyInfo() documentation with Henrik's comment
that was about to be lost in a closed bug #2391 report.

16 years agoFix link errors
Amos Jeffries [Thu, 9 Oct 2008 14:28:01 +0000 (03:28 +1300)] 
Fix link errors

16 years agoFix recursion inside srcformat script after rename
Amos Jeffries [Thu, 9 Oct 2008 13:12:07 +0000 (02:12 +1300)] 
Fix recursion inside srcformat script after rename

16 years agoSourceFormat: Convert md5checker script into a recursive formatter+validator
Amos Jeffries [Thu, 9 Oct 2008 13:00:28 +0000 (02:00 +1300)] 
SourceFormat: Convert md5checker script into a recursive formatter+validator

This converts the md5 validation script from a single layer to a
recursive script.

Given a directory path calls the formater.pl script for all .h .c .cc and
.cci files within. Validating each file conversion as it goes and aborts
at the first error found.

This is intended for maintenance of the central Squid-3 repository code.

NP: As with the original checker its a bash script.
    Probably non-portable right now without adaptions.

16 years agoProperly fix squid_kerb_auth configure recursion
Henrik Nordstrom [Wed, 8 Oct 2008 22:39:31 +0000 (00:39 +0200)] 
Properly fix squid_kerb_auth configure recursion

16 years agoUpdate squid_kerb_auth bundled files
Amos Jeffries [Wed, 8 Oct 2008 06:17:12 +0000 (19:17 +1300)] 
Update squid_kerb_auth bundled files

reconf should not be needed. Squid bootstrap.sh does all that.
It ws not provided to us in the official 1.0.3 bundle anyway.

Also other sub-project attribution files should to be bundled with Squid.

16 years agoDocument the reply_body_max_size line format
Amos Jeffries [Wed, 8 Oct 2008 05:46:03 +0000 (18:46 +1300)] 
Document the reply_body_max_size line format

16 years agoFix: Unsupported tag name: yes
Amos Jeffries [Tue, 7 Oct 2008 10:39:12 +0000 (04:39 -0600)] 
Fix: Unsupported tag name: yes

--with-tags is documented by configure as having optional parameter
this is not true. The parameter is required.

16 years agoFix: cfgaux/configure failed for helpers/negotiate_auth/squid_kerb_auth
Amos Jeffries [Tue, 7 Oct 2008 10:20:21 +0000 (04:20 -0600)] 
Fix: cfgaux/configure failed for helpers/negotiate_auth/squid_kerb_auth

Turns out that it needed to be added to the bootstrap system as well
as made a sub-configure.

Also move sub-configure to only occure when the helper needs to be built.
There is no need to waste time configuring dead code.

16 years agoSnapshot 3.1 branch
Amos Jeffries [Mon, 6 Oct 2008 12:18:42 +0000 (06:18 -0600)] 
Snapshot 3.1 branch

16 years agoCompile error. Cast was needed
Amos Jeffries [Mon, 6 Oct 2008 11:26:47 +0000 (00:26 +1300)] 
Compile error. Cast was needed

16 years agoAuthor: Markus Moeller <markus_moeller@compuserve.com>
Amos Jeffries [Mon, 6 Oct 2008 10:14:06 +0000 (23:14 +1300)] 
Author: Markus Moeller <markus_moeller@compuserve.com>
Update squid_kerb_auth helper to 1.0.3 release

Also add missing config.test file (empty) so
 --enable-negotiate-auth-helpers=X will build it with Squid.

  squid_kerb_auth 1.0.3 Official ReadMe file:

--------------------------------------------------------------------------------
readme.txt is the squid_kerb_auth read-me file.

Author: Markus Moeller (markus_moeller at compuserve.com)

Copyright (C) 2007 Markus Moeller. All rights reserved.
--------------------------------------------------------------------------------

squid_kerb_auth Read Me

Markus Moeller
May 12, 2007

1 Introduction

squid_kerb_auth is a reference implementation that supports authentication via
the Negotiate RFC 4559 for proxies. It decodes RFC 2478 SPNEGO GSS-API tokens
from IE7 either through helper functions or via SPNEGO supporting Kerberos libraries
and RFC 1964 Kerberos tokens from Firefox on Linux. Currently, squid_kerb_auth
 supports Squid 2.6 on Linux.

squid_auth_kerb requires either MIT or Heimdal Kerberos libraries and header files.

2 Building and Installation

Run ./configure

for help use ./configure --help

Copy the helper squid_kerb_auth to an apropriate directory.

3 Configuration

a) Configure IE or Firefox to point to the squid proxy by using the fqdn. IE and Firefox will use the
fqdn to query for a HTTP/fqdn Kerberos service principal.

b) Create a keytab which contains the HTTP/fqdn Kerberos service principal and place it into a directory
where the squid run user can read the keytab.

c) Add the following line to squid.conf

auth_param negotiate program /usr/sbin/squid_kerb_auth
auth_param negotiate children 10
auth_param negotiate keep_alive on

d) Modify squid startup file

Add the following lines to the squid startup script to point squid to a keytab file which
contains the HTTP/fqdn service principal for the default Kerberos domain. The fqdn must be
the proxy name set in IE or firefox. You can not use an IP address.

KRB5_KTNAME=/etc/squid/HTTP.keytab
export KRB5_KTNAME

If you use a different Kerberos domain than the machine itself is in you can point squid to
the seperate Kerberos config file by setting the following environmnet variable in the startup
script.

KRB5_CONFIG=/etc/krb-squid5.conf
export KRB5_CONFIG

4 Miscellaneous

If squid_kerb_auth doesn't determine for some reason the right service principal you can provide
it with -s HTTP/fqdn.

If you serve multiple Kerberos realms add a HTTP/fqdn@REALM service principal per realm to the
HTTP.keytab file and use the -s GSS_C_NO_NAME option with squid_kerb_auth.

16 years agoMerge from trunk
Amos Jeffries [Mon, 6 Oct 2008 10:08:10 +0000 (23:08 +1300)] 
Merge from trunk

16 years agoTestBed: maximum build run
Amos Jeffries [Mon, 6 Oct 2008 08:17:53 +0000 (21:17 +1300)] 
TestBed: maximum build run

16 years agoUpdate cf_gen_defines to match code
Amos Jeffries [Sun, 5 Oct 2008 12:50:18 +0000 (01:50 +1300)] 
Update cf_gen_defines to match code

16 years agoMerge from trunk
Amos Jeffries [Sun, 5 Oct 2008 09:47:34 +0000 (22:47 +1300)] 
Merge from trunk

16 years agoBug 2474: action 'menu' is hidden but should not be
Amos Jeffries [Sun, 5 Oct 2008 02:00:03 +0000 (15:00 +1300)] 
Bug 2474: action 'menu' is hidden but should not be

16 years agoBug 2393: DNS requests getting stuck in idns queue
Amos Jeffries [Sun, 5 Oct 2008 01:39:55 +0000 (14:39 +1300)] 
Bug 2393: DNS requests getting stuck in idns queue

Port of Squid-2 fix by Henrik Nordstrom

There seems to be two problems here.

a) On TCP communication failure Squid starts to restransmit the TCP query as
fast as it can, with no bounds checking. Keeps doing that until there is a
response or Squid is restarted...

b) For some reason the retransmit queue seems to halt for you. I have not yet
reproduced this issue, but may be related to the first..

16 years agoAuthor: Henrik Nordstrom <hno@squid-cache.org>
Amos Jeffries [Sun, 5 Oct 2008 01:32:47 +0000 (14:32 +1300)] 
Author: Henrik Nordstrom <hno@squid-cache.org>
Bug 2447: pt 1: Segfault on failed TCP DNS query

Adds debug messages for better tracking.
Aborts fatal operations early.

16 years agoAuthor: Christos Tsantilas <chtsanti@users.sourceforge.net>
Amos Jeffries [Sat, 4 Oct 2008 12:46:16 +0000 (01:46 +1300)] 
Author: Christos Tsantilas <chtsanti@users.sourceforge.net>
Port Connection Pinning from 2.6

16 years agoReal: Fix NO DEFAULT compile errors
Amos Jeffries [Sat, 4 Oct 2008 11:13:57 +0000 (00:13 +1300)] 
Real: Fix NO DEFAULT compile errors

16 years agoUndo r9254. Bad mixed commit
Amos Jeffries [Sat, 4 Oct 2008 11:11:41 +0000 (00:11 +1300)] 
Undo r9254. Bad mixed commit

16 years agoAdd config.test for squid_kerberos_auth helper
Amos Jeffries [Sat, 4 Oct 2008 08:03:52 +0000 (21:03 +1300)] 
Add config.test for squid_kerberos_auth helper

File is empty. It exists only go let the configure tests for
--enable-negotiate-auth-helpers=all detect the helper is okay for build.

16 years agoMerge from trunk
Amos Jeffries [Sat, 4 Oct 2008 07:35:59 +0000 (20:35 +1300)] 
Merge from trunk

16 years agoFix NO DEFAULT compile errors
Amos Jeffries [Sat, 4 Oct 2008 07:33:01 +0000 (20:33 +1300)] 
Fix NO DEFAULT compile errors

16 years agoLink new helper into Squid autotools chain
Amos Jeffries [Fri, 3 Oct 2008 02:57:19 +0000 (15:57 +1300)] 
Link new helper into Squid autotools chain

16 years agoImport new helper code.
Amos Jeffries [Fri, 3 Oct 2008 02:25:50 +0000 (15:25 +1300)] 
Import new helper code.

16 years agoBug #2447: Segfault on failed TCP DNS query
Henrik Nordstrom [Thu, 2 Oct 2008 13:45:54 +0000 (15:45 +0200)] 
Bug #2447: Segfault on failed TCP DNS query

This patch makes Squid log the DNS failure if it fails to connect to
a DNS server over TCP. TCP is required if the DNS response do not fit
within the small DNS UDP packet size (ca 0.5kb).

16 years agoConverity detected. inconsistent error detection on StoreIOBUffer
Amos Jeffries [Thu, 2 Oct 2008 12:24:09 +0000 (01:24 +1300)] 
Converity detected. inconsistent error detection on StoreIOBUffer

Audit reveals only one of several callers which might set negative length
state were checking for it and setting error flag properly.

Makes more sense for the StoreIOBuffer constructor to do its own
error state detection with information than to offload on callers.

16 years agoCoverity detected possible NULL dereference.
Amos Jeffries [Thu, 2 Oct 2008 11:37:19 +0000 (00:37 +1300)] 
Coverity detected possible NULL dereference.

KK message response with exactly zero-length encrypted data component
will cause Squid fakeauth helper to crash.

Not expected in normal operation. But maybe seen with specially crafted
or rare mangled responses.

16 years agoVeto: r9250. bad patch.
Amos Jeffries [Thu, 2 Oct 2008 11:28:58 +0000 (00:28 +1300)] 
Veto: r9250. bad patch.

16 years agoBug #2447: Segfault on failed TCP DNS query
Henrik Nordstrom [Wed, 1 Oct 2008 20:25:41 +0000 (22:25 +0200)] 
Bug #2447: Segfault on failed TCP DNS query

This patch makes Squid log the DNS failure if it fails to connect to
a DNS server over TCP. TCP is required if the DNS response do not fit
within the small DNS UDP packet size (ca 0.5kb).

This patch apparently do not solve the segmentation fault, but at least
logs the condition properly.

16 years agoRemoved UNUSED_CODE guards around check_null_access_log() because it is still
Alex Rousskov [Tue, 30 Sep 2008 20:36:15 +0000 (14:36 -0600)] 
Removed UNUSED_CODE guards around check_null_access_log() because it is still
used.  I do not know whether the latter is a bug, so this fix may be wrong,
but it allows trunk to build.

16 years agoRemoved extra ICAPConfig* parameter from depricated ICAP config functions.
Alex Rousskov [Tue, 30 Sep 2008 19:48:54 +0000 (13:48 -0600)] 
Removed extra ICAPConfig* parameter from depricated ICAP config functions.
I have fixed this bug before, but in the generated file :-(

16 years agoeCAP support, phase 2: Implemented libecap interfaces, added eCAP
Alex Rousskov [Tue, 30 Sep 2008 18:17:32 +0000 (12:17 -0600)] 
eCAP support, phase 2: Implemented libecap interfaces, added eCAP
squid.conf options. Link with libecap when eCAP support is enabled.

eCAP code needs polishing and enhancement but appears to work for a few
targeted cases. I am committing this now so that users working on eCAP
modules can test and provide more specific feedback.

These adaptation-specific changes should not have significant effect on
core code.

The libecap library is available at http://www.e-cap.org/

16 years agoUpdates auto-save
Amos Jeffries [Tue, 30 Sep 2008 18:07:41 +0000 (06:07 +1200)] 
Updates auto-save

16 years ago Merged from trunk.
Alex Rousskov [Tue, 30 Sep 2008 17:35:37 +0000 (11:35 -0600)] 
  Merged from trunk.
  These were eCAP,p2-inspired changes that were committed separately.

16 years agoCatch most exceptions in main() to report exceptions uncaught by Squid. This
Alex Rousskov [Tue, 30 Sep 2008 17:28:53 +0000 (11:28 -0600)] 
Catch most exceptions in main() to report exceptions uncaught by Squid.  This
is for last resort reporting only -- the program would exit anyway (usually
with less information) if we did not catch these.

The code re-throws caught exceptions to reduce side effects of catching it,
just in case. May need more work depending on how compilers handle rethrowing.

These changes were inspired by eCAP.

16 years agoMerged from trunk.
Alex Rousskov [Tue, 30 Sep 2008 17:19:29 +0000 (11:19 -0600)] 
Merged from trunk.
These were eCAP,p2-inspired changes that were committed separately.

16 years agoSynced after adding HttpMsg::clone().
Alex Rousskov [Tue, 30 Sep 2008 17:15:28 +0000 (11:15 -0600)] 
Synced after adding HttpMsg::clone().

16 years agoAdded HttpRequest::clone, completing HttpMsg::clone API. When ICAP is
Alex Rousskov [Tue, 30 Sep 2008 16:59:13 +0000 (10:59 -0600)] 
Added HttpRequest::clone, completing HttpMsg::clone API. When ICAP is
converted to use this, it should work faster for a common "no modifications"
case because it would not have to print and parse the headers.

TODO: Consider renaming the method since it does not produce an exact,
true replica. Some connection-related flags and peer settings are not
cloned because the clone is not always "attached" or "coming from"
the same connection (e.g., it is cloned for eCAP to modify). We may also
#ifdef the method if it is not needed outside of adaptation code.

The HttpMsg::body_pipe field is now copied when a message is cloned.
I was not sure what the right thing to do there is. The field itself
may be misplaced (it is not about the message structure or properties,
but about the current body transfer state, but we lack a good place to
store that...).  To reduce the number of cloning exceptions, and since
eCAP and probably ICAP code benefit from pipe copying, it is copied
for now. It would not be too hard to change.

16 years agoPolished ServerStateData cleanup code: Moved more cleanup code from the
Alex Rousskov [Tue, 30 Sep 2008 16:32:18 +0000 (10:32 -0600)] 
Polished ServerStateData cleanup code: Moved more cleanup code from the
destructor with its dangers of half-destroyed context to safe swanSong.

16 years agoMade TextException a child of std::exception so that it is easier to catch
Alex Rousskov [Tue, 30 Sep 2008 16:21:43 +0000 (10:21 -0600)] 
Made TextException a child of std::exception so that it is easier to catch
more exceptions (standard and custom) with one catch(). The catching code
usually does not care what the exception is anyway.

TextException needs more work to report more information in what() method.

Catch std::exception to catch more printable exceptions. TextException is an
std::exception [child].

These changes were inspired by and required for eCAP.

16 years agoPolished BodyPipe API. No runtime changes expected.
Alex Rousskov [Tue, 30 Sep 2008 16:16:23 +0000 (10:16 -0600)] 
Polished BodyPipe API. No runtime changes expected.

16 years agoMerged from trunk.
Alex Rousskov [Tue, 30 Sep 2008 15:50:26 +0000 (09:50 -0600)] 
Merged from trunk.

16 years agoconfig cleanup: make log defaults optional.
Amos Jeffries [Tue, 30 Sep 2008 13:20:24 +0000 (01:20 +1200)] 
config cleanup: make log defaults optional.

access.log at least can have multiple logs defined. Declaring an
unconditional default is not a good idea.

Same goes for cache.log default despite its different design.

Now only define their default if none given by the user.

16 years agoRevert active part of error page stylesheets.
Amos Jeffries [Tue, 30 Sep 2008 06:36:50 +0000 (18:36 +1200)] 
Revert active part of error page stylesheets.

Strange Install blocker bug found. No solution yet.

(19:04:54) rousskov: 2008/09/30 00:05:20| errorpage.cc(290) errorTryLoadText:
 '/usr/local/squid3-ecap/share/errors/templates//usr/local/squid3-ecap/etc/errorpage.css':
 (2) No such file or directory
(19:07:52) rousskov: $ make install > /tmp/tm
(19:07:52) rousskov: /bin/bash: -c: line 17: syntax error near unexpected token `then'
(19:07:52) rousskov: /bin/bash: -c: line 17: `@if test -f /usr/local/squid3-ecap/etc/errorpage.css ; then \'

16 years agoTo keep swanSong() checks simple, we need to NULL-ify vb body_pipe even if
Alex Rousskov [Tue, 30 Sep 2008 06:33:34 +0000 (00:33 -0600)] 
To keep swanSong() checks simple, we need to NULL-ify vb body_pipe even if
we never were a consumer (because of useVirgin short circuiting).

For useVirgin() cloning to work when we were a consumer, we need to clone
before we clear the consumer (and body_pipe with it).

The whole thing is icky. This should be improved when Adaptation::Message does
not have to store a copy of body_pipe (there is already a TODO for that,
IIRC).