All green from my side now. //Stefan
> Am 08.10.2015 um 12:50 schrieb Jim Jagielski <j...@jagunet.com>: > > No rush... :) > >> On Oct 8, 2015, at 6:45 AM, Stefan Eissing <stefan.eiss...@greenbytes.de> >> 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 <j...@jagunet.com>: >>> >>> I am guessing this should be backported to 2.4.17, right? >>> >>>> On Oct 8, 2015, at 6:03 AM, ic...@apache.org 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 */ >>>> >>>> >>> >> >