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