]>
git.ipfire.org Git - thirdparty/squid.git/log
Amos Jeffries [Sat, 7 Aug 2010 15:32:42 +0000 (03:32 +1200)]
ConnOpener lookup local-end TCP link details cleanly.
No more depending on fd_table to be setup for us.
Instead we do the lookups when connected and set fd_table from here.
Amos Jeffries [Sat, 7 Aug 2010 15:32:14 +0000 (03:32 +1200)]
Better debug for CommCalls connected callback
Amos Jeffries [Sat, 7 Aug 2010 15:31:08 +0000 (03:31 +1200)]
Ensure ListenStateData constructed properly from ConnectionPointer
Amos Jeffries [Tue, 27 Jul 2010 11:31:55 +0000 (23:31 +1200)]
Comm::Connection handling fixes
* initial roll into FTP (untested as yet)
* roll Comm::Connection into parent Server class.
* fixes several incorrect code paths in forwarding
* fixes several crashes in HTTP
Amos Jeffries [Sat, 24 Jul 2010 05:47:57 +0000 (17:47 +1200)]
Implement safe global IsOpen for COmm::ConnectionPointers
Amos Jeffries [Fri, 23 Jul 2010 16:28:31 +0000 (04:28 +1200)]
Merge from trunk
Amos Jeffries [Fri, 23 Jul 2010 16:06:47 +0000 (04:06 +1200)]
Roll Comm::Connection into TunnelStateData
Francesco Chemolli [Fri, 23 Jul 2010 13:10:05 +0000 (15:10 +0200)]
Fixed builtest.sh shell script brokenness on non-linux platforms.
Francesco Chemolli [Fri, 23 Jul 2010 13:07:20 +0000 (15:07 +0200)]
recommit
Francesco Chemolli [Fri, 23 Jul 2010 12:46:14 +0000 (14:46 +0200)]
Fixed builtest.sh shell script brokenness on non-linux platforms.
Amos Jeffries [Fri, 23 Jul 2010 05:04:43 +0000 (23:04 -0600)]
Fix omitted part of rev10654
Amos Jeffries [Thu, 22 Jul 2010 14:39:27 +0000 (02:39 +1200)]
Update names for Comm Paths/paths - new ConnectionList/serverDestinations
Alex Rousskov [Thu, 22 Jul 2010 14:25:36 +0000 (08:25 -0600)]
Fixed comm.cc:377: "fd_table[fd].halfClosedReader != NULL" assertion
Client side must stop reading when switching to a tunnel mode. The old code
called low-level commSetSelect to stop reading, but that left Comm tables in
an inconsistent state, with the client side reader callback still scheduled.
Squid would assert when the tunnel called comm_read with its own callback.
The bug is unrelated to half-closed connections despite halfClosedReader
mentioned in the assertion text. The assertion means "no more than one active
reader per FD".
Francesco Chemolli [Thu, 22 Jul 2010 13:24:45 +0000 (15:24 +0200)]
Improved libtool kludge
Francesco Chemolli [Thu, 22 Jul 2010 11:23:03 +0000 (13:23 +0200)]
Kludge: try to detect system acinclude path, to fix libtool brokenness.
Automatic source maintenance [Thu, 22 Jul 2010 00:11:11 +0000 (18:11 -0600)]
Bootstrapped
Amos Jeffries [Wed, 21 Jul 2010 11:38:11 +0000 (05:38 -0600)]
Author: Karl Benoit <karl.isatwork@gmail.com>
Author: Amos Jeffries <squid3@treenet.co.nz>
Bug 2885: cf_gen and diskd missing symbols
Amos Jeffries [Wed, 21 Jul 2010 06:18:25 +0000 (00:18 -0600)]
Author: isaac <isaacarsenal@gmail.com>
Bug 2985: search scope for digest_ldap_auth didn't work
Amos Jeffries [Wed, 21 Jul 2010 02:40:18 +0000 (20:40 -0600)]
TestBed: --with-valgrind-debug is not longer universally testable.
Will fail on some machines, so it cannot be in the master 02-maximus level.
Automatic source maintenance [Wed, 21 Jul 2010 00:13:27 +0000 (18:13 -0600)]
SourceFormat Enforcement
Amos Jeffries [Tue, 20 Jul 2010 14:30:00 +0000 (02:30 +1200)]
Fallout from more auditing
Amos Jeffries [Tue, 20 Jul 2010 14:16:00 +0000 (02:16 +1200)]
Author: Chad E. Naugle <chad.naugle@travimp.com>
Bug 2905: eDirectory (8.7 & 8.8) IPv4/IPv6->Username external ACL helper
Original code import.
Amos Jeffries [Tue, 20 Jul 2010 13:09:51 +0000 (01:09 +1200)]
Make http.cc use io.fd instead of member FD on errors/timeout
Amos Jeffries [Tue, 20 Jul 2010 12:25:31 +0000 (00:25 +1200)]
Partial reverse of rev10645
recursive option hit problems. Its not really needed anyway.
Amos Jeffries [Tue, 20 Jul 2010 12:23:28 +0000 (00:23 +1200)]
Bug 2963: --with-valgrind-debug failures ignored
Made to hard-fail if --with is used.
Amos Jeffries [Tue, 20 Jul 2010 07:28:33 +0000 (19:28 +1200)]
Do peer conn accounting in comm layer
Amos Jeffries [Tue, 20 Jul 2010 06:53:54 +0000 (18:53 +1200)]
typo
Amos Jeffries [Tue, 20 Jul 2010 06:44:23 +0000 (18:44 +1200)]
Split start() in two: setup and connect handling. Cleanup call create/delete
Alex Rousskov [Mon, 19 Jul 2010 16:10:25 +0000 (10:10 -0600)]
More AsyncJob rules based on squid-dev reviews:
- You must implement start() and doneAll() methods.
- In doneAll(), always call doneAll() of the parent.
Alex Rousskov [Mon, 19 Jul 2010 16:04:11 +0000 (10:04 -0600)]
Polished job start documentation.
Amos Jeffries [Mon, 19 Jul 2010 14:57:52 +0000 (02:57 +1200)]
Make HttpStateData use Comm::Connection instead of raw server FD
Amos Jeffries [Mon, 19 Jul 2010 13:18:06 +0000 (01:18 +1200)]
Code fixes from second audit
Amos Jeffries [Mon, 19 Jul 2010 13:15:17 +0000 (07:15 -0600)]
Make --disable-loadable-modules work again
Amos Jeffries [Mon, 19 Jul 2010 00:14:30 +0000 (18:14 -0600)]
Correction documentation of QoS disable-preserve-miss
Amos Jeffries [Sun, 18 Jul 2010 12:48:27 +0000 (00:48 +1200)]
FwdState::abort can happen mid-connect
Amos Jeffries [Sun, 18 Jul 2010 11:55:28 +0000 (23:55 +1200)]
Add ConnOpener to Comm namespace
Amos Jeffries [Sun, 18 Jul 2010 08:29:43 +0000 (20:29 +1200)]
Improve CommCalls debug output display.
Amos Jeffries [Sun, 18 Jul 2010 08:21:22 +0000 (20:21 +1200)]
Make comm_local_port record local IP in fde table if unknown
Amos Jeffries [Sun, 18 Jul 2010 08:19:31 +0000 (20:19 +1200)]
Fix ConnOpener leak
Amos Jeffries [Sun, 18 Jul 2010 08:18:50 +0000 (20:18 +1200)]
Remove obsolete function
Amos Jeffries [Sat, 17 Jul 2010 15:44:48 +0000 (03:44 +1200)]
Merge from trunk
Amos Jeffries [Sat, 17 Jul 2010 15:43:44 +0000 (03:43 +1200)]
Remove watchers before recovering callback. So they get removed with a useful error reason
Amos Jeffries [Sat, 17 Jul 2010 08:17:06 +0000 (20:17 +1200)]
Make connect timeout a ConnOpener private
Amos Jeffries [Sat, 17 Jul 2010 08:15:08 +0000 (20:15 +1200)]
Make AsyncJob emit both constructed and destructed messages
Amos Jeffries [Sat, 17 Jul 2010 07:34:59 +0000 (19:34 +1200)]
Some polish on debug output
Amos Jeffries [Sat, 17 Jul 2010 06:08:57 +0000 (18:08 +1200)]
Convert ConnOpener callbacks to Async member-function Calls
* Also hold on to the EarlyAbort and Timeout call objects
This fixes EarlyAbort crashes by allowing proper cancellation
* Also fix httpsAccept() build error.
Amos Jeffries [Sat, 17 Jul 2010 01:05:16 +0000 (13:05 +1200)]
Fix crash on forwarding abort
Alex Rousskov [Fri, 16 Jul 2010 22:37:42 +0000 (16:37 -0600)]
Added debugging scripts that work with detailed cache.log
scripts/find-alive.pl: pinpoint objects that are still alive, to find leaks
scripts/trace-job.pl: find cache.log lines that correspond to a given job
scripts/trace-master.pl: trace jobs related to a single master transaction
The scripts require maintenance as the logging format changes, but
they often simplify debugging by extracting relevant information from
tons of poorly structured cache.log data.
Alex Rousskov [Fri, 16 Jul 2010 17:07:07 +0000 (11:07 -0600)]
Polished AsyncJob documentation. Removed obsolete job call wrapping notes.
Only the comments have been changed.
Alex Rousskov [Fri, 16 Jul 2010 16:20:13 +0000 (10:20 -0600)]
Added initial extended documentation for AsyncJob API.
Needs dox syntax check and polishing.
Amos Jeffries [Fri, 16 Jul 2010 12:10:38 +0000 (00:10 +1200)]
Improved Async implementation.
* use AsyncJob::AsyncStart instead of start()
* implements doneAll()
* handle timeouts on INPROGRESS states
Henrik Nordstrom [Thu, 15 Jul 2010 15:13:23 +0000 (17:13 +0200)]
Update libtool autoconf macros to libtool2 style
Amos Jeffries [Thu, 15 Jul 2010 11:50:37 +0000 (23:50 +1200)]
Fix build errors where we meet new SMP code
Amos Jeffries [Thu, 15 Jul 2010 10:04:21 +0000 (22:04 +1200)]
Merge from trunk
Amos Jeffries [Thu, 15 Jul 2010 01:36:28 +0000 (19:36 -0600)]
Remove .so from SASL build checks
We definitely require the .a and .la files to build against SASL libraries.
The run-time .so is only relevant later.
Amos Jeffries [Thu, 15 Jul 2010 01:35:14 +0000 (19:35 -0600)]
Author: Karl Benoit <karl.isatwork@gmail.com>
Bug 2885: AIX support: c only c++ style comments test case
Amos Jeffries [Thu, 15 Jul 2010 00:52:47 +0000 (18:52 -0600)]
Bug 2885: AIX support: check libm for log()
Amos Jeffries [Wed, 14 Jul 2010 13:40:40 +0000 (01:40 +1200)]
Document BodyPipe.h
Amos Jeffries [Wed, 14 Jul 2010 12:08:16 +0000 (00:08 +1200)]
Maintenance: reset working directory after snapshot sub-make.sh
Alex Rousskov [Wed, 14 Jul 2010 01:00:21 +0000 (19:00 -0600)]
Bug 2651 fix: squid crashing with ident auth
Check whether the old-style (function-based) callback has the
function address to call. A writer may leave no "callback number".
Amos Jeffries [Tue, 13 Jul 2010 22:40:01 +0000 (10:40 +1200)]
Typo in Joomla fix
Henrik Nordstrom [Tue, 13 Jul 2010 20:42:09 +0000 (22:42 +0200)]
Correct Joomla DB auth handling
Found while reading the code. Original clearly could not have worked as
it split the password field using an uninitialized delimiter.
Henrik Nordstrom [Tue, 13 Jul 2010 20:23:02 +0000 (22:23 +0200)]
Author: Milen Pankov <mail@milen.pankov.eu>
squid_db_auth support md5 encrypted passwords
--md5 option supporting unsalted MD5 password
Alex Rousskov [Tue, 13 Jul 2010 16:49:48 +0000 (10:49 -0600)]
Fixed memory leak related to retried requests.
ErrorState object was not destroyed if the failed request to the origin
server or peer was retried.
Alex Rousskov [Tue, 13 Jul 2010 16:43:00 +0000 (10:43 -0600)]
Prevent memory leaks when cloning Range requests.
HttpRequest::range field was set to a new HttpHdrRange object twice:
once in HttpRequest::clone() and once in HttpRequest::hdrCacheInit()
called from clone().
Polished HttpReply::clone() to make sure HttpReply::hdrCacheInit()
does not use uninitialized HttpReply::sline field and to prevent
benign double-initialization of HttpReply::keep_alive.
Alex Rousskov [Tue, 13 Jul 2010 16:26:20 +0000 (10:26 -0600)]
Fixed memory leaks related to Range requests.
HttpRequest::range field could be cleared without destroying HttpHdrRange
object in clientInterpretRequestHeaders().
The range field is essentially a cached value of the parsed Range header.
Managing the cache outside its owner object is a bad idea.
Amos Jeffries [Tue, 13 Jul 2010 08:38:07 +0000 (20:38 +1200)]
Merge from trunk
Automatic source maintenance [Tue, 13 Jul 2010 00:12:55 +0000 (18:12 -0600)]
SourceFormat Enforcement
Amos Jeffries [Mon, 12 Jul 2010 18:01:39 +0000 (06:01 +1200)]
Author: Various Translators
Translations Update auto-save
Amos Jeffries [Mon, 12 Jul 2010 17:26:32 +0000 (05:26 +1200)]
Helpers: cleanup wbinfo_group manual on distclean
Amos Jeffries [Mon, 12 Jul 2010 14:45:17 +0000 (02:45 +1200)]
Helpers: Naming and C++ update for external ACL helpers
* Also adds the Fake auth helper for testing Basic authentication.
* Also adds manual pages for most external ACL helpers
TODO: test for and fix any build issues on Windows.
Automatic source maintenance [Fri, 9 Jul 2010 00:12:48 +0000 (18:12 -0600)]
SourceFormat Enforcement
Amos Jeffries [Thu, 8 Jul 2010 12:45:31 +0000 (00:45 +1200)]
Author: Henrik Nordstrom <henrik@henriknordstrom.net>
purge tool: making it work proper with current Squid versions
Amos Jeffries [Thu, 8 Jul 2010 12:28:08 +0000 (00:28 +1200)]
Author: Jens-S. V�ckler <voeckler@rvs.uni-hannover.de>
Import squid cache 'purge' tool
Just the original code import for crediting the original author.
TODO:
- patch to fix build problems in modern systems
- upgrade to cope with current cache_dir formats
- bundle and distribute updated tool
Amos Jeffries [Thu, 8 Jul 2010 11:58:30 +0000 (23:58 +1200)]
Helpers: unify auth helpers use of debug and HELPER_INPUT_BUFFER
Amos Jeffries [Thu, 8 Jul 2010 11:01:47 +0000 (23:01 +1200)]
Helpers: upgrade digest helpers to C++
Amos Jeffries [Thu, 8 Jul 2010 06:49:20 +0000 (00:49 -0600)]
Maintenance: run webpage make from web directory
Amos Jeffries [Thu, 8 Jul 2010 06:28:49 +0000 (00:28 -0600)]
SMP: Use sys/uio.h for struct iovec
Automatic source maintenance [Thu, 8 Jul 2010 00:11:20 +0000 (18:11 -0600)]
Bootstrapped
Alex Rousskov [Wed, 7 Jul 2010 17:39:21 +0000 (11:39 -0600)]
Define MSG_NOSIGNAL if it is missing.
Solaris and possibly others do not provide this optional optimization.
Alex Rousskov [Wed, 7 Jul 2010 16:45:24 +0000 (10:45 -0600)]
Polished KidName example to use a real Squid process name.
Alex Rousskov [Wed, 7 Jul 2010 16:41:03 +0000 (10:41 -0600)]
Do not use NAME_MAX because it is not portable.
Francesco Chemolli [Wed, 7 Jul 2010 15:48:48 +0000 (17:48 +0200)]
Re-defined preprocessor macro for better consistency.
Francesco Chemolli [Wed, 7 Jul 2010 13:05:17 +0000 (15:05 +0200)]
Increased consistency in configure.in quoting
Fixed some compilation conditionals
Amos Jeffries [Wed, 7 Jul 2010 12:44:44 +0000 (06:44 -0600)]
SMP: Kid depends on sys/wait.h
Automatic source maintenance [Wed, 7 Jul 2010 04:15:41 +0000 (22:15 -0600)]
Bootstrapped
Automatic source maintenance [Wed, 7 Jul 2010 03:47:14 +0000 (21:47 -0600)]
Bootstrapped
Alex Rousskov [Wed, 7 Jul 2010 03:17:47 +0000 (21:17 -0600)]
Moved KidIdentifier to globals to make pinger happy.
Pinger and possibly other optional externals require KidIdentifier via
debugs(). Instead of making KidIdentifier global, we could add a "plugin" API
to add program-dependent stuff to debugs() and friends, but we should not add
that kind of complexity unless really necessary. We could also link pinger
with libipc.la but that will probably cause more problems with IPC
dependencies.
Automatic source maintenance [Wed, 7 Jul 2010 03:03:26 +0000 (21:03 -0600)]
SourceFormat Enforcement
Amos Jeffries [Wed, 7 Jul 2010 03:00:05 +0000 (21:00 -0600)]
Maintenance: wrap all snapshot script variables
Amos Jeffries [Wed, 7 Jul 2010 02:34:15 +0000 (20:34 -0600)]
SMP: updated release notes
Alex Rousskov [Wed, 7 Jul 2010 00:45:34 +0000 (18:45 -0600)]
SMP support, part 1: Essential non-caching functionality.
Added workers squid.conf option to specify how many main Squid
processes to fork and maintain. Zero means old no-daemon mode.
One means the old non-SMP mode.
Added support for process_name and process_number macros and
if-statement conditionals in squid.conf. Search for .pre changes for
documented details. These features allow the admin to configure each
worker process differently if needed.
Support multiple workers listening on the same HTTP[S] port (port
sharing). This allows multiple workers to split the load without any
special rules.
Support or prohibit port sharing for WCCP, DNS, ICP, HTCP, SNMP, and
Ident protocols, depending on protocol-specific restrictions. Sharing is
implemented by registering listening socket descriptors with the
Coordinator process and obtaining them from the Coordinator as needed.
Here are protocol-specific notes:
WCCP: Restricted to the Coordinator process due to how WCCP works.
Workers do not need access to the WCCP code.
DNS: Done by each worker with no sharing. Fixed source ports not
supported unless each worker is given its own outgoing address
because we do not want to match outgoing queries and incoming
responses across processes.
SNMP: Workers share incoming and outgoing sockets.
ICP and HTCP _clients_: Cannot be supported in SMP environment
unless each process has its own address (i.e., unique IP address
and/or unique [ICP] port) because we do not want to match outgoing
queries and incoming responses across processes.
ICP and HTCP _servers_: share listening sockets.
Ident clients do not need to share sockets because they use
unique ports.
Support management signals (squid -k ...) in SMP mode, acting as a
single Squid instance.
Refork dying workers, similar to how we reforked dying process in
non-SMP daemon mode.
Merged from lp smp branch r10306.
Alex Rousskov [Wed, 7 Jul 2010 00:22:37 +0000 (18:22 -0600)]
Do not stop testheaders.sh on the first error, to be compatible with
"make -k check".
If testheaders.sh stops on the first error, it becomes very difficult to
test your changes with "make check" when somebody else broke some other
code or when the checks reach src/cf_parser.h and fail.
TODO: stop on the first error unless running under "make -k check".
Alex Rousskov [Wed, 7 Jul 2010 00:08:23 +0000 (18:08 -0600)]
Do not stop accepting just because we got COMM_NOMESSAGE.
Do not dereference a possibly NULL callback pointer.
Alex Rousskov [Tue, 6 Jul 2010 23:09:44 +0000 (17:09 -0600)]
Merged from parent (trunk r10600).
Alex Rousskov [Tue, 6 Jul 2010 18:58:38 +0000 (12:58 -0600)]
Applied source formatting rules in preparation for trunk merge.
Alex Rousskov [Mon, 5 Jul 2010 23:22:18 +0000 (17:22 -0600)]
Fixed comment formatting.
Alex Rousskov [Mon, 5 Jul 2010 22:12:51 +0000 (16:12 -0600)]
Renamed "main_processes" to "workers" per Squid Project review.
Alex Rousskov [Mon, 5 Jul 2010 21:28:23 +0000 (15:28 -0600)]
Removed Descriptor-related code used for testing fd passing via UDS messages.
Amos Jeffries [Mon, 5 Jul 2010 11:34:15 +0000 (05:34 -0600)]
Better bug 2972 fix.
sed the includes explicitly. Previous run worked unless code was actually
bootstrapped to an older libtool version.