]> git.ipfire.org Git - thirdparty/squid.git/log
thirdparty/squid.git
15 years agoPolished debugging. Needs more work.
Alex Rousskov [Tue, 8 Feb 2011 01:29:29 +0000 (18:29 -0700)] 
Polished debugging. Needs more work.

15 years agoFixed debugging: print the entry size, as intended, not the entry pointer.
Alex Rousskov [Tue, 8 Feb 2011 01:25:59 +0000 (18:25 -0700)] 
Fixed debugging: print the entry size, as intended, not the entry pointer.

15 years agoSourceFormat Enforcement
Automatic source maintenance [Tue, 8 Feb 2011 01:12:42 +0000 (18:12 -0700)] 
SourceFormat Enforcement

15 years agoRemoved temporary code disabling Rock::SwapDir::maintain().
Alex Rousskov [Mon, 7 Feb 2011 18:55:41 +0000 (11:55 -0700)] 
Removed temporary code disabling Rock::SwapDir::maintain().
Standard code now works because we do not create a replacement policy.

Polished/optimized Rock::SwapDir::maintain() guards.

15 years agoDo not create an unused replacement policy and stuff it with entries
Alex Rousskov [Mon, 7 Feb 2011 18:48:40 +0000 (11:48 -0700)] 
Do not create an unused replacement policy and stuff it with entries
because those entries will leak since maintain() is disabled.

15 years agoMade Rock::Rebuild an AsyncJob because it is.
Alex Rousskov [Mon, 7 Feb 2011 17:59:28 +0000 (10:59 -0700)] 
Made Rock::Rebuild an AsyncJob because it is.

Increment StoreController::store_dirs_rebuilding early, when SwapDir is
created and before the disk db file is opened and the actual rebuild starts.
Otherwise, if one SwapDir finishes rebuild before others start,
storeRebuildComplete() will see StoreController::store_dirs_rebuilding equal
to one, and think the rebuild is over.

This was not a problem for cache_dirs using blocking I/O because they either
did not try to open some file at SwapDir::init() time or did so synchronously,
resulting in "immediate" StoreController::store_dirs_rebuilding increment from
Store init loop point of view.

15 years agoPrep for 3.1.11
Amos Jeffries [Mon, 7 Feb 2011 12:36:58 +0000 (05:36 -0700)] 
Prep for 3.1.11

15 years agoIcons: remove SN.png on uninstall
Amos Jeffries [Mon, 7 Feb 2011 10:39:44 +0000 (03:39 -0700)] 
Icons: remove SN.png on uninstall

15 years agoBug 2870: --disable-auth does not work
Amos Jeffries [Mon, 7 Feb 2011 10:27:53 +0000 (03:27 -0700)] 
Bug 2870: --disable-auth does not work

This patch attempts to make it work by removing libauth.la and all component
functionality which depends on it. So far this reduces the minimal squid
binary by a further 900 KB on disk.

It also means anything which requires an authentication process wont work.
They get wrapped in USE_AUTH or if its a specific type with the relevant
HAVE_AUTH_MODULE_* wrappers.

So far this does:
 * FTP and CacheMgr dependency on --disable-auth-basic is already committed
 * cache_peer login= functionality is greatly reduced under various
   combinations of --disable-auth, --disable-auth-basic and
   --disable-auth-negotiate
 * peering userhash algorithm is removed
 * delay pools class 4 is removed
 * ACLs testing username are dropped.

Additionally since external ACL user= field is used interchangeably in
several places with a full login and with the right helper can be
considered a full side-band authentication I have disabled the
ExtUser/ext_user components as well.

NP: pinning is not strictly dependent on NTLM, we may use it for other
    things without involving auth so left most of it in. Just the logics
    which use auth to set the pinning flag are now removable.

IDENT not being an authentication mechanism is also left in.

15 years agoAuthor: D Kazarov <d.y.kazarov@mail.ru>
Amos Jeffries [Mon, 7 Feb 2011 04:50:11 +0000 (21:50 -0700)] 
Author: D Kazarov <d.y.kazarov@mail.ru>
Bug 3137: RADIUS auth helper does not send identifier to RADIUS server

15 years agoAuthor: Phil Oester <kernel@linuxace.com>
Amos Jeffries [Mon, 7 Feb 2011 04:32:37 +0000 (21:32 -0700)] 
Author: Phil Oester <kernel@linuxace.com>
Bug 3115: stdio: log module segfaults if access_log is set to a directory

15 years agoAuthor: Jonathan Wolfe <jonathan.wolfe@gmail.com>
Amos Jeffries [Mon, 7 Feb 2011 04:16:22 +0000 (21:16 -0700)] 
Author: Jonathan Wolfe <jonathan.wolfe@gmail.com>
Bug 3149: not caching ecap adapted body

eCAP adapters may remove or edit the Content-Length header, and to allow
caching of the adapted body squid must reflect that new (or unspecified)
content length when deciding whether or not the adapted body can be cached.

15 years agoMaintenance: Fix in icons update script
Amos Jeffries [Mon, 7 Feb 2011 04:00:55 +0000 (21:00 -0700)] 
Maintenance: Fix in icons update script

15 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.

15 years agoSMP SNMP
Christos Tsantilas [Sun, 6 Feb 2011 19:50:52 +0000 (21:50 +0200)] 
SMP SNMP

In the case the SQUID_SNMP is disabled the MessageType enum list ends with a ","
The gcc compiler does not have any problem with this but SunStudio return a
parse error.

15 years agoSMP SNMP
Christos Tsantilas [Sun, 6 Feb 2011 16:39:53 +0000 (18:39 +0200)] 
SMP SNMP

The SunStudio compiler requires the <algorithm> include file to allow use the
std::copy

15 years agoIcons Upgrade
Amos Jeffries [Sun, 6 Feb 2011 13:46:38 +0000 (02:46 +1300)] 
Icons Upgrade

This updates the icons from the current anthony-* GIF series to the
completely free PNG silk icons by Mark James.

Why?
 * Avoiding GIF format makes Squid just a little bit more FOSS than before.

 * These icons are also just a little bit smaller and slicker.

 * Distros which package the silk icons separately for other apps can
   leverage those packages and share the icons.

Also moves the icons to /var/www/squid/icons in accordance with the
Unix filesystem specs for static web content.

15 years agoLanguage: template updates
Amos Jeffries [Sun, 6 Feb 2011 09:52:32 +0000 (22:52 +1300)] 
Language: template updates

15 years agoEnable non-caching of external ACL results
Amos Jeffries [Sun, 6 Feb 2011 09:20:16 +0000 (02:20 -0700)] 
Enable non-caching of external ACL results

Admin configure ttl=0 and/or negative_ttl=0 to prevent Squid storing the
ACL lookup results. The problem is that results still get cached and
re-used for the grace= period or one second, whichever is larger.

Also, in the event where two or more requests with identical details
needing to be looked up at the same time there is an optimization
which will merge and share one lookup result for all these requests.

In most situations this result sharing is beneficial, however when a
unique result is wanted it can cause problems.

This patch makes ttl=0 and negative_ttl=0 prevent their respective OK and
ERR results from being stored into the helper result cache. Sharing is
still performed for overlapping duplicate requests.

When cache=0 is configured, no caching or sharing of results is performed
at all.

15 years agoAuthor: Leonid Evdokimov <leon@darkk.net.ru>
Amos Jeffries [Sun, 6 Feb 2011 08:36:12 +0000 (01:36 -0700)] 
Author: Leonid Evdokimov <leon@darkk.net.ru>
bootstrap.sh: Detect DEB package naming style of multiple autoconf versions

