]> git.ipfire.org Git - thirdparty/squid.git/commit - src/http/one/RequestParser.cc
Fix outstanding build issues and parser audit results
authorAmos Jeffries <squid3@treenet.co.nz>
Thu, 15 May 2014 10:44:05 +0000 (03:44 -0700)
committerAmos Jeffries <squid3@treenet.co.nz>
Thu, 15 May 2014 10:44:05 +0000 (03:44 -0700)
commit7a4fa6a090dccd464b3cc0b360d2913e552a1668
tree2a94581d70ef0397cb73f1fcdaae0bdeb6155e97
parent36104f294b96037f7ee7674fa3448314b409eafe
Fix outstanding build issues and parser audit results

* Give SBuf I/O buffer directly to Http1::RequestParser

* Redesign parser state engine to represent the current state
  being parsed instead of previous completed. This allows much
  more incremental resume of a parse and reliable consume() of
  the input buffer as sections complete instead of complex byte
  accounting outide the parser.

* Maintain an internal counter of bytes parsed and consumed by
  the parser instead of a buffer offset. This allows much more
  reliable positioning of the state/section boundaries.

* Remove erroneous fprintf debug left in previous commit.

* Redesign HttpRequestMethod constructor to drop end parameter.

* Redesign all parser unit tests. Marking RFC non-compliance
  for future fixing.
src/HttpRequest.cc
src/acl/MethodData.cc
src/client_side.cc
src/htcp.cc
src/http/Http1Parser.cc
src/http/Http1Parser.h
src/http/RequestMethod.cc
src/http/RequestMethod.h
src/mgr/ActionParams.cc
src/tests/testHttp1Parser.cc
src/tests/testHttpRequestMethod.cc