]> git.ipfire.org Git - thirdparty/squid.git/log
thirdparty/squid.git
14 years agoFixed "no swap_filen" test. Zero swap_filen is a valid swap_filen.
Alex Rousskov [Mon, 7 Feb 2011 01:36:27 +0000 (18:36 -0700)] 
Fixed "no swap_filen" test. Zero swap_filen is a valid swap_filen.

14 years agoFixed busy slot accounting
Alex Rousskov [Sun, 6 Feb 2011 04:44:08 +0000 (21:44 -0700)] 
Fixed busy slot accounting
The number of busy slots does not go up when a new slot overwrites an old one.

14 years agoDisabled Rock::SwapDir::maintain() because it has no positive effects
Alex Rousskov [Sun, 6 Feb 2011 01:35:23 +0000 (18:35 -0700)] 
Disabled Rock::SwapDir::maintain() because it has no positive effects
with the current hashing scheme.

14 years agoQuiet down swap out error reporting.
Alex Rousskov [Fri, 4 Feb 2011 22:25:45 +0000 (15:25 -0700)] 
Quiet down swap out error reporting.

Do not report swap out errors at level 1. When things go wrong, the already
bad situation is made worse by writing lots of error messages to cache.log.

Do not report system error because the errno may be stale or irrelevant.
If error details are needed, the code should save and propagate the actual
errno in addition to the DISK_ERROR or similar status.

14 years agoRevised Core/Store cooperation w.r.t. SwapDir map slot locks.
Alex Rousskov [Fri, 4 Feb 2011 22:18:41 +0000 (15:18 -0700)] 
Revised Core/Store cooperation w.r.t. SwapDir map slot locks.

When StoreEntry is deleted, we need to release the SwapDir map slot locks it
holds, if any. This is difficult because SwapDir maintains the locks while
Squid Core maintains the entry swap_status. The Core gets swap_status-related
notifications using async calls so it is easy for swap_status to get out of
sync if SwapDir updates the map slot proactively.

The new code no longer releases the slot lock until the associated StoreEntry
is unlinked or gone, even if the slot is known to be unusable and waiting to
be deleted. We also do not rely on swap_status to guess which lock to release;
we use slot state to determine that instead.

Removed rock-specific code from StoreEntry destructor by introducing a general
SwapDir::disconnect(StoreEntry&) API.

Polished StoreEntry initialization.

Polished and fixed Rock::SwapDir debugging.

14 years agoProvide a method to abnormally terminate slot writing.
Alex Rousskov [Fri, 4 Feb 2011 18:18:12 +0000 (11:18 -0700)] 
Provide a method to abnormally terminate slot writing.
It efficiently resets the slot while the slot is still exclusively locked.

Polished slot cleaning code to be able to reuse it more.

Added comments.

Fixed switchExclusiveToSharedLock() definition profile.

14 years agoWhen we are done writing, we still need to keep the reading lock
Alex Rousskov [Fri, 4 Feb 2011 04:26:18 +0000 (21:26 -0700)] 
When we are done writing, we still need to keep the reading lock
because the StoreEntry is not gone yet and may refer back to the Slot.

14 years agoPolished debugging.
Alex Rousskov [Fri, 4 Feb 2011 04:23:47 +0000 (21:23 -0700)] 
Polished debugging.

14 years agoRevised Slot management in Rock::DirMap.
Alex Rousskov [Thu, 3 Feb 2011 23:41:32 +0000 (16:41 -0700)] 
Revised Slot management in Rock::DirMap.

Old code was occasionally hitting a s.state == Slot::Writing assertion when
closing the writing state. Since I could not find a specific bug that would
lead to this, I decided to simplify state management by moving Slot locking
further away from the Slot state.

Two kinds of Slot locks are now supported: exclusive and shared. These are
implemented using simple atomic counters. To obtain the shared lock, the slot
must also be in a readable, not-marked-for-freeing state (this is where the
lock and the state still overlap). The code should eventually be polished
to use explicit creation-is-acquisition lock objects.

Old code could not cope with Slot deletion event arriving when the Slot was
being written to. We now mark the slot as in need of freeing, regardless of
the slot state. This may need more work to properly cleanup marked slots.

