]> git.ipfire.org Git - thirdparty/squid.git/log
thirdparty/squid.git
17 years agoMerged from trunk.
Amos Jeffries [Wed, 26 Mar 2008 11:49:34 +0000 (23:49 +1200)] 
Merged from trunk.
Added final step of TPROXY4 patch - settign of IP_TRANSPARENT option

17 years agoFix auto-docs in WCCPv2
Amos Jeffries [Tue, 25 Mar 2008 06:32:31 +0000 (18:32 +1200)] 
Fix auto-docs in WCCPv2

17 years agoBootstrapped
Henrik Nordstrom [Tue, 25 Mar 2008 01:10:54 +0000 (19:10 -0600)] 
Bootstrapped

17 years agoFix IPv4 request regression after last commit.
Amos Jeffries [Mon, 24 Mar 2008 05:31:16 +0000 (17:31 +1200)] 
Fix IPv4 request regression after last commit.

Sorry guys.

17 years agoReplace a goto with do-while
Amos Jeffries [Sun, 23 Mar 2008 12:04:09 +0000 (00:04 +1200)] 
Replace a goto with do-while

17 years agoFix memory leak in Linux builds.
Amos Jeffries [Sun, 23 Mar 2008 11:47:50 +0000 (23:47 +1200)] 
Fix memory leak in Linux builds.

17 years agoThis patch cleans up a lot of the whitespace crap which was added by
Henrik Nordstrom [Sat, 22 Mar 2008 01:43:37 +0000 (02:43 +0100)] 
This patch cleans up a lot of the whitespace crap which was added by
astyle.

- spurious blank lines before ;
- named struct{} members had their name on a new line
- bitfields quite messed up

and some minor manual things to avoid compact & empty if constructs not
easily followed.

17 years agoMerged from trunk
Henrik Nordstrom [Sat, 22 Mar 2008 01:05:55 +0000 (02:05 +0100)] 
Merged from trunk

17 years agoRemoved execute bit from various non-executable source files
Henrik Nordstrom [Sat, 22 Mar 2008 00:58:20 +0000 (01:58 +0100)] 
Removed execute bit from various non-executable source files

17 years agoKill obsolete .cvsignore files (not used by bzr)
Henrik Nordstrom [Sat, 22 Mar 2008 00:53:57 +0000 (01:53 +0100)] 
Kill obsolete .cvsignore files (not used by bzr)

17 years agomerged from trunk
Henrik Nordstrom [Sat, 22 Mar 2008 00:43:26 +0000 (01:43 +0100)] 
merged from trunk

17 years agoBug #2278: Cache-Control: max-stale forwarded wrongly as max-stale=-1
Henrik Nordstrom [Fri, 21 Mar 2008 22:51:43 +0000 (23:51 +0100)] 
Bug #2278: Cache-Control: max-stale forwarded wrongly as max-stale=-1

17 years agoFix compile error when ICMP is not enabled
Henrik Nordstrom [Fri, 21 Mar 2008 22:47:56 +0000 (23:47 +0100)] 
Fix compile error when ICMP is not enabled

17 years agoCompile errors in auto-testing.
Amos Jeffries [Fri, 21 Mar 2008 09:45:33 +0000 (21:45 +1200)] 
Compile errors in auto-testing.

Also some auto-documentation.

17 years agoStrip domain from username for squid 3 and delay_pools class4
Amos Jeffries [Fri, 21 Mar 2008 06:01:58 +0000 (18:01 +1200)] 
Strip domain from username for squid 3 and delay_pools class4

Usage in squid.conf:
  auth_param ntlm program /usr/local/libexec/squid/fakeauth_auth -S

And i nave username without domain from ntlm_auth.

17 years agoBootstrapped
Henrik Nordstrom [Fri, 21 Mar 2008 01:10:51 +0000 (19:10 -0600)] 
Bootstrapped

17 years agoMerged from trunk
Henrik Nordstrom [Thu, 20 Mar 2008 23:20:58 +0000 (00:20 +0100)] 
Merged from trunk

17 years agomerged from trunk
Henrik Nordstrom [Thu, 20 Mar 2008 23:13:29 +0000 (00:13 +0100)] 
merged from trunk

17 years ago3.1 Cleanups pt 1: Add testheaders.sh script
Amos Jeffries [Thu, 20 Mar 2008 11:30:19 +0000 (23:30 +1200)] 
3.1 Cleanups pt 1: Add testheaders.sh script

