ProxyErrorOverride are enabled, and a non-200 response without a
body is generated by the backend server.
Submitted by: Graham Wiseman <gwiseman fscinternet.com>, Richard Reiner
Reviewed by: stoddard, nd, jerenkrantz, rederpj
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/APACHE_2_0_BRANCH@102465
13f79535-47bb-0310-9956-
ffa450edef68
Changes with Apache 2.0.49
+ *) proxy_http fix: mod_proxy hangs when both KeepAlive and
+ ProxyErrorOverride are enabled, and a non-200 response without a
+ body is generated by the backend server. (e.g.: a client makes a
+ request containing the "If-Modified-Since" and "If-None-Match"
+ headers, to which the backend server respond with status 304.)
+ [Graham Wiseman <gwiseman fscinternet.com>, Richard Reiner]
+
*) mod_dav: Reject requests which include an unescaped fragment in the
Request-URI. PR 21779. [Amit Athavale <amit_athavale lycos.com>]
APACHE 2.0 STATUS: -*-text-*-
-Last modified at [$Date: 2004/01/30 13:26:23 $]
+Last modified at [$Date: 2004/01/30 15:52:07 $]
Release:
jerenkrantz: Why is rm not application/vnd.rn-realmedia as in PR 26079?
+1: nd, trawick
- * proxy_http fix: mod_proxy hangs when both KeepAlive and
- ProxyErrorOverride are enabled, and a non-200 response without a
- body is generated by the backend server.
- http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/proxy/proxy_http.c?r1=1.176&r2=1.177
- +1: stoddard, nd, jerenkrantz
-
* If large file support is enabled, allow any file that is greater than
AP_MAX_SENDFILE to be split into multiple buckets. This allows Apache
to send files that are greater than 2gig. Otherwise we run into
*/
int status = r->status;
r->status = HTTP_OK;
- ap_discard_request_body(rp);
+ /* Discard body, if one is expected */
+ if ((status > 199) && /* not any 1xx response */
+ (status != HTTP_NO_CONTENT) && /* not 204 */
+ (status != HTTP_RESET_CONTENT) && /* not 205 */
+ (status != HTTP_NOT_MODIFIED)) { /* not 304 */
+ ap_discard_request_body(rp);
+ }
return status;
}
} else