pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/www/apache22 Changes with Apache 2.2.32



details:   https://anonhg.NetBSD.org/pkgsrc/rev/8701b93fcccb
branches:  trunk
changeset: 357238:8701b93fcccb
user:      adam <adam%pkgsrc.org@localhost>
date:      Mon Jan 16 14:34:42 2017 +0000

description:
Changes with Apache 2.2.32

  *) SECURITY: CVE-2016-8743 (cve.mitre.org)
     Enforce HTTP request grammar corresponding to RFC7230 for request lines
     and request headers, to prevent response splitting and cache pollution by
     malicious clients or downstream proxies.

  *) Validate HTTP response header grammar defined by RFC7230, resulting
     in a 500 error in the event that invalid response header contents are
     detected when serving the response, to avoid response splitting and cache
     pollution by malicious clients, upstream servers or faulty modules.

  *) core: Mitigate [f]cgi CVE-2016-5387 "httpoxy" issues.

  *) core: Avoid a possible truncation of the faulty header included in the
     HTML response when LimitRequestFieldSize is reached.

  *) core: Enforce LimitRequestFieldSize after multiple headers with the same
     name have been merged.

  *) core: Drop Content-Length header and message-body from HTTP 204 responses.

  *) core: Permit unencoded ';' characters to appear in proxy requests and
     Location: response headers. Corresponds to modern browser behavior.

  *) core: ap_rgetline_core now pulls from r->proto_input_filters.

  *) core: Correctly parse an IPv6 literal host specification in an absolute
     URL in the request line.

  *) core: New directive RegisterHttpMethod for registering non-standard
     HTTP methods.

  *) core: Limit to ten the number of tolerated empty lines between request.

  *) core: reject NULLs in request line or request headers.

  *) mod_proxy: Use the correct server name for SNI in case the backend
     SSL connection itself is established via a proxy server.

  *) Fix potential rejection of valid MaxMemFree and ThreadStackSize
     directives.

  *) mod_ssl: Support compilation against libssl built with OPENSSL_NO_SSL3.

  *) mod_proxy: Correctly consider error response codes by the backend when
     processing failonstatus.

  *) mod_proxy: Play/restore the TLS-SNI on new backend connections which
     had to be issued because the remote closed the previous/reusable one
     during idle (keep-alive) time.

  *) mod_ssl: Fix a possible memory leak on restart for custom [EC]DH params.

  *) mod_proxy: Fix a regression with 2.2.31 that caused inherited workers to
     use a different scoreboard slot then the original one.

  *) mod_proxy: Fix a race condition that caused a failed worker to be retried
     before the retry period is over.

  *) mod_proxy: don't recyle backend announced "Connection: close" connections
     to avoid reusing it should the close be effective after some new request
     is ready to be sent.

  *) mod_mem_cache: Fix concurrent removal of stale entries which could lead
     to a crash.

  *) mime.types: add common extension "m4a" for MPEG 4 Audio.

  *) mod_substitute: Allow to configure the patterns merge order with the new
     SubstituteInheritBefore on|off directive.

  *) mod_mem_cache: Don't cache incomplete responses when the client
     connection is aborted before the body is fully read.

  *) abs: Include OPENSSL_Applink when compiling on Windows, to resolve
     failures under Visual Studio 2015 and other mismatched MSVCRT flavors.

  *) core: Support custom ErrorDocuments for HTTP 501 and 414 status codes.

diffstat:

 www/apache22/Makefile                                 |   5 +-
 www/apache22/distinfo                                 |  15 +---
 www/apache22/patches/patch-include_ap_mmn.h           |  27 --------
 www/apache22/patches/patch-modules_proxy_mod_proxy.c  |  25 -------
 www/apache22/patches/patch-modules_proxy_mod_proxy.h  |  25 -------
 www/apache22/patches/patch-modules_proxy_proxy_util.c |  63 -------------------
 www/apache22/patches/patch-server_util__script.c      |  22 ------
 7 files changed, 7 insertions(+), 175 deletions(-)

diffs (226 lines):

diff -r d951e0cba17b -r 8701b93fcccb www/apache22/Makefile
--- a/www/apache22/Makefile     Mon Jan 16 14:33:37 2017 +0000
+++ b/www/apache22/Makefile     Mon Jan 16 14:34:42 2017 +0000
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.110 2016/07/29 11:10:24 wiz Exp $
+# $NetBSD: Makefile,v 1.111 2017/01/16 14:34:42 adam Exp $
 