This script automatically tests all .h files in any directory it is passed
(relative to curent make directory) using the compiler options it is also passed.
It should be integrated in to the unit-testing in every Makefile.am so that
it provides dependancy tree testing of all .h without any additional work by
developers, maintainers, or testers.

3.1 Cleanups, pt 2: Add automatic validation and fix existing problems.

- puts testheaders.sh script to use in many Makefile.am
  (tried for all subdirs tested, but some may have escaped)

- fixes many include problems where .h were not self-sufficient.
  They required .cc or other .h files using them to include additional .h
  Now any given .h will include all objects it requires for compiling.
  (linking is still not guaranteed by this alone)

- References SQUIDHOSTNAMELEN properly as defined by RFC 2181.
  Now also split into a proper rfc2181.h for use.
  (obsoleting many dependencies on squid.h all by itself)

- Migrates dlink_* (squid custom double-linked-list code) into new object.
  (releasing many dependencies on squid.h, structs.h, and protos.h)

- Migrates the SquidConfig* types into SquidConfig.cc, now built into libsquid.la
  (releasing many dependencies on structs.h, and globals.*)

- removes squid.h includes from many unit-tests
  (releasing them from link-dependencies, .o links not yet cleaned up)

17 years agoAt the sprint the issue about our current 10ms main loop timeout came
Henrik Nordstrom [Thu, 20 Mar 2008 05:15:04 +0000 (06:15 +0100)] 
At the sprint the issue about our current 10ms main loop timeout came
up, and it was suggested the problem most likely have been fixed in
HEAD. And even if it hasn't been fixed it's something which should be
fixed rather than plastered over by spinning around on a short timeout
when there is no activity..

This backs out the change to revert the change..

Alex commit reversing the change said:

revno: 8332
committer: rousskov
branch nick: HEAD
timestamp: Tue 2007-07-24 01:55:21 +0000
message:
  Reversed bug #2011 fix because it may slow down ICAP, BodyPipe, and other code
  using zero-delay events to implement "asynchronous" calls.

  The code should probably be rewritten (a) to avoid any waiting/blocking when
  there are ready events and (b) to allow waiting longer when there are no ready
  events.

17 years agoBug #2263: Custom log formats fail to log file sizes >2GB properly on 32-bit platforms
Henrik Nordstrom [Tue, 18 Mar 2008 12:22:30 +0000 (13:22 +0100)] 
Bug #2263: Custom log formats fail to log file sizes >2GB properly on 32-bit platforms

Was partially addressed in squid-3, but only for one of several log format codes
involving object sizes..

17 years agoBootstrapped
Henrik Nordstrom [Tue, 18 Mar 2008 12:20:44 +0000 (06:20 -0600)] 
Bootstrapped

17 years agoBug #2203: configure {--with-maxfd,--with-filedescriptors} unsets LDFLAGS
Amos Jeffries [Tue, 18 Mar 2008 11:58:16 +0000 (23:58 +1200)] 
Bug #2203: configure {--with-maxfd,--with-filedescriptors} unsets LDFLAGS

Moves LDFLAGS save point to a position which covers all FD test code

17 years agoMake range_offset_limit 0 disable local range processing as documented
Henrik Nordstrom [Tue, 18 Mar 2008 00:05:26 +0000 (01:05 +0100)] 
Make range_offset_limit 0 disable local range processing as documented

was prefetching the object and processing ranges locally if the first
range started at 0 ...

17 years agoAdd autotool generated files to ignore list.
Amos Jeffries [Mon, 17 Mar 2008 11:48:33 +0000 (23:48 +1200)] 
Add autotool generated files to ignore list.

17 years agoCleanup yet another astyle artefact where struct {} members have their
Henrik Nordstrom [Sun, 16 Mar 2008 22:10:18 +0000 (23:10 +0100)] 
Cleanup yet another astyle artefact where struct {} members have their
name broken out on a new line.

17 years agoCleanup a lot of whitespace crap, mostl of which introduced by astyle
Henrik Nordstrom [Sun, 16 Mar 2008 21:48:45 +0000 (22:48 +0100)] 
Cleanup a lot of whitespace crap, mostl of which introduced by astyle

17 years agoDisable the dyn & tmp hardcoded settings to allow doxygen to be used
Henrik Nordstrom [Sun, 16 Mar 2008 01:20:56 +0000 (02:20 +0100)] 
Disable the dyn & tmp hardcoded settings to allow doxygen to be used
to build the documentation outside of the web site.

The job updating the web site will need to add these. Can be done with a
simple script
(cat Squid3.dox ; echo HTML_FILE_EXTENSION = .dyn) | doxygen -k

17 years agoIgnore tags (ctags) & tmp (doxygen)
Henrik Nordstrom [Sun, 16 Mar 2008 01:04:58 +0000 (02:04 +0100)] 
Ignore tags (ctags) & tmp (doxygen)

17 years agoignore icons/*.gif
Henrik Nordstrom [Sun, 16 Mar 2008 00:52:20 +0000 (01:52 +0100)] 
ignore icons/*.gif

17 years agoRemove obsolete reference to HttpReply::absorb
Henrik Nordstrom [Sun, 16 Mar 2008 00:50:50 +0000 (01:50 +0100)] 
Remove obsolete reference to HttpReply::absorb

17 years agoUpdate Release Notes to not mention PRE releases.
Amos Jeffries [Fri, 14 Mar 2008 04:26:05 +0000 (17:26 +1300)] 
Update Release Notes to not mention PRE releases.

17 years agoFix 3.0 snapshots
Henrik Nordstrom [Thu, 13 Mar 2008 20:39:40 +0000 (14:39 -0600)] 
Fix 3.0 snapshots

17 years agouse squid-3 snapshot procedure for 3.0
Henrik Nordstrom [Thu, 13 Mar 2008 19:48:38 +0000 (13:48 -0600)] 
use squid-3 snapshot procedure for 3.0

17 years agoBootstrapped
Henrik Nordstrom [Thu, 13 Mar 2008 19:24:51 +0000 (13:24 -0600)] 
Bootstrapped

17 years agoFix snapshot brach names
Henrik Nordstrom [Thu, 13 Mar 2008 19:05:54 +0000 (13:05 -0600)] 
Fix snapshot brach names

17 years agoAdjust snapshot paths and bzr branch names
Henrik Nordstrom [Sat, 8 Mar 2008 13:16:53 +0000 (06:16 -0700)] 
Adjust snapshot paths and bzr branch names

17 years agoBootstrapped
Henrik Nordstrom [Sat, 8 Mar 2008 13:12:38 +0000 (06:12 -0700)] 
Bootstrapped

17 years agoadjust more snapshot paths
Henrik Nordstrom [Sat, 8 Mar 2008 13:11:10 +0000 (06:11 -0700)] 
adjust more snapshot paths

17 years agoAdjust snapshot paths to be consistent
Henrik Nordstrom [Sat, 8 Mar 2008 13:05:35 +0000 (06:05 -0700)] 
Adjust snapshot paths to be consistent

17 years agoAuthor: Massimo Zito <zmax.linkedin at gmail dot com>
Henrik Nordstrom [Fri, 7 Mar 2008 22:37:34 +0000 (15:37 -0700)] 
Author: Massimo Zito <zmax.linkedin at gmail dot com>
squid_radius_auth failed to process more than 256 requests

The radius request-id field is a unsigned char, but the internal request_id
counter was a integer causing mismatch after 256 queries.

17 years agoAuthor: Robert Collins <robertc@robertcollins.net>
Henrik Nordstrom [Fri, 7 Mar 2008 22:10:03 +0000 (15:10 -0700)] 
Author: Robert Collins <robertc@robertcollins.net>

This is most of a changeover of scripts for squid 3 trunk to use bzr;
the missing bit appears to need a bzr 1.1 (to do 'rdiff' basically) or
thereabouts, I'll look into that in a bit. I'm not sure that the
unconverted cvs calls will actually trigger with our current setup or
not.

17 years agoBootstrapped
Henrik Nordstrom [Fri, 7 Mar 2008 21:38:12 +0000 (14:38 -0700)] 
Bootstrapped

17 years agoAdded .bzrignore
Henrik Nordstrom [Fri, 7 Mar 2008 21:37:05 +0000 (14:37 -0700)] 
Added .bzrignore

17 years agoBug 2250: double-freeing memory in http_port name= option code.
amosjeffries [Tue, 4 Mar 2008 19:00:36 +0000 (19:00 +0000)] 
Bug 2250: double-freeing memory in http_port name= option code.

- Seems it was only a strdup / xstrdup problem

17 years agoOptimisation cleanup of fake_auth
amosjeffries [Mon, 3 Mar 2008 14:27:39 +0000 (14:27 +0000)] 
Optimisation cleanup of fake_auth

strlen() is expensive (particularly on large buffers) and is only needed
once here.

17 years agoWindows port: Fix wrong FD read/write CPU profiling.
serassio [Sun, 2 Mar 2008 20:32:24 +0000 (20:32 +0000)] 
Windows port: Fix wrong FD read/write CPU profiling.

17 years agoDOCS: Merge auto-docs branch. p 4
amosjeffries [Wed, 27 Feb 2008 04:54:52 +0000 (04:54 +0000)] 
DOCS: Merge auto-docs branch. p 4

- Remove old SGML documentation.

17 years agoDOCS: Merge auto-docs branch. pt 3
amosjeffries [Wed, 27 Feb 2008 04:51:54 +0000 (04:51 +0000)] 
DOCS: Merge auto-docs branch. pt 3

- Add HTML header/footer stubs

17 years agoMerge auto-docs branch. pt 2
amosjeffries [Wed, 27 Feb 2008 04:49:32 +0000 (04:49 +0000)] 
Merge auto-docs branch. pt 2

- Updates build config (dyn,html) for portable dynamic and static docs
- Merges all code-comment changes
- Updates some function parameter types to reduce silent conversions
- Fixes some typos.
- Migrates some TODO items to the automatic TODO list.

17 years agoReplaced custom letterhead with an XXX note about source code origin.
rousskov [Wed, 27 Feb 2008 01:52:54 +0000 (01:52 +0000)] 
Replaced custom letterhead with an XXX note about source code origin.
Added a TODO to get rid of blatant code duplication.

17 years agoBug #2224 fix: reentrant debugging crashes Squid
rousskov [Wed, 27 Feb 2008 01:44:16 +0000 (01:44 +0000)] 
Bug #2224 fix: reentrant debugging crashes Squid

Synced with src/debug changes.
TODO: Add a note that this file appears to copy debug.cc

17 years agoBug #2224 fix: reentrant debugging crashes Squid
rousskov [Wed, 27 Feb 2008 01:43:58 +0000 (01:43 +0000)] 
Bug #2224 fix: reentrant debugging crashes Squid

Undo a temporary bug #2224 workaround. It is no longer needed because
bug #2224 is fixed.

17 years agoBug #2224 fix: reentrant debugging crashes Squid
rousskov [Wed, 27 Feb 2008 01:43:30 +0000 (01:43 +0000)] 
Bug #2224 fix: reentrant debugging crashes Squid

Reentrant debugging occurs when something being written into the debugging
stream produces its own debugging. For example, a field accessor method may
make cbdata-validation calls, which would produce debugging. Logging such
field would crash Squid if sufficiently high debugging level is enabled.

With this change, the Debug methods detect reentrant calls and mostly ignore
them, allowing the caller to append debugging information to the existing
debug stream. A short debugging label is added before and after the reentrant
debugging message to reduce confusion that overlapping debugging statements
may cause during log analysis.

17 years agoAdded a CPPUNIT assertion to test whether a failed CPPUNIT test case properly
rousskov [Tue, 26 Feb 2008 07:24:00 +0000 (07:24 +0000)] 
Added a CPPUNIT assertion to test whether a failed CPPUNIT test case properly
destructs local objects on exit.

If a previous test case fails for any reason, the new assertion will fail
instead of store_dir.cc aborting.  This may save us from tracking non-existent
StoreController initialization bugs.

17 years agoBug #2240 fix: AsyncCall-related unit tests fail
rousskov [Tue, 26 Feb 2008 07:22:30 +0000 (07:22 +0000)] 
Bug #2240 fix: AsyncCall-related unit tests fail

Removed EventDispatcher reference. The event loop now uses AsyncCallQueue.

17 years agoBug #2240 fix: AsyncCall-related unit tests fail
rousskov [Tue, 26 Feb 2008 07:22:07 +0000 (07:22 +0000)] 
Bug #2240 fix: AsyncCall-related unit tests fail

Removed EventDispatcher references, disabling the following test cases:
testRunOnce, testRegisterDispatcher, testRegisterEngine,
testEngineTimeout, testStopOnIdle.

Eventually, we will add AsyncCallQueue test cases, but EventLoop testing
does not have to wait for that.

17 years agoBug #2240 fix: AsyncCall-related unit tests fail
rousskov [Tue, 26 Feb 2008 07:21:13 +0000 (07:21 +0000)] 
Bug #2240 fix: AsyncCall-related unit tests fail

Removed EventDispatcher references, deleting testDispatch test case.
The test cases now use the AsyncCall queue to force call firing
without a real main loop.

Eventually, we will add AsyncCallQueue test cases, but event testing
does not have to wait for that.

17 years agoBug #2240 fix: AsyncCall-related unit tests fail
rousskov [Tue, 26 Feb 2008 07:19:59 +0000 (07:19 +0000)] 
Bug #2240 fix: AsyncCall-related unit tests fail

Added a missing stub.
Updated an outdated stub.

17 years agoBug #2240 fix: AsyncCall-related unit tests fail
rousskov [Tue, 26 Feb 2008 07:19:29 +0000 (07:19 +0000)] 
Bug #2240 fix: AsyncCall-related unit tests fail

Removed libsquid.la from SWAP_TEST_LDADD: Store-related test cases use comm
stubs. They must not include libsquid which provides the true comm code.

Added AsyncCall* sources to selected test cases: Every test case that needs
event.cc also needs AsyncCallQueue and AsyncCall.  Placed all three in
$TEST_CALL_SOURCES variable and used as needed. This prevents test case
compilation failures due to undefined call-related symbols.

I suspect that there are more files in the same "calls" group, but it would be
a lot easier to identify them once we clean src/ up and group files into
subdirs and libraries.

17 years agoBug #2240 fix: HttpRequestMethod-related unit tests fail
rousskov [Tue, 26 Feb 2008 07:16:47 +0000 (07:16 +0000)] 
Bug #2240 fix: HttpRequestMethod-related unit tests fail

Made HttpRequestMethod.h self-sufficient: #include enough to compile it
in isolation.

TODO: move operator++() to .cc so that we do not have to drag Debug.h
and friends into the header (via squid.h).

17 years agoProtos.h said to remove HttpRequestMethod.h #include when no method_t is used
rousskov [Tue, 26 Feb 2008 07:15:48 +0000 (07:15 +0000)] 
Protos.h said to remove HttpRequestMethod.h #include when no method_t is used
by prototypes. Removed the header and adjusted other source files that relied
on that header being in protos.h.

17 years agoBootstrapped
hno [Mon, 25 Feb 2008 08:10:48 +0000 (08:10 +0000)] 
Bootstrapped

17 years agoBug #2231: Compile error in squid_kerb_auth under Mac OS X 10.5.2
serassio [Mon, 25 Feb 2008 02:20:47 +0000 (02:20 +0000)] 
Bug #2231: Compile error in squid_kerb_auth under Mac OS X 10.5.2

HOST_NAME_MAX is not declared Mac OS X (and maybe others).

17 years agoCopy the english ERR_SECURE_CONNECT_FAIL message to Ukrainian while waiting
hno [Sun, 24 Feb 2008 22:32:53 +0000 (22:32 +0000)] 
Copy the english ERR_SECURE_CONNECT_FAIL message to Ukrainian while waiting
for a translation.

17 years agoWindows port: Optimization, use __WSAFDIsSet() instead of FD_ISSET().
serassio [Sun, 24 Feb 2008 19:59:08 +0000 (19:59 +0000)] 
Windows port: Optimization, use __WSAFDIsSet() instead of FD_ISSET().

17 years agoSpelling error in Ukrainian
hno [Sun, 24 Feb 2008 19:10:30 +0000 (19:10 +0000)] 
Spelling error in Ukrainian

17 years agoBootstrapped
hno [Sun, 24 Feb 2008 08:10:46 +0000 (08:10 +0000)] 
Bootstrapped

17 years agoAuthor: Vitaliy Matytsyn (main) <vm@if.bank.gov.ua>
hno [Sat, 23 Feb 2008 09:34:59 +0000 (09:34 +0000)] 
Author: Vitaliy Matytsyn (main) <vm@if.bank.gov.ua>
Updated Ukrainan error pages

17 years agoUpdate errors/list to match the actual list of error pages used
hno [Sat, 23 Feb 2008 09:26:03 +0000 (09:26 +0000)] 
Update errors/list to match the actual list of error pages used

17 years agoAuthor: Klaubert Herr <klaubert@gmail.com>
serassio [Wed, 20 Feb 2008 03:15:09 +0000 (03:15 +0000)] 
Author: Klaubert Herr <klaubert@gmail.com>
Patch to strip kerberos realm from username

This patch add a new option to squid_ldap_group to strip kerberos realm from
username received from squid.
This is useful when you make kerberos authentication on squid, and try to
authorize the user using ldap in MS Active Directory, quering for
sAMAccountName.

17 years agoRan indent.
serassio [Wed, 20 Feb 2008 03:05:56 +0000 (03:05 +0000)] 
Ran indent.

17 years agoBug 2230 possible fix: segmentation fault with a "pure virtual method called"
rousskov [Tue, 19 Feb 2008 05:51:21 +0000 (05:51 +0000)] 
Bug 2230 possible fix: segmentation fault with a "pure virtual method called"

Added forgotten member initializations. For so many years I have wished
that GCC would warn about these things :-(!

This change may not be enough to fix the bug.

17 years agoBug 2224 fix: reentrant debugging crashes Squid
rousskov [Tue, 19 Feb 2008 04:54:07 +0000 (04:54 +0000)] 
Bug 2224 fix: reentrant debugging crashes Squid

This patch does not fix the true/core problem, but it changes some pieces of
code that expose that problem. There are probably other pieces not masked
by this patch.

17 years agoBootstrapped
hno [Mon, 18 Feb 2008 08:10:47 +0000 (08:10 +0000)] 
Bootstrapped

17 years agoWindows Port: Windows select loop must be equivalent to Unix select loop.
serassio [Mon, 18 Feb 2008 02:42:02 +0000 (02:42 +0000)] 
Windows Port: Windows select loop must be equivalent to Unix select loop.

17 years agoWindows Port: don't set opt_no_daemon=1 when running as a service.
serassio [Mon, 18 Feb 2008 02:30:12 +0000 (02:30 +0000)] 
Windows Port: don't set opt_no_daemon=1 when running as a service.

17 years agoConvert debug statements to debugs
serassio [Sun, 17 Feb 2008 18:36:13 +0000 (18:36 +0000)] 
Convert debug statements to debugs

17 years agoClean up of deferred reads and delay pools was not applied to comm_select_win32.cc
serassio [Sun, 17 Feb 2008 17:39:28 +0000 (17:39 +0000)] 
Clean up of deferred reads and delay pools was not applied to comm_select_win32.cc

17 years agoClean up a unused reference to the statCounter.syscalls.polls removed counter
serassio [Sun, 17 Feb 2008 17:15:55 +0000 (17:15 +0000)] 
Clean up a unused reference to the statCounter.syscalls.polls removed counter

17 years agoAdd check for glob() and glob.h availability
serassio [Sun, 17 Feb 2008 16:24:48 +0000 (16:24 +0000)] 
Add check for glob() and glob.h availability

glob() and glob.h are not available on all platforms.

17 years agoFix compile error when cpu profiling is enabled.
serassio [Sun, 17 Feb 2008 16:05:19 +0000 (16:05 +0000)] 
Fix compile error when cpu profiling is enabled.

17 years agoAdded Italian translation of new ERR_SECURE_CONNECT_FAIL error message
serassio [Sun, 17 Feb 2008 15:40:58 +0000 (15:40 +0000)] 
Added Italian translation of new ERR_SECURE_CONNECT_FAIL error message

17 years agoPolished clientReplyContext::purgeAllCached.
rousskov [Sun, 17 Feb 2008 00:42:27 +0000 (00:42 +0000)] 
Polished clientReplyContext::purgeAllCached.

17 years agoWhen METHOD_ENUM_END and METHOD_OTHER were reordered, the rest of the
rousskov [Sun, 17 Feb 2008 00:41:55 +0000 (00:41 +0000)] 
When METHOD_ENUM_END and METHOD_OTHER were reordered, the rest of the
code was not reviewed and an infinite loop in
clientReplyContext::purgeAllCached was created.

Polished the ++ operator and added a TODO to replace it eventually.

Fixed id() comments.

17 years agoBug 2225 fix: method CONNECT acl wrongly applied to method GET
rousskov [Sat, 16 Feb 2008 00:26:00 +0000 (00:26 +0000)] 
Bug 2225 fix: method CONNECT acl wrongly applied to method GET

The method comparison operator was broken for all methods other than "other".

I did not check whether we need to do case-insensitive compare of method
strings when the method is "other". We have to if Squid does not convert all
unknown methods to uppercase.

17 years agoLoosen GetAddrInfo Unit-Tests.
amosjeffries [Fri, 15 Feb 2008 17:46:39 +0000 (17:46 +0000)] 
Loosen GetAddrInfo Unit-Tests.

Squid does not need certain OS defaults, which are known to vary.

17 years agoBoost debugging on IP-conversion halt to critical info.
amosjeffries [Fri, 15 Feb 2008 16:45:57 +0000 (16:45 +0000)] 
Boost debugging on IP-conversion halt to critical info.

17 years agoGCC 3.4.2 does not like cbdataReference() macro calls with unused result.
rousskov [Wed, 13 Feb 2008 13:09:15 +0000 (13:09 +0000)] 
GCC 3.4.2 does not like cbdataReference() macro calls with unused result.

17 years agoGCC 3.4.2 does not like cbdataReference() calls with unused results.
rousskov [Wed, 13 Feb 2008 13:04:25 +0000 (13:04 +0000)] 
GCC 3.4.2 does not like cbdataReference() calls with unused results.

17 years agoMerging async-call branch changes to HEAD:
rousskov [Wed, 13 Feb 2008 13:01:39 +0000 (13:01 +0000)] 
Merging async-call branch changes to HEAD:

Adding forgotten source files.

17 years agoMerging async-call branch changes to HEAD:
rousskov [Wed, 13 Feb 2008 12:51:55 +0000 (12:51 +0000)] 
Merging async-call branch changes to HEAD:

Added file forgotten in the initial merge.

17 years agoBootstrapped
hno [Wed, 13 Feb 2008 08:10:45 +0000 (08:10 +0000)] 
Bootstrapped

17 years agoMerging async-call branch changes to HEAD:
rousskov [Wed, 13 Feb 2008 07:01:47 +0000 (07:01 +0000)] 
Merging async-call branch changes to HEAD:

        Removed class fdc_t. After CommCallbackData removal, fdc_t was
        only used to check that a FD is "active" and to check that a FD
        is half_closed.  fd_table flags.open seems to be identical to
        the "active" state flag so we use that now, via newly added
        isOpen() static function. AbortChecker already maintains
        half_closed status.

        Synced ipc code to call fd_open instead of fdc_open.

17 years agoMerging async-call branch changes to HEAD:
rousskov [Wed, 13 Feb 2008 07:00:57 +0000 (07:00 +0000)] 
Merging async-call branch changes to HEAD:

Async-call work replaces event-based asynchronous calls with
stand-alone implementation. The common async call API allows Squid
core do call, debug, and troubleshoot all callback handlers in a
uniform way.

An async "job" API is introduced to manage independent logical threads
or work such as protocol transaction handlers on client, server, and
ICAP sides. These jobs should communicate with each other using async
calls to minimize dependencies and avoid reentrant callback loops.

These changes will eventually improve overall code quality, debugging
quality, and Squid robustness.

Below you will find log messages from the async-call branch that are
relevant to the file(s) being committed.

        Made comm_read and comm_write calls to use the new CommCalls.

        Converted the ConnStateData related code in client_side.cc to
        use CommCalls.

        BodyPipe now uses the  new job calls interface. Many changes in
        BodyPipe's related code.

17 years agoMerging async-call branch changes to HEAD:
rousskov [Wed, 13 Feb 2008 06:58:47 +0000 (06:58 +0000)] 
Merging async-call branch changes to HEAD:

        ConnStateData is not a RefCountable class any more and cbdata
        used instead (I just forgot to commit these files)

17 years agoMerging async-call branch changes to HEAD:
rousskov [Wed, 13 Feb 2008 06:57:47 +0000 (06:57 +0000)] 
Merging async-call branch changes to HEAD:

Async-call work replaces event-based asynchronous calls with
stand-alone implementation. The common async call API allows Squid
core do call, debug, and troubleshoot all callback handlers in a
uniform way.

An async "job" API is introduced to manage independent logical threads
or work such as protocol transaction handlers on client, server, and
ICAP sides. These jobs should communicate with each other using async
calls to minimize dependencies and avoid reentrant callback loops.

These changes will eventually improve overall code quality, debugging
quality, and Squid robustness.

Below you will find log messages from the async-call branch that are
relevant to the file(s) being committed.

        Removed CommDispatcher as unused.

        Use async calls for firing ready events. Deleted
        EventDispatcher as unused.

        Converted CompletionDispatcher-based SignalDispatcher into
        AsyncEngine-based SignalEngine to get rid of CompletionDispatchers.

17 years agoMerging async-call branch changes to HEAD:
rousskov [Wed, 13 Feb 2008 06:55:26 +0000 (06:55 +0000)] 
Merging async-call branch changes to HEAD:

Async-call work replaces event-based asynchronous calls with
stand-alone implementation. The common async call API allows Squid
core do call, debug, and troubleshoot all callback handlers in a
uniform way.

An async "job" API is introduced to manage independent logical threads
or work such as protocol transaction handlers on client, server, and
ICAP sides. These jobs should communicate with each other using async
calls to minimize dependencies and avoid reentrant callback loops.

These changes will eventually improve overall code quality, debugging
quality, and Squid robustness.

Below you will find log messages from the async-call branch that are
relevant to the file(s) being committed.

        Convert the comm_* calls to use CommCalls.

        Use the AsyncJob::deleteThis method as "delete this"
        replacement instead of the previously commited block "if
        (inCall) musStop(...) else delete this"

        ICAPInitiate::sendAnswer dialers take care of message locking
        now.

17 years agoMerging async-call branch changes to HEAD:
rousskov [Wed, 13 Feb 2008 06:52:28 +0000 (06:52 +0000)] 
Merging async-call branch changes to HEAD:

        ClientHttpRequest::getConn now returns a ConnStateData *
        pointer not ConnStateData::Pointer

17 years agoMerging async-call branch changes to HEAD:
rousskov [Wed, 13 Feb 2008 06:51:37 +0000 (06:51 +0000)] 
Merging async-call branch changes to HEAD:

Async-call work replaces event-based asynchronous calls with
stand-alone implementation. The common async call API allows Squid
core do call, debug, and troubleshoot all callback handlers in a
uniform way.

An async "job" API is introduced to manage independent logical threads
or work such as protocol transaction handlers on client, server, and
ICAP sides. These jobs should communicate with each other using async
calls to minimize dependencies and avoid reentrant callback loops.

These changes will eventually improve overall code quality, debugging
quality, and Squid robustness.

Below you will find log messages from the async-call branch that are
relevant to the file(s) being committed.

    Added initial implelentation of AsyncCall-based wrappers for
    comm callbacks. The comm layer no longer calls callbacks from
    the select loop. Instead, the select loop schedules async
    calls. Scheduled calls are then called from the main loop (like
    all other async calls), after the select loop completes.

    Removed accept loop. We cannot loop because async calls do not
    get fired during the loop and, hence, cannot register new
    callbacks for new ready FDs.

    The loop is implicit now. When the next callback is registered,
    we check whether the last accept(2) call was successful or
    OPTIMISTIC_IO is defined and call acceptNext() again if yes.
    AcceptNext() may schedule another async call (using the
    being-submitted callback) if the socket was still ready. Since
    callbacks are fired until there are no callabacks left, we
    still have an accept loop.

    Removed CommDispatcher as unused.

    Removed unused IOFCB, IOWCB, and CWCB.

    Removed class fdc_t. After CommCallbackData removal, fdc_t was
    only used to check that a FD is "active" and to check that a FD
    is half_closed.  fd_table flags.open seems to be identical to
    the "active" state flag so we use that now, via newly added
    isOpen() static function. AbortChecker already maintains
    half_closed status.

    The accept-specific functionality is still implemented by
    AcceptFD class. Removed fdc_t used to marshall accept-ralted
    calls to AcceptFD anyway. fdc_table now stores AcceptFDs
    directly. I did not rename the table to ease merging with other
    code, but added a TODO for that.

    Removed calls to comm_iocallbackpending(). They were added to
    "Speed up processing of queued events significantly, to not
    cause large delays when under low load" but I do not see how
    having pending callbacks can be relevant because all pending
    callbacks are (should be) executed before FDs are probed.

    Removed unused nullCallback() methods.

    Removed CommCallbackData and related code. It looks like it
    remained after one of the big comm rewrites, just to handle
    accept errors. We can now schedule an async call to notify of
    those errors and do not seem to need CommCallbackData at all.

    Removed commfd_completed_events: a list of completed (but not
    yet fired) callbacks. We simply schedule the async call now
    instead of maintaining our own list of callbacks to call.  This
    change allows us to eliminate the CommDispatcher class (which
    was the motivation behind these changes), but I have not done
    that yet.

    For comm_io_callback_t, being active seems to be the same as
    having a callback. Replaced active data member with a method
    that checks for the callback presence.

    Relaxed comm_read_cancel() preconditions so that the callers do
    not have to check all the assertions inside before calling that
    function.