summaryrefslogtreecommitdiffstats
path: root/modules/proxy
diff options
context:
space:
mode:
authorGraham Leggett <minfrin@apache.org>2002-04-09 11:39:04 +0200
committerGraham Leggett <minfrin@apache.org>2002-04-09 11:39:04 +0200
commitab32e62ac32df71ac6457e99cfe9f537a08363ac (patch)
treed3fbea3703bf9559ab0297eb87e5357f7cab823d /modules/proxy
parentDeprecated the apr_lock.h API. (diff)
downloadapache2-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.c4
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;