The old code used open/closeForWriting sequences for rebuilding the map from
disk. There were possibly some race conditions in that code. It is now
replaced with an dedicated, simpler, and optimized putAt() method.

14 years agoAdded comments to explain slot read level maintenance assumptions.
Alex Rousskov [Thu, 3 Feb 2011 18:58:58 +0000 (11:58 -0700)] 
Added comments to explain slot read level maintenance assumptions.

14 years agoAvoid assertions when mgr:storedir is requested before cache_dir has a map.
Alex Rousskov [Thu, 3 Feb 2011 17:13:39 +0000 (10:13 -0700)] 
Avoid assertions when mgr:storedir is requested before cache_dir has a map.

14 years agoSupport IpcIO timeouts.
Alex Rousskov [Thu, 3 Feb 2011 05:33:05 +0000 (22:33 -0700)] 
Support IpcIO timeouts.

Penging IpcIo requests are now stored in two alternating maps: "old" and
"new".  Every T seconds, any requests remaining in the "old" map are treated
as timed out.  After that check, the current "new" and (now empty) "old" map
pointers are swapped so that the previously "new" requests can now age for T
seconds.  New requests are always added to the "new" map. Responses are
always checked against both maps.

This approach gives us access to pending request information and allows to
report errors to the right I/O requestors without creating additional
per-request state attached to a per-request timeout event. The price is (a)
two instead of one map lookups when the response comes and (b) timeout
precision decrease from "about T" to "anywhere from T to 2*T".

14 years agoFixed Rock MapDir read and write locking:
Alex Rousskov [Wed, 2 Feb 2011 19:05:25 +0000 (12:05 -0700)] 
Fixed Rock MapDir read and write locking:

The IoState object created by openStoreIO() can be used for many reads. Thus,
incrementing read level at open and decrementing it at [each] readCompleted
leads to negative read levels if the stored object need more than one I/O.

Moreover, the only way core Squid can swap in an entry is if an entry has our
fileno set (by our get()). Thus, the slot is already locked for reading by
get(), with the entry responsible for decreasing the read level upon
destruction. We do not need to open/close for reading in
openStoreIO/readComleted.

When writing fails, invalidate the slot before unlocking it.

14 years agoPolished skipping of cache_dirs inactive in a given strand (e.g. Coordinator)
Alex Rousskov [Wed, 2 Feb 2011 01:49:34 +0000 (18:49 -0700)] 
Polished skipping of cache_dirs inactive in a given strand (e.g. Coordinator)
by adding SwapDir::active() method. The directory is active if it makes sense
to call its init/create/get methods in a given strand.

Fixed counting cache_dirs that need dedicated strands. We no longer assume
that all cache_dirs do but use SwapDir::needsDiskStrand() to ask each dir.
The result is stored in Config.cacheSwap.n_strands to optimize NumberOfKids().

14 years agoRemoved "multiple of page size" restriction on cache_dir rock max-size.
Alex Rousskov [Tue, 1 Feb 2011 20:43:57 +0000 (13:43 -0700)] 
Removed "multiple of page size" restriction on cache_dir rock max-size.

The restriction came from mmap writing days and was meant to prevent forcing
mmap to read and merge the unchanged tail of a page we were updating.

14 years agoCall ioCompletedNotification after we are done with the opening sequence,
Alex Rousskov [Tue, 1 Feb 2011 20:35:42 +0000 (13:35 -0700)] 
Call ioCompletedNotification after we are done with the opening sequence,
not in the middle of it. The effect should be the same, but the logs may be
easier to read, and there will be fewer chances of getting into a reentrant
mess of some kind.

14 years agoDo not start rebuilding cache_dir (i.e., loading its index into RAM) until we
Alex Rousskov [Tue, 1 Feb 2011 20:27:13 +0000 (13:27 -0700)] 
Do not start rebuilding cache_dir (i.e., loading its index into RAM) until we
complete cache_dir initialization sequence, which ends in not in
Rock::SwapDir::init but in Rock::SwapDir::ioCompletedNotification where we
open the shared map or bail on errors.

It does not make sense to start loading index before the map is configured
because there will be no place to store loaded information.

14 years agoUse Blocking DiskIO module when runnining in a no-daemon mode.
Alex Rousskov [Tue, 1 Feb 2011 20:18:27 +0000 (13:18 -0700)] 
Use Blocking DiskIO module when runnining in a no-daemon mode.

