]> git.ipfire.org Git - thirdparty/squid.git/commit
MUST respond with 414 (URI Too Long) when request target exceeds limits.
authorEduard Bagdasaryan <eduard.bagdasaryan@measurement-factory.com>
Thu, 25 Aug 2016 17:26:02 +0000 (11:26 -0600)
committerAlex Rousskov <rousskov@measurement-factory.com>
Thu, 25 Aug 2016 17:26:02 +0000 (11:26 -0600)
commitf8b58a682a7d4eb41d07e108409de3c752f42e44
tree6346ab5d706c12dfdd1739bb6aa183df019144ae
parent71eb082c2aea61d8490b521da9c70a9e1ecc2165
MUST respond with 414 (URI Too Long) when request target exceeds limits.

Before the fix, Squid simply closed client connection after receiving a
huge URI (or a huge request-line), violating the RFC 7230 MUST. This
happened because a high-level Must(have buffer space) check in
ConnStateData::clientParseRequests() would throw an exception. Now these
problems are detected inside the low-level RequestParser code, where we
can distinguish huge URIs from huge methods.
src/http/one/RequestParser.cc
src/http/one/RequestParser.h