~ruther/guix-local

1ebe49f192d6c84bf55ac16188d7966f673f4388 — Efraim Flashner 9 years ago 3a735ec
gnu: httpd: Add fix for CVE-2016-8740.

* gnu/packages/web.scm (httpd)[source]: Add patch for CVE-2016-8740.
* gnu/packages/patches/httpd-CVE-2016-8740.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
3 files changed, 40 insertions(+), 1 deletions(-)

M gnu/local.mk
A gnu/packages/patches/httpd-CVE-2016-8740.patch
M gnu/packages/web.scm
M gnu/local.mk => gnu/local.mk +1 -0
@@ 620,6 620,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/hdf-eos5-fortrantests.patch		\
  %D%/packages/patches/higan-remove-march-native-flag.patch	\
  %D%/packages/patches/hop-linker-flags.patch			\
  %D%/packages/patches/httpd-CVE-2016-8740.patch			\
  %D%/packages/patches/hydra-disable-darcs-test.patch		\
  %D%/packages/patches/hypre-doc-tables.patch			\
  %D%/packages/patches/hypre-ldflags.patch			\

A gnu/packages/patches/httpd-CVE-2016-8740.patch => gnu/packages/patches/httpd-CVE-2016-8740.patch +36 -0
@@ 0,0 1,36 @@
This patch applies against httpd-2.4.23 and shouldn't be needed in later releases
http://openwall.com/lists/oss-security/2016/12/05/17
Index: modules/http2/h2_stream.c
===================================================================
--- modules/http2/h2_stream.c	(revision 1771866)
+++ modules/http2/h2_stream.c	(working copy)
@@ -322,18 +322,18 @@
                                            HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE);
             }
         }
-    }
-    
-    if (h2_stream_is_scheduled(stream)) {
-        return h2_request_add_trailer(stream->request, stream->pool,
-                                      name, nlen, value, vlen);
-    }
-    else {
-        if (!input_open(stream)) {
-            return APR_ECONNRESET;
+        
+        if (h2_stream_is_scheduled(stream)) {
+            return h2_request_add_trailer(stream->request, stream->pool,
+                                          name, nlen, value, vlen);
         }
-        return h2_request_add_header(stream->request, stream->pool,
-                                     name, nlen, value, vlen);
+        else {
+            if (!input_open(stream)) {
+                return APR_ECONNRESET;
+            }
+            return h2_request_add_header(stream->request, stream->pool,
+                                         name, nlen, value, vlen);
+        }
     }
 }
 

M gnu/packages/web.scm => gnu/packages/web.scm +3 -1
@@ 92,7 92,9 @@
                                 version ".tar.bz2"))
             (sha256
              (base32
               "0n2yx3gjlpr4kgqx845fj6amnmg25r2l6a7rzab5hxnpmar985hc"))))
               "0n2yx3gjlpr4kgqx845fj6amnmg25r2l6a7rzab5hxnpmar985hc"))
             (patches (search-patches "httpd-CVE-2016-8740.patch"))
             (patch-flags '("-p0"))))
    (build-system gnu-build-system)
    (native-inputs `(("pcre" ,pcre "bin")))       ;for 'pcre-config'
    (inputs `(("apr" ,apr)