We cannot use IpcIo module in no-daemon mode because there are no diskers
to communicate with. If our implementation is correct, IpcIo module should
contain no shared map or other rock-specific manipulations and, hence,
should not be required for Rock Store to work.

14 years agoRemoved unnecessary loud debugging.
Alex Rousskov [Tue, 1 Feb 2011 20:16:06 +0000 (13:16 -0700)] 
Removed unnecessary loud debugging.

14 years agoRaised debugging level for "got in-transit entry" messages.
Alex Rousskov [Tue, 1 Feb 2011 20:07:28 +0000 (13:07 -0700)] 
Raised debugging level for "got in-transit entry" messages.

14 years agoSkip initialization for all cache_dirs except for one managed by this disker.
Dmitry Kurochkin [Tue, 1 Feb 2011 10:48:22 +0000 (13:48 +0300)] 
Skip initialization for all cache_dirs except for one managed by this disker.

14 years agoMerge 3p2-rock.
Dmitry Kurochkin [Tue, 1 Feb 2011 09:41:33 +0000 (12:41 +0300)] 
Merge 3p2-rock.

14 years agoRestrict cache_dir creation to the disk process. take01
Alex Rousskov [Tue, 1 Feb 2011 09:51:09 +0000 (02:51 -0700)] 
Restrict cache_dir creation to the disk process.

14 years agoForgot to copy the read slot into caller's buffer, causing SWAPFAIL_MISSes.
Alex Rousskov [Tue, 1 Feb 2011 09:50:11 +0000 (02:50 -0700)] 
Forgot to copy the read slot into caller's buffer, causing SWAPFAIL_MISSes.

14 years agoDebug output polishing in Rock::DirMap.
Dmitry Kurochkin [Tue, 1 Feb 2011 09:01:29 +0000 (12:01 +0300)] 
Debug output polishing in Rock::DirMap.

14 years agoShared Rock::DirMap version 12.
Dmitry Kurochkin [Tue, 1 Feb 2011 08:49:57 +0000 (11:49 +0300)] 
Shared Rock::DirMap version 12.

14 years agoShared Rock::DirMap version 11.
Dmitry Kurochkin [Tue, 1 Feb 2011 08:30:26 +0000 (11:30 +0300)] 
Shared Rock::DirMap version 11.

14 years agoMerge 3p2-rock.
Dmitry Kurochkin [Tue, 1 Feb 2011 08:26:02 +0000 (11:26 +0300)] 
Merge 3p2-rock.

14 years agoShared Rock::DirMap version 10.
Dmitry Kurochkin [Tue, 1 Feb 2011 08:24:32 +0000 (11:24 +0300)] 
Shared Rock::DirMap version 10.

14 years agoPreserve old registration tag when updating registration info.
Alex Rousskov [Tue, 1 Feb 2011 08:22:59 +0000 (01:22 -0700)] 
Preserve old registration tag when updating registration info.

Sometimes, tagless strand registers self only after its module (like
IpcIoFile) supplies a tag. We need to keep the tag for future tag searches
to succeed.

14 years agoShared Rock::DirMap version 9.
Dmitry Kurochkin [Tue, 1 Feb 2011 07:14:17 +0000 (10:14 +0300)] 
Shared Rock::DirMap version 9.

14 years agoMerge 3p2-rock.
Dmitry Kurochkin [Tue, 1 Feb 2011 06:41:34 +0000 (09:41 +0300)] 
Merge 3p2-rock.

14 years agoFixed Rock::DirMap::Slot::checkKey() which was ignoring its parameter.
Alex Rousskov [Tue, 1 Feb 2011 06:41:15 +0000 (23:41 -0700)] 
Fixed Rock::DirMap::Slot::checkKey() which was ignoring its parameter.

Store entry key in four 4-byte atomics instead of two 8-byte atomics because
older GCCs (e.g., v4.4.1) lack __sync_fetch_and_add_8.

14 years agoShared Rock::DirMap version 8.
Dmitry Kurochkin [Tue, 1 Feb 2011 06:38:11 +0000 (09:38 +0300)] 
Shared Rock::DirMap version 8.

