Commit bd0bff89 authored by Roy T. Fielding's avatar Roy T. Fielding
Browse files

Added ability for modules to select the policy for reading a request

message body as part of the call to setup_client_block().  The code can
now reject a message body, require Content-Length if there is a body,
transparently dechunk a chunked body, or pass the chunks to the module.
Added read_body (to remember the policy) and read_length (to keep track
of the amount of bytes read) to the request_rec structure.
Added code to force an end to keepalive if the client input is errored,
since this might not be caught by a CGI script and might result in
a hanging connection til timeout, or a double response to the remaining
input as if it were an additional request. Fixed a bug in get_client_block
not checking for a negative (error) result from the read routines, and
made the corresponding changes to the calls from mod_cgi, mod_fastcgi,
and mod_proxy.  Removed the method-dependent code from the three module
input routines, since the question of whether or not the request message
contains a body is solely determined by the presence of a non-zero
Content-Length or Transfer-Encoding field.

This is an interface change, so the API version has been bumped.

Fixed a bug in outgoing CGI responses, due to not checking for a script
sending Content-Length or Transfer-Encoding, that was causing keepalive
to end in 1.1.1 and an invalid combination of Content-Length and
Transfer-Encoding in the current version.

Fixed a bug in the proxy in regards to how it was clearing the Connection
header field and fields indicated by it.

Reviewed by: Randy Terbush, Brian Behlendorf, Jim Jagielski


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x@77038 13f79535-47bb-0310-9956-ffa450edef68
parent 6d0b452c
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment