You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ic...@apache.org on 2018/10/10 11:47:43 UTC

svn commit: r1843427 - /httpd/httpd/patches/2.4.x/h2-eos-fix.patch

Author: icing
Date: Wed Oct 10 11:47:43 2018
New Revision: 1843427

URL: http://svn.apache.org/viewvc?rev=1843427&view=rev
Log:
backport patch for h2 eos handling

Added:
    httpd/httpd/patches/2.4.x/h2-eos-fix.patch

Added: httpd/httpd/patches/2.4.x/h2-eos-fix.patch
URL: http://svn.apache.org/viewvc/httpd/httpd/patches/2.4.x/h2-eos-fix.patch?rev=1843427&view=auto
==============================================================================
--- httpd/httpd/patches/2.4.x/h2-eos-fix.patch (added)
+++ httpd/httpd/patches/2.4.x/h2-eos-fix.patch Wed Oct 10 11:47:43 2018
@@ -0,0 +1,76 @@
+Index: CHANGES
+===================================================================
+--- CHANGES	(revision 1843421)
++++ CHANGES	(working copy)
+@@ -1,6 +1,11 @@
+                                                          -*- coding: utf-8 -*-
+ Changes with Apache 2.4.36
+ 
++  *) mod_http2: adding defensive code for stream EOS handling, in case the request handler
++     missed to signal it the normal way (eos buckets). Addresses github issues 
++     https://github.com/icing/mod_h2/issues/164, https://github.com/icing/mod_h2/issues/167
++     and https://github.com/icing/mod_h2/issues/170. [Stefan Eissing] 
++
+   *) ab: Add client certificate support. [Graham Leggett]
+ 
+   *) ab: Disable printing temp key for OpenSSL before
+Index: modules/http2/h2_session.c
+===================================================================
+--- modules/http2/h2_session.c	(revision 1843421)
++++ modules/http2/h2_session.c	(working copy)
+@@ -1097,6 +1097,10 @@
+         case APR_SUCCESS:
+             break;
+             
++        case APR_EOF:
++            eos = 1;
++            break;
++            
+         case APR_ECONNRESET:
+         case APR_ECONNABORTED:
+             return NGHTTP2_ERR_CALLBACK_FAILURE;
+Index: modules/http2/h2_stream.c
+===================================================================
+--- modules/http2/h2_stream.c	(revision 1843421)
++++ modules/http2/h2_stream.c	(working copy)
+@@ -919,7 +919,7 @@
+                           (long)*plen, *peos);
+         }
+         else {
+-            status = APR_EAGAIN;
++            status = (stream->output && h2_beam_is_closed(stream->output))? APR_EOF : APR_EAGAIN;
+             ap_log_cerror(APLOG_MARK, APLOG_TRACE1, 0, c,
+                           H2_STRM_MSG(stream, "prepare, no data"));
+         }
+Index: modules/http2/h2_version.h
+===================================================================
+--- modules/http2/h2_version.h	(revision 1843421)
++++ modules/http2/h2_version.h	(working copy)
+@@ -27,7 +27,7 @@
+  * @macro
+  * Version number of the http2 module as c string
+  */
+-#define MOD_HTTP2_VERSION "1.11.0"
++#define MOD_HTTP2_VERSION "1.11.3"
+ 
+ /**
+  * @macro
+@@ -35,7 +35,7 @@
+  * release. This is a 24 bit number with 8 bits for major number, 8 bits
+  * for minor and 8 bits for patch. Version 1.2.3 becomes 0x010203.
+  */
+-#define MOD_HTTP2_VERSION_NUM 0x010b00
++#define MOD_HTTP2_VERSION_NUM 0x010b03
+ 
+ 
+ #endif /* mod_h2_h2_version_h */
+Index: .
+===================================================================
+--- .	(revision 1843421)
++++ .	(working copy)
+
+Property changes on: .
+___________________________________________________________________
+Modified: svn:mergeinfo
+## -0,0 +0,1 ##
+   Merged /httpd/httpd/trunk:r1843426