14 years agoRemoved restriction on cache_dir max-size to be a multiple of pagesize.
Alex Rousskov [Tue, 1 Feb 2011 05:46:29 +0000 (22:46 -0700)] 
Removed restriction on cache_dir max-size to be a multiple of pagesize.
It was specific to Mmapped DiskIO module which we no longer use.

14 years agoMerge 3p2-rock.
Dmitry Kurochkin [Tue, 1 Feb 2011 05:07:49 +0000 (08:07 +0300)] 
Merge 3p2-rock.

14 years agoAdded forgotten StrandSearch sources.
Alex Rousskov [Tue, 1 Feb 2011 05:17:51 +0000 (22:17 -0700)] 
Added forgotten StrandSearch sources.

14 years agoMerge 3p2-rock.
Dmitry Kurochkin [Tue, 1 Feb 2011 05:07:38 +0000 (08:07 +0300)] 
Merge 3p2-rock.

14 years agoAdded IpcIo DiskIO module for communication with remote disk processes via UDS.
Alex Rousskov [Tue, 1 Feb 2011 05:01:43 +0000 (22:01 -0700)] 
Added IpcIo DiskIO module for communication with remote disk processes via UDS.
Used IpcIo for Rock Store filesystem module.

Added StrandSearch API: Workers use it to ask Coordinator for the right
address (i.e., kid identifier) of the disk process for a given cache_dir path.
If Coordinator does not know the answer, it waits for more disk processes to
register. Implemented using generic tagging of kids (StrandCoord) and
searching for the right tag.

Raised UDS message size maximum to 36K in order to accommodate non-trivial
rock store I/O while we are using UDS messages for I/O content.

Fixed shutdown handling broken by hiding cache_dirs from Coordinator while
switching IamPrimaryProcess() logic to use NumberOfKids() which needs
cache_dir count.

14 years agoShared Rock::DirMap version 7.
Dmitry Kurochkin [Tue, 1 Feb 2011 04:59:26 +0000 (07:59 +0300)] 
Shared Rock::DirMap version 7.

14 years agoShared Rock::DirMap version 6.
Dmitry Kurochkin [Tue, 1 Feb 2011 03:57:45 +0000 (06:57 +0300)] 
Shared Rock::DirMap version 6.

14 years agoShared Rock::DirMap version 5.
Dmitry Kurochkin [Mon, 31 Jan 2011 04:08:41 +0000 (07:08 +0300)] 
Shared Rock::DirMap version 5.

14 years agoAdded "disker" processes to be responsible for individual cache_dir I/O.
Alex Rousskov [Sun, 30 Jan 2011 23:16:22 +0000 (16:16 -0700)] 
Added "disker" processes to be responsible for individual cache_dir I/O.

Determine kid process role based on the process name rather than kid ID.
This allows the process to perform role-specific actions before (or while)
squid.conf is parsed.

14 years agoMerge 3p2-rock.
Dmitry Kurochkin [Sun, 30 Jan 2011 23:15:49 +0000 (02:15 +0300)] 
Merge 3p2-rock.

14 years agoShared Rock::DirMap version 4.
Dmitry Kurochkin [Sun, 30 Jan 2011 23:15:05 +0000 (02:15 +0300)] 
Shared Rock::DirMap version 4.

14 years agoRock::SwapDir::get() implementation.
Dmitry Kurochkin [Sun, 30 Jan 2011 06:06:24 +0000 (09:06 +0300)] 
Rock::SwapDir::get() implementation.

14 years agoRevert RockSwapDir changes.
Dmitry Kurochkin [Sun, 30 Jan 2011 06:04:46 +0000 (09:04 +0300)] 
Revert RockSwapDir changes.

14 years agoShared Rock::DirMap version 3.
Dmitry Kurochkin [Sun, 30 Jan 2011 06:00:04 +0000 (09:00 +0300)] 
Shared Rock::DirMap version 3.

14 years agoMerge 3p2-rock.
Dmitry Kurochkin [Sun, 30 Jan 2011 04:41:33 +0000 (07:41 +0300)] 
Merge 3p2-rock.

14 years agoShared Rock::DirMap version 2.
Dmitry Kurochkin [Sun, 30 Jan 2011 04:35:36 +0000 (07:35 +0300)] 
Shared Rock::DirMap version 2.

