]> git.ipfire.org Git - thirdparty/squid.git/log
thirdparty/squid.git
12 years agoMerge from trunk
Amos Jeffries [Sun, 5 Jan 2014 02:09:53 +0000 (18:09 -0800)] 
Merge from trunk

12 years agoMerge from trunk
Amos Jeffries [Sun, 5 Jan 2014 01:44:45 +0000 (17:44 -0800)] 
Merge from trunk

12 years agoRemove useless semicolon in class definitions
Amos Jeffries [Sat, 4 Jan 2014 23:15:19 +0000 (15:15 -0800)] 
Remove useless semicolon in class definitions

12 years agoFix parser buffer accounting for dropped garbage bytes
Amos Jeffries [Sat, 4 Jan 2014 23:10:48 +0000 (15:10 -0800)] 
Fix parser buffer accounting for dropped garbage bytes

The connection buffer shift/consume operation was relying on the message
size value in context to consume the correct number of bytes. Now that
the garbage is no longer counted as message header bytes it was not
being consumed.

The fix for consuming garbage and adjusting the parser buffer start
between parser calls not only fixes the garbage collection but can be
used in place of the indirect buffer consume calculation.

The ConnStateData parse method is now responsible for shifting/consuming
message header bytes in the buffer of emptying the buffer when connection
is to be aborted.

12 years agoShuffle request_header_max_size limit checks into RequestParser
Amos Jeffries [Sat, 4 Jan 2014 15:16:29 +0000 (07:16 -0800)] 
Shuffle request_header_max_size limit checks into RequestParser

TODO: make parseHttpRequestAbort() produce error pages based on Parser.
      For now this alters the client-side error page displayed to the
      generic INVALID_REQUEST page.

12 years agoSplit Http1::RequestParser into request-specific and generic classes
Amos Jeffries [Sat, 4 Jan 2014 14:23:17 +0000 (06:23 -0800)] 
Split Http1::RequestParser into request-specific and generic classes

12 years agoRemove TODO which has been designed away
Amos Jeffries [Sat, 4 Jan 2014 13:09:36 +0000 (05:09 -0800)] 
Remove TODO which has been designed away

12 years agoAudit followup: rename Http1Parser Http1::RequestParser
Amos Jeffries [Sat, 4 Jan 2014 13:05:51 +0000 (05:05 -0800)] 
Audit followup: rename Http1Parser Http1::RequestParser

Create Http::One:: / Http1:: namespace accordingly.

TODO: rename files once APi shuffling has been completed.

12 years agoMerge storeentry-refactor, fix store unit test
Francesco Chemolli [Fri, 3 Jan 2014 17:52:35 +0000 (18:52 +0100)] 
Merge storeentry-refactor, fix store unit test

12 years agoBaseMultiQueue is virtual but had no virtual destructor
Francesco Chemolli [Fri, 3 Jan 2014 11:13:52 +0000 (12:13 +0100)] 
BaseMultiQueue is virtual but had no virtual destructor

12 years agoGot rid of Store.cci
Francesco Chemolli [Fri, 3 Jan 2014 10:32:53 +0000 (11:32 +0100)] 
Got rid of Store.cci

12 years agoFix SBuf::rfind
Amos Jeffries [Thu, 2 Jan 2014 23:03:20 +0000 (00:03 +0100)] 
Fix SBuf::rfind

12 years agoUpdate Http1Parser API after audit
Amos Jeffries [Thu, 2 Jan 2014 17:59:02 +0000 (09:59 -0800)] 
Update Http1Parser API after audit

12 years agoMerged from trunk
Francesco Chemolli [Thu, 2 Jan 2014 17:12:37 +0000 (18:12 +0100)] 
Merged from trunk

12 years agoFix SBuf and SBufList unit tests linkage
Francesco Chemolli [Thu, 2 Jan 2014 16:01:57 +0000 (17:01 +0100)] 
Fix SBuf and SBufList unit tests linkage

12 years agotests/testSBufList on CentOS needs MemObject::endOffset().
Alex Rousskov [Thu, 2 Jan 2014 05:13:17 +0000 (22:13 -0700)] 
tests/testSBufList on CentOS needs MemObject::endOffset().

12 years agoInitial Large Rock and Collapsed Forwarding support.
Alex Rousskov [Wed, 1 Jan 2014 20:13:23 +0000 (13:13 -0700)] 
Initial Large Rock and Collapsed Forwarding support.

