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.
Submitted by: icing
Reviewed by: icing, ylavic, jim
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@
1843468 13f79535-47bb-0310-9956-
ffa450edef68
*) mod_proxy_scgi, mod_proxy_uwsgi: improve error handling when sending the
body of the response. [Jim Jagielski]
+ *) 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
in the 2.4.x patch.
+1: kotkov, ylavic, jim
- *) mod_http2: fixing an issue that h2 stream do not properly EOS when
- the bucket is missing in the handler response.
- trunk patch: http://svn.apache.org/r1843426
- 2.4.x patch: https://svn.apache.org/repos/asf/httpd/httpd/patches/2.4.x/h2-eos-fix.patch
- +1: icing, ylavic, jim
-
PATCHES PROPOSED TO BACKPORT FROM TRUNK:
[ New proposals should be added at the end of the list ]
case APR_SUCCESS:
break;
+ case APR_EOF:
+ eos = 1;
+ break;
+
case APR_ECONNRESET:
case APR_ECONNABORTED:
return NGHTTP2_ERR_CALLBACK_FAILURE;
(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"));
}
* @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
* 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 */