14 years agoWhen searching for a hit, ask each cache_dir after checking in store_table.
Alex Rousskov [Sun, 30 Jan 2011 02:21:30 +0000 (19:21 -0700)] 
When searching for a hit, ask each cache_dir after checking in store_table.

This allows SMP cache_dirs to share their contents without constantly worrying
about keeping the worker-specific store_table in sync among workers.

14 years agoAdded stream operator << for StoreEntry to ease debugging.
Alex Rousskov [Sun, 30 Jan 2011 02:19:26 +0000 (19:19 -0700)] 
Added stream operator << for StoreEntry to ease debugging.

14 years agoShared Rock::DirMap version 1.
Dmitry Kurochkin [Sun, 30 Jan 2011 01:35:32 +0000 (04:35 +0300)] 
Shared Rock::DirMap version 1.

14 years agoChange RockDirMap to use bytes instead of bits.
Dmitry Kurochkin [Sat, 29 Jan 2011 18:44:25 +0000 (21:44 +0300)] 
Change RockDirMap to use bytes instead of bits.

This is required to make it shared between multiple worker processes, because
we can not work atomically with bits.

14 years agoSupport multiple services and vectoring-point crossing in ICAP X-Next-Services.
Alex Rousskov [Sat, 29 Jan 2011 18:18:12 +0000 (11:18 -0700)] 
Support multiple services and vectoring-point crossing in ICAP X-Next-Services.

Adding source files forgotten in r11167.

Merged from the 3p1-rock branch (r9630).

14 years agoAdded a configuration check to prevent IoState::startWriting() assertions.
Alex Rousskov [Sat, 29 Jan 2011 00:08:52 +0000 (17:08 -0700)] 
Added a configuration check to prevent IoState::startWriting() assertions.

Rock::IoState::startWriting() asserts that [padded] write request size does
not exceed the slot size. Padded request size always exceeds the slot size for
slots smaller than the page.

This check may also help avoid using unallocated buffer for padding, but that
part may need more work.

14 years agoAdded STORE_META_OBJSIZE size to keep storeSwapMetaSize in sync with
Alex Rousskov [Fri, 28 Jan 2011 01:25:12 +0000 (18:25 -0700)] 
Added STORE_META_OBJSIZE size to keep storeSwapMetaSize in sync with
storeSwapMetaBuild.

14 years agoSupport multiple services and vectoring-point crossing in ICAP X-Next-Services.
Alex Rousskov [Thu, 27 Jan 2011 21:19:45 +0000 (14:19 -0700)] 
Support multiple services and vectoring-point crossing in ICAP X-Next-Services.

Merged from the 3p1-rock branch (r9630).

14 years agoMiscellaneous useful changes from 3p1-rock (r9630) unrelated to Rock Store.
Alex Rousskov [Thu, 27 Jan 2011 21:16:49 +0000 (14:16 -0700)] 
Miscellaneous useful changes from 3p1-rock (r9630) unrelated to Rock Store.

14 years agoRock Store implementation merged from the 3p1-rock branch (r9630).
Alex Rousskov [Thu, 27 Jan 2011 21:14:56 +0000 (14:14 -0700)] 
Rock Store implementation merged from the 3p1-rock branch (r9630).

14 years agoCleanup: remove dead code from typedefs.h take00
Amos Jeffries [Thu, 20 Jan 2011 10:13:05 +0000 (03:13 -0700)] 
Cleanup: remove dead code from typedefs.h

Initially the idea was to use these as hints when porting from Squid-2
but has proven not to be very useful.

14 years agoTypo in ModKqueue
Amos Jeffries [Tue, 18 Jan 2011 12:16:17 +0000 (05:16 -0700)] 
Typo in ModKqueue

14 years agoCorrect language code for Czech
Amos Jeffries [Mon, 17 Jan 2011 21:11:29 +0000 (10:11 +1300)] 
Correct language code for Czech

14 years agoFix broken cfgman links on obsolete directives
Amos Jeffries [Mon, 17 Jan 2011 14:07:52 +0000 (03:07 +1300)] 
Fix broken cfgman links on obsolete directives