Large Rock: Support disk (and shared memory) caching of responses exceeding
one db slot (or one shared memory page) in size. A single db slot/page size is
still limited to 32KB (smaller values can be configured for disk caches using
the newly added cache_dir slot-size option). Removal of old rock cache dir
(followed by squid-z) is required -- the on-disk db structure has changed.

Collapsed Forwarding: Optionally merge concurrent cachable requests for the
same URI earlier: After the request headers have been parsed (as before), but
now _before_ the response headers have been received. Merging of requests
received by different SMP workers is supported. Controlled by the new
collapsed_forwarding directive in squid.conf. Disabled by default because all
but one of the merged requests have to be delayed (until the response headers
are received) for the merging to work, which may be worse than forwarding all
concurrent requests immediately. The overall feature idea and request
eligibility conditions are based on Collapsed Forwarding in Squid2.

Summary of other important changes (merged branch log contains the details):

* Tightened StoreEntry locking. Split StoreEntry::lock() into "just lock" and
  "update entry reference time" interfaces, addressing an old XXX.  Improved
  entry lock/unlock debugging. Needs more work.

* Adjusted StoreIOState::write() API to allow callers detect write errors.

* Simplified MemObject::write() API to remove an essentially unused callback.

* Mark client streams that sent everything as STREAM_COMPLETE. The old code
  used STREAM_UNPLANNED_COMPLETE if the completed stream was associated with a
  non-persistent connection, which did not make sense to me and, IIRC, led to
  store entry aborts even though the entries were not damaged in any way.

* mem_hdr::hasContigousContentRange() now returns true for empty ranges.

* Support "appending" ReadWriteLock state that can be shared by readers and
  the writer. The writer promises not to update key metadata (except growing
  object size and next pointers) and readers promise to be careful when
  reading growing slices.

* Fixed StoreEntry::mayStartSwapOut() logic to handle terminated swapouts.

* Improved STORE_MEM_CLIENT detection and documented known (and mostly old)
  StoreEntry::storeClientType() problems.

* Removed StoreEntry::hidden_mem_obj hack.

* Polished StoreEntry debugging to report more info, less noise. Use e: prefix.

* Added a script to extract store entry(ies) debugging from cache.log.

12 years agoAdded MemBlob::appended() method. Handy during out-of-band buffer manipulation.
Alex Rousskov [Wed, 1 Jan 2014 20:11:16 +0000 (13:11 -0700)] 
Added MemBlob::appended() method. Handy during out-of-band buffer manipulation.

12 years agoMerged from trunk 13199.
Alex Rousskov [Wed, 1 Jan 2014 19:20:49 +0000 (12:20 -0700)] 
Merged from trunk 13199.

12 years agoRemoved stale copy-pasted boilerplate.
Alex Rousskov [Wed, 1 Jan 2014 17:51:10 +0000 (10:51 -0700)] 
Removed stale copy-pasted boilerplate.

12 years agoAdded missing stubs in testCharacterSet
Francesco Chemolli [Wed, 1 Jan 2014 17:15:10 +0000 (18:15 +0100)] 
Added missing stubs in testCharacterSet

12 years agoSourceFormat Enforcement
Alex Rousskov [Tue, 31 Dec 2013 18:49:41 +0000 (11:49 -0700)] 
SourceFormat Enforcement

12 years agoPolishing touches to address PREVIEW review concerns dated 2013/07/03.
Alex Rousskov [Tue, 31 Dec 2013 18:09:24 +0000 (11:09 -0700)] 
Polishing touches to address PREVIEW review concerns dated 2013/07/03.

12 years agoMake the Http1Parser::request_offets details private
Amos Jeffries [Tue, 31 Dec 2013 16:14:57 +0000 (08:14 -0800)] 
Make the Http1Parser::request_offets details private

12 years agoMake URI request-line field accessor for Http1Parser
Amos Jeffries [Tue, 31 Dec 2013 15:51:51 +0000 (07:51 -0800)] 
Make URI request-line field accessor for Http1Parser

Also, convert the client-side parseHttpRequest() sub-functions to make
use of it. Removing several strlen() and a memory allocation.

