summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Fritsch <sf@debian.org>2008-10-01 09:48:07 +0000
committerStefan Fritsch <sf@sfritsch.de>2012-01-02 10:36:57 +0100
commit44cc8d69d58be009ca1404b51c627957fe8d124b (patch)
treeed835070ebecacf6b44e987eb007d8602f7b7f3d
parent062ee7b2cc2bebfae6a0cd0972aacb2d81b150e1 (diff)
downloadapache2-44cc8d69d58be009ca1404b51c627957fe8d124b.tar.gz
fix timout handling in mod_proxy_http
git-svn-id: svn+ssh://svn.debian.org/svn/pkg-apache/trunk/apache2@832 01b336ce-410b-0410-9a02-a0e7f243c266
-rw-r--r--debian/changelog8
-rw-r--r--debian/patches/00list1
-rw-r--r--debian/patches/064_mod_proxy_http_timeout.dpatch34
3 files changed, 43 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index b6e67103..26bd7777 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+apache2 (2.2.9-10) UNRELEASED; urgency=low
+
+ * Regression fix from upstream svn for mod_proxy_http:
+ Don't trigger a retry by the client if a failure to read the response line
+ was the result of a timeout.
+
+ -- Stefan Fritsch <sf@debian.org> Wed, 01 Oct 2008 11:38:43 +0200
+
apache2 (2.2.9-9) unstable; urgency=medium
* Revert the attempted fix for #496080 because it did not work due to
diff --git a/debian/patches/00list b/debian/patches/00list
index 0df075bd..ab5cf2c2 100644
--- a/debian/patches/00list
+++ b/debian/patches/00list
@@ -22,6 +22,7 @@
061_balancer_manager_nonce.dpatch
062_proxy_http_fix_lost_querystring.dpatch
063_mod_headers_edit_fix.dpatch
+064_mod_proxy_http_timeout.dpatch
099_config_guess_sub_update
200_cp_suexec.dpatch
201_build_suexec-custom.dpatch
diff --git a/debian/patches/064_mod_proxy_http_timeout.dpatch b/debian/patches/064_mod_proxy_http_timeout.dpatch
new file mode 100644
index 00000000..d17d31e1
--- /dev/null
+++ b/debian/patches/064_mod_proxy_http_timeout.dpatch
@@ -0,0 +1,34 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP:http://svn.apache.org/viewvc?view=rev&revision=699841
+
+@DPATCH@
+--- a/modules/proxy/mod_proxy_http.c 2008/09/28 15:34:34 699840
++++ b/modules/proxy/mod_proxy_http.c 2008/09/28 15:36:44 699841
+@@ -1375,6 +1375,10 @@
+ ap_log_rerror(APLOG_MARK, APLOG_ERR, rc, r,
+ "proxy: error reading status line from remote "
+ "server %s", backend->hostname);
++ if (rc == APR_TIMEUP) {
++ ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r,
++ "proxy: read timeout");
++ }
+ /*
+ * If we are a reverse proxy request shutdown the connection
+ * WITHOUT ANY response to trigger a retry by the client
+@@ -1382,9 +1386,12 @@
+ * BUT currently we should not do this if the request is the
+ * first request on a keepalive connection as browsers like
+ * seamonkey only display an empty page in this case and do
+- * not do a retry.
++ * not do a retry. We should also not do this on a
++ * connection which times out; instead handle as
++ * we normally would handle timeouts
+ */
+- if (r->proxyreq == PROXYREQ_REVERSE && c->keepalives) {
++ if (r->proxyreq == PROXYREQ_REVERSE && c->keepalives &&
++ rc != APR_TIMEUP) {
+ apr_bucket *eos;
+
+ ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r,