]> git.ipfire.org Git - thirdparty/squid.git/commit
Bug 4492: Chunk extension parser is too pedantic.
authorAlex Rousskov <rousskov@measurement-factory.com>
Sun, 4 Jun 2017 23:45:03 +0000 (17:45 -0600)
committerAlex Rousskov <rousskov@measurement-factory.com>
Sun, 4 Jun 2017 23:45:03 +0000 (17:45 -0600)
commit26f0a35929ae2a28f4f92a70cd97f88bab95b526
treef120f5e1dd3bcef64b0ef58da9eca0fdcb884925
parentac630238479dc7de1f0ed3478e81875f9e13f870
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