12 years agoConvert Http1Parser header block to SBuf storage
Amos Jeffries [Tue, 31 Dec 2013 14:33:43 +0000 (06:33 -0800)] 
Convert Http1Parser header block to SBuf storage

This does add a data copy for the mime headers block, but allows us to
consume data out of the underlying I/O buffer and parse the block into
SBuf cheaply.

Remove the now useless hdr_start, hdr_end, mimeHeaderBytes_ members.

12 years agoRename mime_get_header_field() as Http1Parser::getHeaderField()
Amos Jeffries [Tue, 31 Dec 2013 13:55:12 +0000 (05:55 -0800)] 
Rename mime_get_header_field() as Http1Parser::getHeaderField()

12 years agoFix tokenizer's Makefile.am
Francesco Chemolli [Tue, 31 Dec 2013 10:42:11 +0000 (11:42 +0100)] 
Fix tokenizer's Makefile.am

12 years agoMerged characterset branch
Francesco Chemolli [Tue, 31 Dec 2013 09:58:23 +0000 (10:58 +0100)] 
Merged characterset branch

12 years agoMerged from trunk
Francesco Chemolli [Tue, 31 Dec 2013 09:55:22 +0000 (10:55 +0100)] 
Merged from trunk

12 years agoDrop useless function mime_get_header()
Amos Jeffries [Tue, 31 Dec 2013 02:37:42 +0000 (18:37 -0800)] 
Drop useless function mime_get_header()

Also, drop the unused prefix parameter from mime_get_header_field().

12 years agoDo not use HERE in new or changed debugs() statements.
Alex Rousskov [Mon, 30 Dec 2013 23:58:33 +0000 (16:58 -0700)] 
Do not use HERE in new or changed debugs() statements.

Polished StoreEntry creation/destruction debugging.

12 years agoMerge from sbuf-tokenizer
Amos Jeffries [Mon, 30 Dec 2013 22:06:52 +0000 (14:06 -0800)] 
Merge from sbuf-tokenizer

12 years agoPolish debug of request header block
Amos Jeffries [Mon, 30 Dec 2013 22:04:08 +0000 (14:04 -0800)] 
Polish debug of request header block

12 years agoMake Http1Parser::parseRequestFirstLine() private and document
Amos Jeffries [Mon, 30 Dec 2013 21:22:56 +0000 (13:22 -0800)] 
Make Http1Parser::parseRequestFirstLine() private and document

Also shuffle the prefix garbage tolerance processing to a separate method
skipGarbageLines() and document the intended operations (it is currently
non-conformant with RFC 2616).

12 years agoShuffle request headersEnd call into Http1Parser::parseRequest actions
Amos Jeffries [Mon, 30 Dec 2013 18:18:03 +0000 (10:18 -0800)] 
Shuffle request headersEnd call into Http1Parser::parseRequest actions

Http1Parser will now respond with signals for 'incomplete parse' until
the entire first line and any mime headers are present. The size and
content of mime headers are guaranteed once the parser responds with a
true result.

HTTP/0.9, HTTP/1.* and future versions using "HTTP/" are all accounted for
and handled in accordance with HTTP RFC 2616 requirements (adjusted for
later HTTPbis WG clarifications).

TODO: Parsing of the mime header fields.

12 years agoReverted multi-ranges as they require c++0x initializers
Francesco Chemolli [Mon, 30 Dec 2013 13:22:05 +0000 (14:22 +0100)] 
Reverted multi-ranges as they require c++0x initializers

12 years agoPrep for 3.4.2
Amos Jeffries [Mon, 30 Dec 2013 10:48:15 +0000 (03:48 -0700)] 
Prep for 3.4.2

12 years agoFix CharacterSet ranged constructor
Francesco Chemolli [Mon, 30 Dec 2013 09:57:55 +0000 (10:57 +0100)] 
Fix CharacterSet ranged constructor

12 years agomore predefined charactersets
Francesco Chemolli [Mon, 30 Dec 2013 09:44:52 +0000 (10:44 +0100)] 
more predefined charactersets

12 years agoAdded ability to manage ranges to CharacterSet
Francesco Chemolli [Mon, 30 Dec 2013 07:05:21 +0000 (08:05 +0100)] 
Added ability to manage ranges to CharacterSet

