summaryrefslogtreecommitdiff
path: root/www/apache22/patches/patch-af
diff options
context:
space:
mode:
Diffstat (limited to 'www/apache22/patches/patch-af')
-rw-r--r--www/apache22/patches/patch-af35
1 files changed, 35 insertions, 0 deletions
diff --git a/www/apache22/patches/patch-af b/www/apache22/patches/patch-af
new file mode 100644
index 00000000000..4fc90dd5ffa
--- /dev/null
+++ b/www/apache22/patches/patch-af
@@ -0,0 +1,35 @@
+$NetBSD: patch-af,v 1.3.2.2 2010/06/12 20:57:46 spz Exp $
+
+Patch to fix CVE-2010-2068, taken from here:
+
+http://www.apache.org/dist/httpd/patches/apply_to_2.2.15/CVE-2010-2068-r953616.patch
+
+--- modules/proxy/mod_proxy_http.c.orig 2010-02-27 18:49:36.000000000 +0000
++++ modules/proxy/mod_proxy_http.c 2010-06-12 11:33:45.000000000 +0100
+@@ -1401,7 +1401,7 @@
+ ap_log_rerror(APLOG_MARK, APLOG_ERR, rc, r,
+ "proxy: error reading status line from remote "
+ "server %s", backend->hostname);
+- if (rc == APR_TIMEUP) {
++ if (APR_STATUS_IS_TIMEUP(rc)) {
+ ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r,
+ "proxy: read timeout");
+ }
+@@ -1417,7 +1417,7 @@
+ * we normally would handle timeouts
+ */
+ if (r->proxyreq == PROXYREQ_REVERSE && c->keepalives &&
+- rc != APR_TIMEUP) {
++ !APR_STATUS_IS_TIMEUP(rc)) {
+ apr_bucket *eos;
+
+ ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r,
+@@ -1449,6 +1449,8 @@
+ APR_BUCKET_INSERT_BEFORE(eos, e);
+ }
+ ap_pass_brigade(r->output_filters, bb);
++ /* Mark the backend connection for closing */
++ backend->close = 1;
+ /* Need to return OK to avoid sending an error message */
+ return OK;
+ }