No rush... :)
> On Oct 8, 2015, at 6:45 AM, Stefan Eissing <[email protected]>
> wrote:
>
> Jim, give me a moment. Yann's code reviewing skill are just too good...
>
> //Stefan
>
>> Am 08.10.2015 um 12:44 schrieb Jim Jagielski <[email protected]>:
>>
>> I am guessing this should be backported to 2.4.17, right?
>>
>>> On Oct 8, 2015, at 6:03 AM, [email protected] wrote:
>>>
>>> Author: icing
>>> Date: Thu Oct 8 10:03:30 2015
>>> New Revision: 1707468
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1707468&view=rev
>>> Log:
>>> fix for empty responses with nghttp2 v1.3.x, bump version to 1.0.0
>>>
>>> Modified:
>>> httpd/httpd/trunk/modules/http2/h2_util.c
>>> httpd/httpd/trunk/modules/http2/h2_version.h
>>>
>>> Modified: httpd/httpd/trunk/modules/http2/h2_util.c
>>> URL:
>>> http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_util.c?rev=1707468&r1=1707467&r2=1707468&view=diff
>>> ==============================================================================
>>> --- httpd/httpd/trunk/modules/http2/h2_util.c (original)
>>> +++ httpd/httpd/trunk/modules/http2/h2_util.c Thu Oct 8 10:03:30 2015
>>> @@ -484,19 +484,38 @@ int h2_util_has_flush_or_eos(apr_bucket_
>>>
>>> int h2_util_has_eos(apr_bucket_brigade *bb, apr_size_t len)
>>> {
>>> - apr_bucket *b, *end;
>>> + apr_bucket *b;
>>>
>>> - apr_status_t status = last_not_included(bb, len, 0, 0, &end);
>>> - if (status != APR_SUCCESS) {
>>> - return status;
>>> + if (len == 0) {
>>> + /* special case: this is only true, if there are only meta
>>> + * and an eos bucket in the brigade head.
>>> + */
>>> + for (b = APR_BRIGADE_FIRST(bb);
>>> + b != APR_BRIGADE_SENTINEL(bb);
>>> + b = APR_BUCKET_NEXT(b))
>>> + {
>>> + if (!APR_BUCKET_IS_METADATA(b) && b->length != 0) {
>>> + break;
>>> + }
>>> + else if (APR_BUCKET_IS_EOS(b)) {
>>> + return 1;
>>> + }
>>> + }
>>> }
>>> -
>>> - for (b = APR_BRIGADE_FIRST(bb);
>>> - b != APR_BRIGADE_SENTINEL(bb) && b != end;
>>> - b = APR_BUCKET_NEXT(b))
>>> - {
>>> - if (APR_BUCKET_IS_EOS(b)) {
>>> - return 1;
>>> + else {
>>> + apr_bucket *end;
>>> + apr_status_t status = last_not_included(bb, len, 0, 0, &end);
>>> + if (status != APR_SUCCESS) {
>>> + return status;
>>> + }
>>> +
>>> + for (b = APR_BRIGADE_FIRST(bb);
>>> + b != APR_BRIGADE_SENTINEL(bb) && b != end;
>>> + b = APR_BUCKET_NEXT(b))
>>> + {
>>> + if (APR_BUCKET_IS_EOS(b)) {
>>> + return 1;
>>> + }
>>> }
>>> }
>>> return 0;
>>>
>>> Modified: httpd/httpd/trunk/modules/http2/h2_version.h
>>> URL:
>>> http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_version.h?rev=1707468&r1=1707467&r2=1707468&view=diff
>>> ==============================================================================
>>> --- httpd/httpd/trunk/modules/http2/h2_version.h (original)
>>> +++ httpd/httpd/trunk/modules/http2/h2_version.h Thu Oct 8 10:03:30 2015
>>> @@ -20,7 +20,7 @@
>>> * @macro
>>> * Version number of the h2 module as c string
>>> */
>>> -#define MOD_HTTP2_VERSION "0.9.9"
>>> +#define MOD_HTTP2_VERSION "1.0.0"
>>>
>>> /**
>>> * @macro
>>> @@ -28,7 +28,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 0x000909
>>> +#define MOD_HTTP2_VERSION_NUM 0x010000
>>>
>>>
>>> #endif /* mod_h2_h2_version_h */
>>>
>>>
>>
>