12 years agoImplemented CharacterSet's operator + and addRange, fixed bug in interface of operato...
Francesco Chemolli [Sun, 29 Dec 2013 22:59:39 +0000 (23:59 +0100)] 
Implemented CharacterSet's operator + and addRange, fixed bug in interface of operator+=, added some common CharacterSets, initial unit tests

12 years agoMerged from trunk
Francesco Chemolli [Sun, 29 Dec 2013 21:48:26 +0000 (22:48 +0100)] 
Merged from trunk

12 years agoMerged from trunk
Francesco Chemolli [Sun, 29 Dec 2013 16:40:22 +0000 (17:40 +0100)] 
Merged from trunk

12 years agoBug 3498: FTP PUT assertion Server.cc:246: "r->body_pipe != NULL"
Alex Rousskov [Sun, 29 Dec 2013 15:56:02 +0000 (07:56 -0800)] 
Bug 3498: FTP PUT assertion Server.cc:246: "r->body_pipe != NULL"

12 years agoMade test-builds.sh happy by adding missing stubs and adjusting existing ones.
Alex Rousskov [Sun, 29 Dec 2013 05:30:26 +0000 (22:30 -0700)] 
Made test-builds.sh happy by adding missing stubs and adjusting existing ones.

12 years agoMake HttpParser parse method directly into HttpRequestMethod object
Amos Jeffries [Sat, 28 Dec 2013 01:03:29 +0000 (17:03 -0800)] 
Make HttpParser parse method directly into HttpRequestMethod object

There appears to be no need for the HTTP method object to be outside
the parser. We can simplify the processing code by parsing directly into
the object from the I/O buffer.

TODO:
* fix parsing of whitespace prefix in accordance with HTTPbis specs.
* make parser incremental to end of method

12 years agoUpdated tests/testRock and the store rebuild stubs it needs.
Alex Rousskov [Fri, 27 Dec 2013 18:37:26 +0000 (11:37 -0700)] 
Updated tests/testRock and the store rebuild stubs it needs.
Synced tests/testUfs after updating the store rebuild stubs.

Store uses StoreController::store_dirs_rebuilding to decide whether the entry
release should be delayed. Thus, storeRebuildComplete() must update it. Also
synced the corresponding CPPUNIT_ASSERT_EQUAL() statements to expect a zero
value after the rebuild is completed.

Do not create an entry just to get its key: Creating forces a public key which
necessarily invalidates the previously cached entry with the same key, if any.

Unlock unused entries. This helps with their release later (and adds more
realism to the test case).

Fixed entry #5 test case to account for the fact that creating a second entry
with the same public key invalidates the first entry.

Release instead of just unlinking entries. StoreEntry::release() is the public
interface which updates internal tables as needed. StoreEntry::unlink() is an
internal call for updating the disk cache-related state; it does not update
the the in-transit index.

12 years agoCheck that StoreEntry lock does not go negative
Alex Rousskov [Fri, 27 Dec 2013 18:34:41 +0000 (11:34 -0700)] 
Check that StoreEntry lock does not go negative
which may happen if unlocked (and possibly deleted) entry is unlocked (again).

12 years agoFix typo in client_side.cc parser result handling
Amos Jeffries [Fri, 27 Dec 2013 12:44:19 +0000 (04:44 -0800)] 
Fix typo in client_side.cc parser result handling

12 years agoShuffle HttpRequestMethod.h to libsquid-http.la
Amos Jeffries [Mon, 23 Dec 2013 17:26:50 +0000 (09:26 -0800)] 
Shuffle HttpRequestMethod.h to libsquid-http.la

12 years agoAdd support for FTP MLSD and MLST commands (RFC 3659)
Christos Tsantilas [Mon, 23 Dec 2013 16:42:45 +0000 (18:42 +0200)] 
Add support for FTP MLSD and MLST commands (RFC 3659)

FileZilla is a popular FTP clients supporting that command (via FEAT detection).
It will use MLSD instead of LIST if the server claims support for MLST and/or
MLSD command.

12 years agoAdd missing http/forward.h
Amos Jeffries [Mon, 23 Dec 2013 16:23:04 +0000 (08:23 -0800)] 
Add missing http/forward.h

12 years agoCleanup HttpRequestMethod.h useless lines
Amos Jeffries [Mon, 23 Dec 2013 12:37:21 +0000 (04:37 -0800)] 
Cleanup HttpRequestMethod.h useless lines

