diff options
author | Graham Leggett <minfrin@apache.org> | 2002-04-09 11:39:04 +0200 |
---|---|---|
committer | Graham Leggett <minfrin@apache.org> | 2002-04-09 11:39:04 +0200 |
commit | ab32e62ac32df71ac6457e99cfe9f537a08363ac (patch) | |
tree | d3fbea3703bf9559ab0297eb87e5357f7cab823d /modules/proxy | |
parent | Deprecated the apr_lock.h API. (diff) | |
download | apache2-ab32e62ac32df71ac6457e99cfe9f537a08363ac.tar.xz apache2-ab32e62ac32df71ac6457e99cfe9f537a08363ac.zip |
Proxy was bombing out every second keepalive request, caused by a
stray CRLF before the second response's status line. Proxy now
tries to read one more line if it encounters a CRLF where it
expected a status.
PR: 10010
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94574 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/proxy')
-rw-r--r-- | modules/proxy/proxy_http.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/modules/proxy/proxy_http.c b/modules/proxy/proxy_http.c index eff26563b4..d7392d35cc 100644 --- a/modules/proxy/proxy_http.c +++ b/modules/proxy/proxy_http.c @@ -661,6 +661,10 @@ apr_status_t ap_proxy_http_process_response(apr_pool_t * p, request_rec *r, apr_brigade_cleanup(bb); len = ap_getline(buffer, sizeof(buffer), rp, 0); + if (len == 0) { + /* handle one potential stray CRLF */ + len = ap_getline(buffer, sizeof(buffer), rp, 0); + } if (len <= 0) { apr_socket_close(p_conn->sock); backend->connection = NULL; |