lp:~kinkie/squid/testbranch

Created by Francesco Chemolli and last modified
Get this branch:
bzr branch lp:~kinkie/squid/testbranch
Only Francesco Chemolli can upload to this branch. If you are Francesco Chemolli please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Francesco Chemolli
Project:
Squid
Status:
Merged

Recent revisions

14884. By Alex Rousskov

Fixed r14838 build with eCAP but whithout ICAP support.

That is, when ./configured with --enable-ecap --disable-icap-client.

AccessLogEntry::icap requires ICAP_CLIENT, not just USE_ADAPTATION.

14883. By Amos Jeffries

Tests: make bootstrap testing display branch details

14882. By Amos Jeffries

Cleanup: convert htcpSpecifier to Refcountable class

Use refcounting Pointer to manage htcpSpecifier object deletion
instead of explicit Free function calls.

Use HttpRequestPointer for members to ensure proper refcounting
for those as well. Combined with C++11 default member initialization
this permits default constructors and destructors to be used.

14881. By Amos Jeffries

4.0.15

14880. By Amos Jeffries

Prep for 4.0.15 and 3.5.22

14879. By eduard-bagdasaryan

HTTP: MUST ignore a [revalidation] response with an older Date header.

Before this patch, Squid violated the RFC 7234 section 4 MUST
requirement: "When more than one suitable response is stored, a cache
MUST use the most recent response (as determined by the Date header
field)." This problem may be damaging in cache hierarchies where
parent caches may have different responses. Trusting the older response
may lead to excessive IMS requests, cache thrashing and other problems.

14878. By Alex Rousskov

Optimized/simplified buffering: Appending nothing is always possible.

This change avoids CoW when appending an empty buffer to MemBlob or
SBuf, making "if !empty then append()" caller complications unnecessary.

14877. By Christos Tsantilas

Do not leak Downloader-related objects.

The downloadFinished() method was responsible for the job clean up, but
that asynchronous method is not called when the Downloader job quits
before the call can be fired. This early termination happens when, for
example, the job finishes while still inside the start() method (e.g., a
memory hit with no async ACLs to check). It also happens if an exception
is thrown while the job is running under async call protections.

Ensure the cleanup happens regardless of the job path to finish.

This is a Measurement Factory project.

14876. By Alex Rousskov

Fix known "concurrent c_str()s" violations of SBuf API.

The second c_str() call destroys the buffer still being used by the
first c_str() result, leading to many "Invalid read of size N" errors.

IMO, we must instead fix SBuf to make similar violations unlikely, but
there is currently no squid-dev consensus on whether and how to do that.
See "[RFC] Support concurrent SBuf::c_str() calls" thread on squid-dev.

14875. By Amos Jeffries

Fix header name mismatching after rev.14870

When a mime header set contains two custom headers and one
name is the prefix for the other the name lookup using a
fixed length for String comparison can wrongly match the
longer header as being equal to the shorter one, since only
the identical prefix portion is compared.

To avoid this we must check that the lengths are also matching.

This also improves performance very slightly as the common
case for custom headers is to have an "X-" prefix which is
slower to compare than total length. Headers having same
length and same prefix is quite rare.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:~squid/squid/trunk
This branch contains Public information 
Everyone can see this information.