12 years agoFix http/Http1Parser.h wrapper macro
Amos Jeffries [Mon, 23 Dec 2013 12:21:56 +0000 (04:21 -0800)] 
Fix http/Http1Parser.h wrapper macro

12 years agoMerged from trunk rev.13197
Amos Jeffries [Mon, 23 Dec 2013 12:18:49 +0000 (04:18 -0800)] 
Merged from trunk rev.13197

12 years agoRename HttpParser as Http::Http1Parser
Amos Jeffries [Mon, 23 Dec 2013 12:16:33 +0000 (04:16 -0800)] 
Rename HttpParser as Http::Http1Parser

12 years agoMake HttpParser parse version directly into AnyP::ProtocolVersion object
Amos Jeffries [Mon, 23 Dec 2013 11:21:48 +0000 (03:21 -0800)] 
Make HttpParser parse version directly into AnyP::ProtocolVersion object

There appears to be no need for the protocol version object to be outside
the parser. We can simplify the processing code by parsing directly into
the object from the I/O buffer.

TODO: allow parsing of non-HTTP protocol labels.

12 years agoBug 3806: Caching responses with Vary header
Alex Rousskov [Mon, 23 Dec 2013 05:26:23 +0000 (22:26 -0700)] 
Bug 3806: Caching responses with Vary header

Various fixes making Vary caching work better.
More work is needed to re-enable shared memory caching of Vary responses.

bag5s r12741: Do not start storing the vary marker object until its key becomes public.
bag5s r12742: Log failed (due to "Vary object loop" or "URL mismatch") hits as TCP_MISSes.
bag5s r12743: Refuse to cache Vary-controlled objects in shared memory (for now).

Based on trunk r13179.

12 years agoShuffle HttpParser to libsquid-http as Http1Parser
Amos Jeffries [Sun, 22 Dec 2013 22:40:03 +0000 (14:40 -0800)] 
Shuffle HttpParser to libsquid-http as Http1Parser

12 years agoDrop HttpParser::Pointer::getRaw() uses
Amos Jeffries [Sun, 22 Dec 2013 21:45:45 +0000 (13:45 -0800)] 
Drop HttpParser::Pointer::getRaw() uses

12 years agoDetatch useless build dependencies on HttpParser.h
Amos Jeffries [Sun, 22 Dec 2013 21:14:55 +0000 (13:14 -0800)] 
Detatch useless build dependencies on HttpParser.h

12 years agoConvert API of HttpParser::parseRequest() from tristate to boolean
Amos Jeffries [Sun, 22 Dec 2013 20:53:25 +0000 (12:53 -0800)] 
Convert API of HttpParser::parseRequest() from tristate to boolean

12 years agoMove HttpParserParseReqLine() legacy function to HttpParser method
Amos Jeffries [Sun, 22 Dec 2013 18:19:19 +0000 (10:19 -0800)] 
Move HttpParserParseReqLine() legacy function to HttpParser method

12 years agoInline and document the HTTP message size macros
Amos Jeffries [Sun, 22 Dec 2013 16:21:04 +0000 (08:21 -0800)] 
Inline and document the HTTP message size macros

12 years agoDrop HttpParser MSGDODEBUG
Amos Jeffries [Sun, 22 Dec 2013 13:20:01 +0000 (05:20 -0800)] 
Drop HttpParser MSGDODEBUG

12 years agoDocumentation tweak
Amos Jeffries [Sun, 22 Dec 2013 13:17:29 +0000 (05:17 -0800)] 
Documentation tweak

12 years agoBug 3985: 60s limit introduced by balance_on_multiple_ip breaks bad IP recovery
Jakob Bohm [Sat, 21 Dec 2013 17:31:59 +0000 (09:31 -0800)] 
Bug 3985: 60s limit introduced by balance_on_multiple_ip breaks bad IP recovery

Alternative fix if necessary would be to calculate a dynamic timeout
value based on number and timeouts for connections and forwarding.

However, as noted in the bug report the address markings are reset every
TTL when the stored RR are replaced. This meets the criteria for periodic
retries of marked-BAD IPs. Also if all IPs are marked BAD they all get
un-marked and retried. So for now just remove the TTL hack.

12 years agoFix \-unescaping in quoted strings from helpers
Amos Jeffries [Sat, 21 Dec 2013 04:54:54 +0000 (20:54 -0800)] 
Fix \-unescaping in quoted strings from helpers