-DISTNAME=      httpd-2.2.31
+DISTNAME=      httpd-2.2.32
 PKGNAME=       ${DISTNAME:S/httpd/apache/}
-PKGREVISION=   4
 CATEGORIES=    www
 MASTER_SITES=  ${MASTER_SITE_APACHE:=httpd/} \
                http://archive.apache.org/dist/httpd/ \
diff -r d951e0cba17b -r 8701b93fcccb www/apache22/distinfo
--- a/www/apache22/distinfo     Mon Jan 16 14:33:37 2017 +0000
+++ b/www/apache22/distinfo     Mon Jan 16 14:34:42 2017 +0000
@@ -1,9 +1,9 @@
-$NetBSD: distinfo,v 1.65 2016/07/29 11:10:24 wiz Exp $
+$NetBSD: distinfo,v 1.66 2017/01/16 14:34:42 adam Exp $
 
-SHA1 (httpd-2.2.31.tar.bz2) = e3b55387112206307ba76526820a2627472f3787
-RMD160 (httpd-2.2.31.tar.bz2) = 5b073f5f556c74e19eba8e40faa5c5fa308e018a
-SHA512 (httpd-2.2.31.tar.bz2) = 5aa47d4b76f692bbd8b309135ff99152df98cf69b505b9daf3f13f7f2a31443eaf4995161adfbc47a133b4d0e091fda2d95fc6b87a956f0ada18d7466ee28e74
-Size (httpd-2.2.31.tar.bz2) = 5610489 bytes
+SHA1 (httpd-2.2.32.tar.bz2) = 36dc7f2ac97627192dcff0a121408b897f91b121
+RMD160 (httpd-2.2.32.tar.bz2) = 88789518915babeaa8dbf0e8130b6d630bebb6c3
+SHA512 (httpd-2.2.32.tar.bz2) = b1802579f4fc950705ddcf0a24f502ffadbd91d5693fdd3b290ac7ca40122f8fa48132ad1055afae9b841dd55e8bb343239be07ca431b0f60ea081f5c2fad2c3
+Size (httpd-2.2.32.tar.bz2) = 5777509 bytes
 SHA1 (patch-aa) = e0bfdf6bc9cb034bea46a390a12a5508e363c9a7
 SHA1 (patch-ab) = 365cc3b0ac2d9d68ccb94f5699fe168a1c9b0150
 SHA1 (patch-ac) = 515043b5c215d49fe8f6d3191b502c978e2a2dad
@@ -15,11 +15,6 @@
 SHA1 (patch-am) = ab4a2f7e5a1a3064e908b61157e7fd349c0b0c08
 SHA1 (patch-aw) = ca53d67beeb2c2c4d9adb04d3d79e24a8c427fd4
 SHA1 (patch-docs_man_apxs.8) = 70797ea73ae6379492971bec1106a8427ae7fdaa
-SHA1 (patch-include_ap_mmn.h) = 2fec04379f38ecc90debc69faafe38932099e5e1
 SHA1 (patch-lock.c) = 770ca03f1cb4421879bd5baa5a7c30cc91acb6e1
-SHA1 (patch-modules_proxy_mod_proxy.c) = 67d8d441c546a46aa729ed82673da4883f73dec8
-SHA1 (patch-modules_proxy_mod_proxy.h) = a4453d85f6a3cf43df44f4e491aee07aaff44905
 SHA1 (patch-modules_proxy_mod_proxy_connect.c) = b2b5d0242a92c7bf20b14c16d8cd3abae42f3746
-SHA1 (patch-modules_proxy_proxy_util.c) = 1368694ef3141c3a1e9a1ddd73664bbb33465271
 SHA1 (patch-repos.c) = 0e0361b91d4b0fe6c7c55a12fdfd2e6aacc710e1
