[Pkg-apache-commits] [SCM] Debian packaging for apache2 (Apache HTTPD 2.x) branch, master, updated. debian/2.2.22-3-25-g78cfdb3

Stefan Fritsch sf at sfritsch.de
Sun Jun 10 09:29:24 UTC 2012


The following commit has been merged in the master branch:
commit 78cfdb399ac4ad9b4f848d51c3c0eb8840f4b8d9
Author: Stefan Fritsch <sf at sfritsch.de>
Date:   Sun Jun 10 10:33:33 2012 +0200

    Pick some bug fixes from upstram trunk
    
        - core/mod_cgi: Fix script logging in error case
        - mod_dumpio: Fix possible loop in input filter.
        - mod_proxy_ajp: Reduce memory usage in case of many requests on one
          connection

diff --git a/debian/changelog b/debian/changelog
index 47e1972..0bc8cc8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -11,6 +11,11 @@ apache2 (2.2.22-7) UNRELEASED; urgency=low
   * Add examples for X-Content-Type-Options and X-Frame-Options to
     conf.d/security.
   * Fix the VCS dir example in conf.d/security.
+  * Pick some bug fixes from upstram trunk:
+    - core/mod_cgi: Fix script logging in error case
+    - mod_dumpio: Fix possible loop in input filter.
+    - mod_proxy_ajp: Reduce memory usage in case of many requests on one
+      connection
 
  -- Arno Töll <arno at debian.org>  Wed, 06 Jun 2012 00:10:34 +0200
 
diff --git a/debian/patches/086_upstream_trunk_bugfixes.patch b/debian/patches/086_upstream_trunk_bugfixes.patch
new file mode 100644
index 0000000..32af7fa
--- /dev/null
+++ b/debian/patches/086_upstream_trunk_bugfixes.patch
@@ -0,0 +1,86 @@
+  * core: NUL-terminate string returned by ap_scan_script_header_err*()
+    in error case.
+	http://svn.apache.org/viewvc?rev=1244211&view=rev
+
+  * mod_dumpio: Return an error code from a previous input filter
+	http://svn.apache.org/viewvc?rev=1301111&view=rev
+
+  * mod_proxy_ajp: Reduce memory usage in case of many keep-alive requests on
+    one connection. PR 52275
+	http://svn.apache.org/viewvc?rev=1334343&view=rev
+
+Index: apache2/server/util_script.c
+===================================================================
+--- apache2.orig/server/util_script.c	2012-06-10 02:14:52.377223678 +0200
++++ apache2/server/util_script.c	2012-06-10 10:14:22.732175142 +0200
+@@ -636,6 +636,7 @@
+         rv = apr_bucket_read(e, &bucket_data, &bucket_data_len,
+                              APR_BLOCK_READ);
+         if (rv != APR_SUCCESS || (bucket_data_len == 0)) {
++            *dst = '\0';
+             return APR_STATUS_IS_TIMEUP(rv) ? -1 : 0;
+         }
+         src = bucket_data;
+@@ -681,8 +682,10 @@
+     const char *p;
+     int t;
+ 
+-    if (!strs->curpos || !*strs->curpos)
++    if (!strs->curpos || !*strs->curpos) {
++        w[0] = '\0';
+         return 0;
++    }
+     p = ap_strchr_c(strs->curpos, '\n');
+     if (p)
+         ++p;
+Index: apache2/modules/debug/mod_dumpio.c
+===================================================================
+--- apache2.orig/modules/debug/mod_dumpio.c	2012-06-10 02:14:52.313223681 +0200
++++ apache2/modules/debug/mod_dumpio.c	2012-06-10 10:17:21.276179524 +0200
+@@ -126,6 +126,7 @@
+     } else {
+         ap_log_error(APLOG_MARK, ptr->loglevel, 0, c->base_server,
+         "mod_dumpio: %s - %d", f->frec->name, ret) ;
++        return ret;
+     }
+ 
+     return APR_SUCCESS ;
+Index: apache2/modules/proxy/mod_proxy_ajp.c
+===================================================================
+--- apache2.orig/modules/proxy/mod_proxy_ajp.c	2012-06-10 02:14:52.345223680 +0200
++++ apache2/modules/proxy/mod_proxy_ajp.c	2012-06-10 10:25:26.588191425 +0200
+@@ -654,30 +654,16 @@
+     int retry;
+     proxy_dir_conf *dconf = ap_get_module_config(r->per_dir_config,
+                                                  &proxy_module);
+-
+-    /*
+-     * Note: Memory pool allocation.
+-     * A downstream keepalive connection is always connected to the existence
+-     * (or not) of an upstream keepalive connection. If this is not done then
+-     * load balancing against multiple backend servers breaks (one backend
+-     * server ends up taking 100% of the load), and the risk is run of
+-     * downstream keepalive connections being kept open unnecessarily. This
+-     * keeps webservers busy and ties up resources.
+-     *
+-     * As a result, we allocate all sockets out of the upstream connection
+-     * pool, and when we want to reuse a socket, we check first whether the
+-     * connection ID of the current upstream connection is the same as that
+-     * of the connection when the socket was opened.
+-     */
+-    apr_pool_t *p = r->connection->pool;
+-    apr_uri_t *uri = apr_palloc(r->connection->pool, sizeof(*uri));
+-
++    apr_pool_t *p = r->pool;
++    apr_uri_t *uri;
+ 
+     if (strncasecmp(url, "ajp:", 4) != 0) {
+         ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
+                      "proxy: AJP: declining URL %s", url);
+         return DECLINED;
+     }
++
++    uri = apr_palloc(p, sizeof(*uri));
+     ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
+                  "proxy: AJP: serving URL %s", url);
+ 
diff --git a/debian/patches/series b/debian/patches/series
index 97d3006..28d4ea9 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -21,6 +21,7 @@
 083_dlopen_search_path
 084_customize_apxs.patch
 085_mod_cache_partial_content-2.2.x.patch
+086_upstream_trunk_bugfixes.patch
 201_build_suexec-custom
 # The patch below must not be applied by quilt at extraction time.  It depends
 # on some script-fu to be executed before. Have a look

-- 
Debian packaging for apache2 (Apache HTTPD 2.x)



More information about the Pkg-apache-commits mailing list