15 years agoAuthor: Bernard <fli4l.charrier@free.fr>
Amos Jeffries [Sun, 6 Feb 2011 05:32:41 +0000 (18:32 +1300)] 
Author: Bernard <fli4l.charrier@free.fr>
Language: fr updates

15 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.

15 years agoSMP SNMP: fix test unit link failures
Amos Jeffries [Sun, 6 Feb 2011 03:33:09 +0000 (20:33 -0700)] 
SMP SNMP: fix test unit link failures

15 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.

15 years agode-dupe httpsAccept and httpAccept. move EUI fields to Comm::Connection
Amos Jeffries [Sat, 5 Feb 2011 13:59:56 +0000 (02:59 +1300)] 
de-dupe httpsAccept and httpAccept. move EUI fields to Comm::Connection

15 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.

15 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.

15 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.

15 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.

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

15 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.

15 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.

15 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.

15 years agoSMP SNMP
Christos Tsantilas [Thu, 3 Feb 2011 15:13:43 +0000 (17:13 +0200)] 
SMP SNMP

The attached patch implements aggregation of SNMP responses, similar to how
we aggregate some cache manager stats.

The code contains changes that allow us to share some of the classes between
Cache Manager and SNMP code:

  * implement the following base classes under the ipc directory/module:
    - Ipc::Forwarder (ipc/Forwarder{.cc,.h} files)
    - Ipc::Inquirer (ipc/Inquirer{.cc,.h} files)
    - Ipc::Request (ipc/Request{.cc,.h} files)
    - Ipc::Response (ipc/Response{.cc,.h} files)

  * fix the Mgr::Forwarder, Mgr::Inquirer, Mgr::Request and Mgr::Response
    classes to be implemented as kid classes of the equivalent Icp::* classes.

Also implements for the SNMP the same mechanism used for cache manager:
The SNMP requests forwarder to coordinator which collects the statistics from
kids and aggregate them.

This is a Measurement Factory project

15 years agoadd snmp/Makefile.am
Christos Tsantilas [Thu, 3 Feb 2011 11:07:27 +0000 (13:07 +0200)] 
add snmp/Makefile.am

15 years agotry to handle make check errors
Christos Tsantilas [Thu, 3 Feb 2011 10:59:09 +0000 (12:59 +0200)] 
try to handle make check errors

15 years agoApplying sourceformating
Christos Tsantilas [Thu, 3 Feb 2011 08:02:28 +0000 (10:02 +0200)] 
Applying sourceformating

15 years agotry to handle compiler errors in CentOS 5.3
Christos Tsantilas [Thu, 3 Feb 2011 07:39:31 +0000 (09:39 +0200)] 
try to handle compiler errors in CentOS 5.3

15 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".

15 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.

15 years agomerge from trunk
Christos Tsantilas [Wed, 2 Feb 2011 17:55:24 +0000 (19:55 +0200)] 
merge from trunk

15 years agomerge from trunk
Christos Tsantilas [Wed, 2 Feb 2011 17:41:41 +0000 (19:41 +0200)] 
merge from trunk

15 years agoMove IDENT results into Connection data object. rename some ConnStateData fields
Amos Jeffries [Wed, 2 Feb 2011 10:23:15 +0000 (23:23 +1300)] 
Move IDENT results into Connection data object. rename some ConnStateData fields

15 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().

15 years agoSourceFormat Enforcement
Automatic source maintenance [Wed, 2 Feb 2011 01:12:28 +0000 (18:12 -0700)] 
SourceFormat Enforcement

15 years agoOmitted bits from rev11198
Amos Jeffries [Wed, 2 Feb 2011 00:28:49 +0000 (13:28 +1300)] 
Omitted bits from rev11198

15 years agoFix pipeline_prefetch misconfigurations
Amos Jeffries [Tue, 1 Feb 2011 23:12:39 +0000 (12:12 +1300)] 
Fix pipeline_prefetch misconfigurations

Enact the TODO/Caveat about checking post-parse for auth type clashing
with pipeline settings. This can only fix local configuration errors.

