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 */
>>> 
>>> 
>> 
> 

Reply via email to