-SHA1 (patch-server_util__script.c) = 770f773ba278ec774f1f5a812fa9956fad9cc3f8
diff -r d951e0cba17b -r 8701b93fcccb www/apache22/patches/patch-include_ap_mmn.h
--- a/www/apache22/patches/patch-include_ap_mmn.h       Mon Jan 16 14:33:37 2017 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-$NetBSD: patch-include_ap_mmn.h,v 1.1 2015/11/12 15:21:51 prlw1 Exp $
-
-Fix a regression with 2.2.31 that caused inherited workers to
-use a different scoreboard slot then the original one.
-
-https://svn.apache.org/viewvc?view=revision&revision=1700408
-
---- include/ap_mmn.h.orig      2015-06-05 16:50:47.000000000 +0000
-+++ include/ap_mmn.h
-@@ -158,6 +158,8 @@
-  * 20051115.38 (2.2.30) Add ap_proxy_set_scoreboard_lb() in mod_proxy.h
-  * 20051115.39 (2.2.30) Add ap_proxy_connection_reusable()
-  * 20051115.40 (2.2.30) Add ap_map_http_request_error()
-+ * 20051115.41 (2.2.32) Add s member to proxy_server_conf struct and server
-+ *                      member to proxy_worker struct.
-  */
- 
- #define MODULE_MAGIC_COOKIE 0x41503232UL /* "AP22" */
-@@ -165,7 +167,7 @@
- #ifndef MODULE_MAGIC_NUMBER_MAJOR
- #define MODULE_MAGIC_NUMBER_MAJOR 20051115
- #endif
--#define MODULE_MAGIC_NUMBER_MINOR 40                    /* 0...n */
-+#define MODULE_MAGIC_NUMBER_MINOR 41                    /* 0...n */
- 
- /**
-  * Determine if the server's current MODULE_MAGIC_NUMBER is at least a
diff -r d951e0cba17b -r 8701b93fcccb www/apache22/patches/patch-modules_proxy_mod_proxy.c
--- a/www/apache22/patches/patch-modules_proxy_mod_proxy.c      Mon Jan 16 14:33:37 2017 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-$NetBSD: patch-modules_proxy_mod_proxy.c,v 1.3 2015/11/12 15:21:51 prlw1 Exp $
-
-Fix a regression with 2.2.31 that caused inherited workers to
-use a different scoreboard slot then the original one.
-
-https://svn.apache.org/viewvc?view=revision&revision=1700408
-
---- modules/proxy/mod_proxy.c.orig     2015-06-05 16:50:47.000000000 +0000
-+++ modules/proxy/mod_proxy.c
-@@ -1129,6 +1129,7 @@ static void * create_proxy_config(apr_po
-     ps->badopt = bad_error;
-     ps->badopt_set = 0;
-     ps->pool = p;
-+    ps->s = s;
- 
-     return ps;
- }
-@@ -1172,6 +1173,7 @@ static void * merge_proxy_config(apr_poo
-     ps->proxy_status = (overrides->proxy_status_set == 0) ? base->proxy_status : overrides->proxy_status;
-     ps->proxy_status_set = overrides->proxy_status_set || base->proxy_status_set;
-     ps->pool = p;
-+    ps->s = overrides->s;
-     return ps;
- }
- 
diff -r d951e0cba17b -r 8701b93fcccb www/apache22/patches/patch-modules_proxy_mod_proxy.h
--- a/www/apache22/patches/patch-modules_proxy_mod_proxy.h      Mon Jan 16 14:33:37 2017 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-$NetBSD: patch-modules_proxy_mod_proxy.h,v 1.1 2015/11/12 15:21:51 prlw1 Exp $
-
-Fix a regression with 2.2.31 that caused inherited workers to
-use a different scoreboard slot then the original one.
-
-https://svn.apache.org/viewvc?view=revision&revision=1700408
-
---- modules/proxy/mod_proxy.h.orig     2015-07-15 16:10:27.000000000 +0000
-+++ modules/proxy/mod_proxy.h
-@@ -193,6 +193,7 @@ typedef struct {
-     } proxy_status;             /* Status display options */
-     char proxy_status_set;
-     apr_pool_t *pool;           /* Pool used for allocating this struct */
-+    server_rec *s;              /* The server_rec where this configuration was created in */
- } proxy_server_conf;
- 
- 
-@@ -369,6 +370,7 @@ struct proxy_worker {
-     char            disablereuse_set;
-     apr_interval_time_t conn_timeout;
-     char            conn_timeout_set;
-+    server_rec      *server;    /* The server_rec where this configuration was created in */
- };
- 
- /*
diff -r d951e0cba17b -r 8701b93fcccb www/apache22/patches/patch-modules_proxy_proxy_util.c
--- a/www/apache22/patches/patch-modules_proxy_proxy_util.c     Mon Jan 16 14:33:37 2017 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-$NetBSD: patch-modules_proxy_proxy_util.c,v 1.1 2015/11/12 15:21:51 prlw1 Exp $
-
-Fix a regression with 2.2.31 that caused inherited workers to
-use a different scoreboard slot then the original one.
-
-https://svn.apache.org/viewvc?view=revision&revision=1700408
-
---- modules/proxy/proxy_util.c.orig    2015-07-15 16:10:27.000000000 +0000
-+++ modules/proxy/proxy_util.c
-@@ -1460,6 +1460,7 @@ PROXY_DECLARE(const char *) ap_proxy_add
-     (*worker)->flush_packets = flush_off;
-     (*worker)->flush_wait = PROXY_FLUSH_WAIT;
-     (*worker)->smax = -1;
-+    (*worker)->server = conf->s;
-     /* Increase the total worker count */
-     proxy_lb_workers++;
-     init_conn_pool(p, *worker);
-@@ -1807,6 +1808,7 @@ PROXY_DECLARE(void*) ap_proxy_set_scoreb
-                                                 server_rec *server)
- {
-     if (ap_scoreboard_image && !worker->s) {
-+        server_rec *id_server;
-         int i = 0;
-         proxy_worker_stat *free_slot = NULL;
-         proxy_worker_stat *s;
-@@ -1824,14 +1826,20 @@ PROXY_DECLARE(void*) ap_proxy_set_scoreb
-             apr_md5_update(&ctx, (unsigned char *)balancer->name,
-                            strlen(balancer->name));
-         }
--        if (server) {
-+        if (worker->server) {
-+            id_server = worker->server;
-+        }
-+        else {
-+            id_server = server;
-+        }
-+        if (id_server) {
-             server_addr_rec *addr;
-             /* Assumes the unique identifier of a vhost is its address(es)
-              * plus the ServerName:Port. Should two or more vhosts have this
-              * same identifier, the first one would always be elected to
-              * handle the requests, so this shouldn't be an issue...
-              */
--            for (addr = server->addrs; addr; addr = addr->next) {
-+            for (addr = id_server->addrs; addr; addr = addr->next) {
-                 char host_ip[64]; /* for any IPv[46] string */
-                 apr_sockaddr_ip_getbuf(host_ip, sizeof host_ip,
-                                        addr->host_addr);
-@@ -1840,10 +1848,10 @@ PROXY_DECLARE(void*) ap_proxy_set_scoreb
-                 apr_md5_update(&ctx, (unsigned char *)&addr->host_port,
-                                sizeof(addr->host_port));
-             }
--            apr_md5_update(&ctx, (unsigned char *)server->server_hostname,
--                           strlen(server->server_hostname));
--            apr_md5_update(&ctx, (unsigned char *)&server->port,
--                           sizeof(server->port));
-+            apr_md5_update(&ctx, (unsigned char *)id_server->server_hostname,
-+                           strlen(id_server->server_hostname));
-+            apr_md5_update(&ctx, (unsigned char *)&id_server->port,
-+                           sizeof(id_server->port));
-         }
-         apr_md5_final(digest, &ctx);
- 
diff -r d951e0cba17b -r 8701b93fcccb www/apache22/patches/patch-server_util__script.c
--- a/www/apache22/patches/patch-server_util__script.c  Mon Jan 16 14:33:37 2017 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-$NetBSD: patch-server_util__script.c,v 1.1 2016/07/29 11:10:24 wiz Exp $
-
-Fix httpoxy vulnerability.
-https://www.apache.org/security/asf-httpoxy-response.txt
-
---- server/util_script.c.orig  2012-08-21 17:42:49.000000000 +0000
-+++ server/util_script.c
-@@ -165,6 +165,14 @@ AP_DECLARE(void) ap_add_common_vars(requ
-         else if (!strcasecmp(hdrs[i].key, "Content-length")) {
-             apr_table_addn(e, "CONTENT_LENGTH", hdrs[i].val);
-         }
-+        /* HTTP_PROXY collides with a popular envvar used to configure
-+         * proxies, don't let clients set/override it.  But, if you must...
-+         */
-+#ifndef SECURITY_HOLE_PASS_PROXY
-+        else if (!strcasecmp(hdrs[i].key, "Proxy")) {
-+            ;
-+        }
-+#endif
-         /*
-          * You really don't want to disable this check, since it leaves you
-          * wide open to CGIs stealing passwords and people viewing them



Home | Main Index | Thread Index | Old Index