14 years agoFix Solaris getrusage wrapping
Amos Jeffries [Sat, 15 Jan 2011 03:24:47 +0000 (16:24 +1300)] 
Fix Solaris getrusage wrapping

14 years agoBug 2586: multiple memory leaks during reconfigure
Christos Tsantilas [Fri, 14 Jan 2011 17:45:23 +0000 (19:45 +0200)] 
Bug 2586: multiple memory leaks during reconfigure

This patch fixes:
   - a SSL_CTX object memory leak
   - a very small memory leak in MimeIcon class
   - a small memory leak while parsing adaptation_service

14 years agoMake FTP and CacheMgr obey --disable-auth-basic
Amos Jeffries [Fri, 14 Jan 2011 14:10:21 +0000 (07:10 -0700)] 
Make FTP and CacheMgr obey --disable-auth-basic

When teh proxy has been built with this auth module explicitly disabled
do not add headers indicating that it is available.

The side effect of not having Basic authentication support in the proxy
is that FTP is reduced to depending on URL logins and CacheMgr protected
actions cannot be used.

14 years agoSupport configurable status codes for deny_info
Amos Jeffries [Fri, 14 Jan 2011 06:15:23 +0000 (23:15 -0700)] 
Support configurable status codes for deny_info

This changes the default behaviour of deny_info redirects. Making Squid
automaticaly select 307 or 303 status code where appropriate for HTTP/1.1
clients and 302 for HTTP/1.0 clients or other appropriate cases.
For example;
    deny_info 303:http://example.com/ POST

On top of the behaviour change this patch adds capability for admin to
configure deny_info with explicit status codes ranging from 200 to 599.

There are limits placed on the use of each range of status codes:
 * 2xx, 4xx and 5xx may only be set when there is a local file or template
   being used as body content on the response.
 * 3xx status may only be set when there is a URI being used as a redirect
   destination.

These limitations are enforced with a configuration hard abort due to:

3xx with a named template and 4xx/5xx with a redirect break with a range
of horrible results to our file loading and output Location: URLs. My
tests ended up with Squid scanning the FS for local files called
http://blah, redirecting the browser to 404:ERR_ACCESS_DENIED, or getting
past those with zero-sized replies and crashes when err is required to
have length.

They are going to take something much more major logic re-plumbing and
maybe deeper cleanup to get the crossover down to safe enough for just a
warning. Given the RFC defined use of each status range I did not think
it worth doing to enable something on the fine edge of non-standard.

14 years agoBug 3089: FTP command output overrides directory listing
Amos Jeffries [Fri, 14 Jan 2011 05:50:43 +0000 (22:50 -0700)] 
Bug 3089: FTP command output overrides directory listing

14 years agoFix "unrecognized value for USE_LIBNETFILTERCONNTRACK: 'auto'"
Amos Jeffries [Wed, 12 Jan 2011 12:54:10 +0000 (01:54 +1300)] 
Fix "unrecognized value for USE_LIBNETFILTERCONNTRACK: 'auto'"

Thanks to Andrew Beverly.

14 years agoftp_eprt directive to disable EPRT extensions in FTP
Amos Jeffries [Wed, 12 Jan 2011 05:23:00 +0000 (22:23 -0700)] 
ftp_eprt directive to disable EPRT extensions in FTP

This allows admin to resolve compatibility problems with old devices which
encounter a range of problems when FTP extensions are used by selectively
disabling any of the extensions individually.

The other EPSV extensions already have enable/disable directives.

14 years agoPortability fix: removed unused code from smblib
Francesco Chemolli [Tue, 11 Jan 2011 22:01:53 +0000 (23:01 +0100)] 
Portability fix: removed unused code from smblib

14 years agoBug 2959: remove SAMBAPREFIX dependency
Amos Jeffries [Tue, 11 Jan 2011 07:33:27 +0000 (00:33 -0700)] 
Bug 2959: remove SAMBAPREFIX dependency

This removes the tricky SAMBAPREFIX variable which passes full-path
information from the squid build machine down to the run-time host
helper.

Such information is not always correct when crossing machines, and the
binaries being run can easily be added to PATH in the run-time host
environment instead.

The net result of doing this is removal of Samba from the build
dependencies and increased availability of the basic_smb_auth and
ext_wbinfo_group_acl helpers.

