Git-Url:
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-0.8.git;a=commitdiff;h=c30924d76bb417ce75394fe0dfa449f8cbc7e866
commit c30924d76bb417ce75394fe0dfa449f8cbc7e866
Author: Miklos Vajna <[EMAIL PROTECTED]>
Date: Sat Jun 28 00:34:11 2008 +0200
apache-2.2.8-2kalgan1-i686
- added CVE-2008-2364.patch
- closes #3177
diff --git a/source/network/apache/CVE-2008-2364.patch
b/source/network/apache/CVE-2008-2364.patch
new file mode 100644
index 0000000..d85a927
--- /dev/null
+++ b/source/network/apache/CVE-2008-2364.patch
@@ -0,0 +1,72 @@
+--- 2.2.x/modules/proxy/mod_proxy_http.c 2008/06/10 17:36:08 666228
++++ 2.2.x/modules/proxy/mod_proxy_http.c 2008/06/10 17:39:38 666229
+@@ -1307,6 +1307,16 @@
+ return rv;
+ }
+
++/*
++ * Limit the number of interim respones we sent back to the client. Otherwise
++ * we suffer from a memory build up. Besides there is NO sense in sending back
++ * an unlimited number of interim responses to the client. Thus if we cross
++ * this limit send back a 502 (Bad Gateway).
++ */
++#ifndef AP_MAX_INTERIM_RESPONSES
++#define AP_MAX_INTERIM_RESPONSES 10
++#endif
++
+ static
+ apr_status_t ap_proxy_http_process_response(apr_pool_t * p, request_rec *r,
+ proxy_conn_rec *backend,
+@@ -1321,8 +1331,8 @@
+ apr_bucket *e;
+ apr_bucket_brigade *bb, *tmp_bb;
+ int len, backasswards;
+- int interim_response; /* non-zero whilst interim 1xx responses
+- * are being read. */
++ int interim_response = 0; /* non-zero whilst interim 1xx responses
++ * are being read. */
+ int pread_len = 0;
+ apr_table_t *save_table;
+ int backend_broke = 0;
+@@ -1523,7 +1533,9 @@
+ if ((buf = apr_table_get(r->headers_out, "Content-Type"))) {
+ ap_set_content_type(r, apr_pstrdup(p, buf));
+ }
+- ap_proxy_pre_http_request(origin,rp);
++ if (!ap_is_HTTP_INFO(r->status)) {
++ ap_proxy_pre_http_request(origin, rp);
++ }
+
+ /* Clear hop-by-hop headers */
+ for (i=0; hop_by_hop_hdrs[i]; ++i) {
+@@ -1572,7 +1584,12 @@
+ backend->close += 1;
+ }
+
+- interim_response = ap_is_HTTP_INFO(r->status);
++ if (ap_is_HTTP_INFO(r->status)) {
++ interim_response++;
++ }
++ else {
++ interim_response = 0;
++ }
+ if (interim_response) {
+ /* RFC2616 tells us to forward this.
+ *
+@@ -1773,7 +1790,15 @@
+
+ apr_brigade_cleanup(bb);
+ }
+- } while (interim_response);
++ } while (interim_response && (interim_response <
AP_MAX_INTERIM_RESPONSES));
++
++ /* See define of AP_MAX_INTERIM_RESPONSES for why */
++ if (interim_response >= AP_MAX_INTERIM_RESPONSES) {
++ return ap_proxyerror(r, HTTP_BAD_GATEWAY,
++ apr_psprintf(p,
++ "Too many (%d) interim responses from origin
server",
++ interim_response));
++ }
+
+ /* If our connection with the client is to be aborted, return DONE. */
+ if (c->aborted || backend_broke) {
diff --git a/source/network/apache/FrugalBuild
b/source/network/apache/FrugalBuild
index e2abc7f..3247385 100644
--- a/source/network/apache/FrugalBuild
+++ b/source/network/apache/FrugalBuild
@@ -4,20 +4,23 @@
pkgname=apache
pkgver=2.2.8
-pkgrel=1
+pkgrel=2kalgan1
pkgdesc="A high performance Unix-based HTTP server (with SSL)"
url="http://httpd.apache.org/"
backup=(etc/httpd/conf/{httpd.conf,ssl.conf,ssl.crt/server.crt,ssl.csr/server.csr,ssl.key/server.key}
\
var/www/html/index.html)
depends=('gdbm' 'db>=4.6.18' 'openssl' 'expat' 'apr-util>=1.2.12')
+# hack
+makedepends=('patch')
groups=('network')
archs=('i686' 'x86_64')
up2date="lynx -dump http://httpd.apache.org/download.cgi |grep 'best
available'|sed 's/.*r \(.*\) i.*/\1/;q'"
-source=(http://www.apache.org/dist/httpd/httpd-$pkgver.tar.gz \
+source=(http://archive.apache.org/dist/httpd/httpd-$pkgver.tar.bz2 \
http://ftp.frugalware.org/pub/other/sources/apache/mkcert.tar.gz \
rc.httpd rc.httpd-hu.po httpd.conf ssl.conf \
- README.Frugalware index.html
http://frugalware.org/images/frugalware.png)
-signatures=($source.asc '' '' '' '' '' '' '' '')
+ README.Frugalware index.html
http://frugalware.org/images/frugalware.png \
+ CVE-2008-2364.patch)
+signatures=($source.asc '' '' '' '' '' '' '' '' '')
# svn web interface:
# http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git