strwordtok() was unescaping '\' values in unquoted tokens. This causes
problems with NTLM helper response user\DOMAIN values which are sent as
a un-quoted un-escaped value.

Restrict un-escaping of '\' to only occur when inside "quoted" words.

12 years agoWCCPv2: fix assertion 'Cannot convert non-IPv4 to IPv4' on FreeBSD
Amos Jeffries [Fri, 20 Dec 2013 11:34:44 +0000 (03:34 -0800)] 
WCCPv2: fix assertion 'Cannot convert non-IPv4 to IPv4' on FreeBSD

FreeBSD does not set the from-address on recv() if there was an error
reading the packet. This can result in Ip::Address assertion if the
error is not checked for before the IP address is mapped into Squid
internal format.

12 years agoFix missing cast in rev.13162
Amos Jeffries [Fri, 20 Dec 2013 05:55:43 +0000 (22:55 -0700)] 
Fix missing cast in rev.13162

12 years agoMade "make check" happier by syncing test case with Store API changes
Alex Rousskov [Thu, 19 Dec 2013 23:13:24 +0000 (16:13 -0700)] 
Made "make check" happier by syncing test case with Store API changes
and making StoreEntry::hashDelete() more forgiving.

12 years agoRecognize FTP 125 (Data connection already open) as we do 150 response,
Christos Tsantilas [Thu, 19 Dec 2013 17:31:25 +0000 (10:31 -0700)] 
Recognize FTP 125 (Data connection already open) as we do 150 response,
now for the upload/STOR case (the download case was handled in ftp-gw r12789).

Microsoft servers seem to favor 125 responses in some conditions.

12 years agoAbsorb parser work from parser-ng
Francesco Chemolli [Thu, 19 Dec 2013 16:00:30 +0000 (17:00 +0100)] 
Absorb parser work from parser-ng

12 years agoMerged from trunk
Francesco Chemolli [Thu, 19 Dec 2013 15:55:52 +0000 (16:55 +0100)] 
Merged from trunk

12 years agoAdded missing header in client_side_reply.cc for clang
Francesco Chemolli [Thu, 19 Dec 2013 13:47:27 +0000 (14:47 +0100)] 
Added missing header in client_side_reply.cc for clang

12 years agoAdd missing StoreEntry::lock() parameters, require unlock() parameter,
Alex Rousskov [Thu, 19 Dec 2013 04:53:35 +0000 (21:53 -0700)] 
Add missing StoreEntry::lock() parameters, require unlock() parameter,
and polish un/lock() context debugging.

12 years agoFix missing include in rev.13190
Amos Jeffries [Thu, 19 Dec 2013 00:55:46 +0000 (17:55 -0700)] 
Fix missing include in rev.13190

12 years agoAdded StoreEntry::lock() call dropped when merging from trunk r13172.
Alex Rousskov [Wed, 18 Dec 2013 22:32:14 +0000 (15:32 -0700)] 
Added StoreEntry::lock() call dropped when merging from trunk r13172.

12 years agoRename SBuf::find_first_of and find_first_not_of to camelCase.
Francesco Chemolli [Wed, 18 Dec 2013 17:53:43 +0000 (18:53 +0100)] 
Rename SBuf::find_first_of and find_first_not_of to camelCase.

12 years agoAdded send_hit and store_miss squid.conf directives
Alex Rousskov [Wed, 18 Dec 2013 17:19:00 +0000 (10:19 -0700)] 
Added send_hit and store_miss squid.conf directives
to control caching of responses using response info.

The existing "cache" directive is checked before Squid has access to the
response and, hence, could not use response-based ACLs such as http_status.
Response-based ACLs may be essential when fine-tuning caching. Squid Bug 3937
(StoreID can lead to 302 infinite loop) is a good use case.

Updated old "cache" directive documentation to provide more information, to
help folks distinguish the three related directives, and to polish for
clarity.

TODO: Support lookup_hit and possibly deprecate/remove "cache".

12 years agoMerge CharacterSet
Francesco Chemolli [Wed, 18 Dec 2013 17:03:15 +0000 (18:03 +0100)] 
Merge CharacterSet