14 years agoPrevent extra lines being pulled into xprof_type.h
Amos Jeffries [Tue, 11 Jan 2011 07:31:04 +0000 (00:31 -0700)] 
Prevent extra lines being pulled into xprof_type.h

14 years agoPortability fix: remove unneeded functions in lib/rfcnb
Francesco Chemolli [Mon, 10 Jan 2011 17:11:07 +0000 (18:11 +0100)] 
Portability fix: remove unneeded functions in lib/rfcnb

14 years agoportability fix: lib/rfcnb symbol shuffling
Francesco Chemolli [Mon, 10 Jan 2011 16:55:29 +0000 (17:55 +0100)] 
portability fix: lib/rfcnb symbol shuffling

14 years agoStandard compliance fix: size_t is guaranteed unsigned.
Francesco Chemolli [Mon, 10 Jan 2011 14:46:21 +0000 (15:46 +0100)] 
Standard compliance fix: size_t is guaranteed unsigned.

14 years agoMaintenance: auto-sync XPROF counter types with sources
Amos Jeffries [Mon, 10 Jan 2011 11:01:26 +0000 (04:01 -0700)] 
Maintenance: auto-sync XPROF counter types with sources

14 years agoSourceLayout: shuffle comm IO loops into libcomm and Comm namespace
Amos Jeffries [Mon, 10 Jan 2011 09:43:43 +0000 (02:43 -0700)] 
SourceLayout: shuffle comm IO loops into libcomm and Comm namespace

14 years agoCorrect EUI logging documentation
Amos Jeffries [Sat, 8 Jan 2011 06:32:58 +0000 (19:32 +1300)] 
Correct EUI logging documentation

14 years agoAuthor: Henrik Nordstrom <hno@squid-cache.org>
Amos Jeffries [Sat, 8 Jan 2011 06:23:27 +0000 (19:23 +1300)] 
Author: Henrik Nordstrom <hno@squid-cache.org>
Port from 2.7: maximum staleness limits

The default behaviour of Squid is to provide a stale copy (with Warnigng:
header) until an actove response from the origin server causes the object
to be updated or garbage collection causes its removal.

The max_stale direcive and refresh_pattern max-stale=N option allow admin
to set an upper limit on the objects age when serving stale responses.

14 years agoFixed typo in unused(?) HttpHeader::putSc() method. Range header was deleted.
Alex Rousskov [Mon, 3 Jan 2011 22:51:39 +0000 (15:51 -0700)] 
Fixed typo in unused(?) HttpHeader::putSc() method. Range header was deleted.

14 years agoAuthor: Florent <fcarli@gmail.com>
Christos Tsantilas [Thu, 30 Dec 2010 11:16:21 +0000 (13:16 +0200)] 
Author: Florent <fcarli@gmail.com>
Bug 3129: ssl-crtd / Dynamically generated certicates' "subject" and "issuer" include "-----BEGIN CERTIFICATE-----"

14 years agoAuthor: Henrik Nordstrom <hno@squid-cache.org>
Amos Jeffries [Mon, 27 Dec 2010 20:25:30 +0000 (13:25 -0700)] 
Author: Henrik Nordstrom <hno@squid-cache.org>
Support RFC 5861 Cache-Control: stale-if-error option

The default behaviour for Squid is to present the stale object when
revalidation fails with a 5xx error.

stale-if-error places a maximum limit on how long this stale object may
be sent. After the limit has passed Squid is required to present the 5xx
message to the client.

Original code for Squid-2 was sponsored by Yahoo!.

Portage done by Alex Rousskov and Amos Jeffries.

14 years agoAdd omitted Makefile generation
Amos Jeffries [Sun, 26 Dec 2010 02:07:17 +0000 (15:07 +1300)] 
Add omitted Makefile generation

14 years agoAuthor: Marcello Romani <marcello.romani@libero.it>
Amos Jeffries [Sun, 26 Dec 2010 01:38:26 +0000 (14:38 +1300)] 
Author: Marcello Romani <marcello.romani@libero.it>
Author: Amos Jeffries <squid3@treenet.co.nz>
Database Logging Daemon

Original code by Marcello Romani, this version has some additions to
initialize any missing database tables depended on during its startup
phase and some additional polish to fit within the current Squid release.

