]> git.ipfire.org Git - thirdparty/squid.git/commit
Bug 4492: Chunk extension parser is too pedantic.
authorAlex Rousskov <rousskov@measurement-factory.com>
Mon, 19 Jun 2017 10:07:40 +0000 (22:07 +1200)
committerAmos Jeffries <squid3@treenet.co.nz>
Mon, 19 Jun 2017 10:07:40 +0000 (22:07 +1200)
commit91d121e03bebdb2df31d6012a481927da199ab9c
treeb3be0a7772712bea8882f366c525ae77d74c617b
parent4d6ac88b0c875396fa947572ef9e5b3107b9f306
Bug 4492: Chunk extension parser is too pedantic.

Support HTTP/1 BWS when parsing HTTP and ICAP chunk extensions.
Per RFC 7230 Errata #4667, HTTP parsers MUST parse BWS in chunk-ext.
Per RFC 3507 and its extensions, ICAP agents generate BWS in chunk-ext.

Also discovered that our DelimiterCharacters() in pedantic mode is too
strict for many use cases: Most HTTP syntax rules allow both SP and HTAB
but pedantic DelimiterCharacters() only allows SP. Added
WhitespaceCharacters() to provide the more general set where it is
needed in new code (including BWS), but did not remove excessive
DelimiterCharacters() use.
src/http/one/Parser.cc
src/http/one/Parser.h
src/http/one/RequestParser.cc
src/http/one/TeChunkedParser.cc