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
Please register or sign in to comment