COPYRIGHT AND LICENSE

Copyright (C) 2008 by Marcello Romani

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.8 or,
at your option, any later version of Perl 5 you may have available.

14 years agoCPU profiler is a dev testing feature. Disable by default.
Amos Jeffries [Fri, 24 Dec 2010 14:00:09 +0000 (07:00 -0700)] 
CPU profiler is a dev testing feature. Disable by default.

14 years agoPrep for 3.1.10 and 3.2.0.4
Amos Jeffries [Wed, 22 Dec 2010 03:14:21 +0000 (16:14 +1300)] 
Prep for 3.1.10 and 3.2.0.4

14 years agohttp_port display cleanup
Amos Jeffries [Mon, 20 Dec 2010 23:52:52 +0000 (16:52 -0700)] 
http_port display cleanup

 * ignore-cc is a violation when not on accel ports.

14 years agoUse the right printf args for client_request_buffer_max warning
Amos Jeffries [Fri, 17 Dec 2010 12:59:35 +0000 (05:59 -0700)] 
Use the right printf args for client_request_buffer_max warning

14 years agoAdd docs and prevent parse loops on client_request_buffer_max
Amos Jeffries [Fri, 17 Dec 2010 05:46:37 +0000 (22:46 -0700)] 
Add docs and prevent parse loops on client_request_buffer_max

14 years agoCompat: static functions cannot be passed externally
Amos Jeffries [Thu, 16 Dec 2010 02:25:55 +0000 (19:25 -0700)] 
Compat: static functions cannot be passed externally

14 years agoSourceFormat Enforcement
Automatic source maintenance [Thu, 16 Dec 2010 01:15:12 +0000 (18:15 -0700)] 
SourceFormat Enforcement

14 years agoAuthor: Chad Naugle <chad.naugle@travimp.com>
Amos Jeffries [Wed, 15 Dec 2010 21:59:50 +0000 (14:59 -0700)] 
Author: Chad Naugle <chad.naugle@travimp.com>
ext_edirectory_user_ip: hack fix -3 result in StringSplit algorithm

14 years agoext_edirectory_userip_acl: alternative split algorithms
Amos Jeffries [Wed, 15 Dec 2010 12:13:01 +0000 (05:13 -0700)] 
ext_edirectory_userip_acl: alternative split algorithms

Some compilers do not support dynamically allocated stack space.
Instead perform a scan and hunk copy/wipe of the passed buffers directly.
As a side effect the split is no longer triple-copying data and
double-memset'ing.

14 years agoDocumentation fixes
Amos Jeffries [Wed, 15 Dec 2010 10:12:22 +0000 (23:12 +1300)] 
Documentation fixes

14 years agoAuthor: Graham Keeling <graham@equiinet.com>
Christos Tsantilas [Wed, 15 Dec 2010 09:38:03 +0000 (11:38 +0200)] 
Author: Graham Keeling <graham@equiinet.com>
Bug 3113: Squid can eat far too much memory when uploading files

Problem description:
  Uploading a large file to a web site on the internet, squid's client
input buffer will increase far faster than it can be emptied to
the target website, and the machine will swiftly run out of memory.

This patch adds the client_request_buffer_max_size configuration
parameter  which specifies the maximum buffer size of a client request.

14 years agoVarious source format cleanups
Henrik Nordstrom [Tue, 14 Dec 2010 14:01:14 +0000 (15:01 +0100)] 
Various source format cleanups

undo damage done by earlier astyle versions and adjust some
imported code to follow reasonable style. no functional change.

14 years agoFix the "Report ERR_SECURE_CONNECT_FAIL details" patch (rev 11122)
Christos Tsantilas [Tue, 14 Dec 2010 12:17:34 +0000 (14:17 +0200)] 
Fix the "Report ERR_SECURE_CONNECT_FAIL details" patch (rev 11122)

Looks that the error_t is a define in some platforms. Rename Ssl::error_t to
Ssl::ssl_error_t to avoid compile problems

14 years agoCompat: define #define PRINTF_FORMAT_ARG* for non-gcc compilers
Amos Jeffries [Tue, 14 Dec 2010 03:35:01 +0000 (20:35 -0700)] 
Compat: define #define PRINTF_FORMAT_ARG* for non-gcc compilers