Pipeline_prefetch ON will still silently break WWW-Authenticate pass-thru
and Proxy-Authenticate pass-thru for these auth mechanisms.

15 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.

15 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.

15 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.

15 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.

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

15 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.

15 years agoRange::size() returned value type: Fix comparison with signed/unsigned types
Christos Tsantilas [Tue, 1 Feb 2011 12:00:45 +0000 (14:00 +0200)] 
Range::size() returned value type: Fix comparison with signed/unsigned types

15 years agoAuthor: Alexandre SIMON <alexandre.simon@ciril.fr>
Amos Jeffries [Tue, 1 Feb 2011 11:37:01 +0000 (00:37 +1300)] 
Author: Alexandre SIMON <alexandre.simon@ciril.fr>
Bug 3144: redirector program blocks while reading STDIN

The string passed to redirect helper program may exceed the available
buffer space and be truncated. Thus having no \n terminator for the helper.

Test for this failure condition and produce an error page.

15 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.

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

15 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.

15 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.

15 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.

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

15 years agoRange::size() returned value type
Christos Tsantilas [Tue, 1 Feb 2011 08:49:56 +0000 (10:49 +0200)] 
Range::size() returned value type

This patch allow the user of the Range template class to define the type of
the returned value of Range::size() method, adding a second template argument.
The default type of the return value of Range::size() method is size_t, which
in most cases is enough (but not always, eg  HttpRange).
This patch will allow Range template to be used with non numeric types.

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

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

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

15 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.

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

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

15 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.

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

15 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.

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

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

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

15 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.

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

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

15 years agoBug 3140: memory leak in error page generation
Amos Jeffries [Tue, 1 Feb 2011 01:57:16 +0000 (18:57 -0700)] 
Bug 3140: memory leak in error page generation

Avoid freeing buffer m before using it. Specific to the 3.2+ logics.

15 years agoSome functions needlessly return const int. De-const-ified.
Francesco Chemolli [Mon, 31 Jan 2011 14:06:44 +0000 (15:06 +0100)] 
Some functions needlessly return const int. De-const-ified.

15 years ago-Rename snmplib/libsnmp.a to snmplib/libsnmplib.a
Christos Tsantilas [Mon, 31 Jan 2011 14:04:00 +0000 (16:04 +0200)] 
-Rename snmplib/libsnmp.a to snmplib/libsnmplib.a
-Move src/snmpx to src/snmp/
-Merge the ENABLE_SNMP blocks in Makafile.am

15 years agoMerge from trunk
Amos Jeffries [Mon, 31 Jan 2011 11:50:28 +0000 (00:50 +1300)] 
Merge from trunk

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

15 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.

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

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

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

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

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

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

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

15 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.

15 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.

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

15 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.

15 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).

15 years agoProfiler: fix report sorting algorithm
Amos Jeffries [Sat, 29 Jan 2011 02:23:48 +0000 (15:23 +1300)] 
Profiler: fix report sorting algorithm

The sorting was performed in a way to exclude the UNACCOUNTED and leave it
first in the display list. However with the new auto-genenerated enum all
other entries are at indeterminate locations. Using hash_lookup resulted
in only half teh list being sorted.
Fix that by referencing from UNACCOUNTED which is guaranteed to be first.

15 years agoSourceFormat Enforcement
Automatic source maintenance [Sat, 29 Jan 2011 01:13:18 +0000 (18:13 -0700)] 
SourceFormat Enforcement

15 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.

15 years agoTry to return a template error page. Also return 404 error code
Christos Tsantilas [Fri, 28 Jan 2011 18:35:12 +0000 (20:35 +0200)] 
Try to return a template error page. Also return 404 error code

15 years agomenu did not displayed in browser
Christos Tsantilas [Fri, 28 Jan 2011 18:34:27 +0000 (20:34 +0200)] 
menu did not displayed in browser