12 years agoReverted buggy change on CharacterSet::operator+=, documentation touches
Francesco Chemolli [Wed, 18 Dec 2013 15:22:06 +0000 (16:22 +0100)] 
Reverted buggy change on CharacterSet::operator+=, documentation touches

12 years agoMerged from trunk
Francesco Chemolli [Wed, 18 Dec 2013 14:07:05 +0000 (15:07 +0100)] 
Merged from trunk

12 years agoMerged from trunk
Amos Jeffries [Wed, 18 Dec 2013 06:19:15 +0000 (22:19 -0800)] 
Merged from trunk

12 years agoMerged from trunk
Francesco Chemolli [Wed, 18 Dec 2013 18:24:18 +0000 (19:24 +0100)] 
Merged from trunk

12 years agoMerged from trunk
Francesco Chemolli [Wed, 18 Dec 2013 18:06:43 +0000 (19:06 +0100)] 
Merged from trunk

12 years agoAdd unit tests for method parsing update
Amos Jeffries [Wed, 18 Dec 2013 03:00:01 +0000 (19:00 -0800)] 
Add unit tests for method parsing update

12 years agoFix missing include in rev.13186
Amos Jeffries [Wed, 18 Dec 2013 00:48:33 +0000 (16:48 -0800)] 
Fix missing include in rev.13186

12 years agoImproved CharacterSet documentation.
Francesco Chemolli [Tue, 17 Dec 2013 17:28:53 +0000 (18:28 +0100)] 
Improved CharacterSet documentation.

12 years agoMerged from trunk
Francesco Chemolli [Tue, 17 Dec 2013 17:05:17 +0000 (18:05 +0100)] 
Merged from trunk

12 years agoUsing std::copy_if for CharacterSet::operator +=
Francesco Chemolli [Tue, 17 Dec 2013 17:02:51 +0000 (18:02 +0100)] 
Using std::copy_if for CharacterSet::operator +=

12 years agoClarified documentatio for CharacterSet; moved CharacterSet::add and constructor...
Francesco Chemolli [Tue, 17 Dec 2013 15:58:52 +0000 (16:58 +0100)] 
Clarified documentatio for CharacterSet; moved CharacterSet::add and constructor to .cc file

12 years agoMove CharacterSet::operator += to .cc file; change SBuf::find_first_not_of to match STL
Francesco Chemolli [Tue, 17 Dec 2013 10:19:44 +0000 (11:19 +0100)] 
Move CharacterSet::operator += to .cc file; change SBuf::find_first_not_of to match STL

12 years agoHTTP/1.1: method names are case-sensitive
Amos Jeffries [Tue, 17 Dec 2013 09:16:51 +0000 (02:16 -0700)] 
HTTP/1.1: method names are case-sensitive

RFC 2616 states that method names are case sensitive, but the Squid
parser has been accepting them case-insensitive.

Enforce case-sensitive behaviour when performing strict HTTP parse.

NOTE: avoid HTTP_VIOLATIONS since there is no normative MUST/SHOULD
involved in the specification texts.

12 years agoBug 3980: FATAL ERROR due to max_user_ip -s option
Christos Tsantilas [Tue, 17 Dec 2013 07:12:55 +0000 (00:12 -0700)] 
Bug 3980: FATAL ERROR due to max_user_ip -s option

12 years agoMoved CharacterSet's backing storage to std::vector<uint8_t> to gain speed at the...
Francesco Chemolli [Mon, 16 Dec 2013 21:58:50 +0000 (22:58 +0100)] 
Moved CharacterSet's backing storage to std::vector<uint8_t> to gain speed at the expense of space.
Improved CharacterSet's constructor
Made CharacterSet's name parameter optional with default value.

12 years agoMoved CharacterSet as forward-declaration in SBuf.h
Francesco Chemolli [Sun, 15 Dec 2013 12:48:01 +0000 (13:48 +0100)] 
Moved CharacterSet as forward-declaration in SBuf.h

12 years agoImplemented CharacterSet-based SBuf::find_first_of and find_first_not_of
Francesco Chemolli [Sun, 15 Dec 2013 11:47:07 +0000 (12:47 +0100)] 
Implemented CharacterSet-based SBuf::find_first_of and find_first_not_of

12 years agoSilence SBufDetailedStats stubs
Francesco Chemolli [Sun, 15 Dec 2013 09:28:50 +0000 (10:28 +0100)] 
Silence SBufDetailedStats stubs