Commit da5b9b66 authored by Stefan Eissing's avatar Stefan Eissing
Browse files

backport of trunk:r1707497, fixes nghttp 1.3.x interop, bump version to 1.0.0

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1707511 13f79535-47bb-0310-9956-ffa450edef68
parent 9c5015a9
Loading
Loading
Loading
Loading
+28 −6
Original line number Diff line number Diff line
@@ -539,14 +539,36 @@ apr_status_t h2_util_bb_avail(apr_bucket_brigade *bb,
                              apr_size_t *plen, int *peos)
{
    apr_status_t status;
    /* test read to determine available length */
    apr_off_t blen = 0;
    status = apr_brigade_length(bb, 0, &blen);

    /* test read to determine available length */
    status = apr_brigade_length(bb, 1, &blen);
    if (status != APR_SUCCESS) {
        return status;
    }
    else if (blen == 0) {
        /* empty brigade, does it have an EOS bucket somwhere? */
        *plen = 0;
        *peos = h2_util_has_eos(bb, 0);
    }
    else if (blen > 0) {
        /* data in the brigade, limit the length returned. Check for EOS
         * bucket only if we indicate data. This is required since plen == 0
         * means "the whole brigade" for h2_util_hash_eos()
         */
        if (blen < (apr_off_t)*plen) {
            *plen = blen;
        }
    *peos = h2_util_has_eos(bb, *plen);
    return status;
        *peos = (*plen > 0)? h2_util_has_eos(bb, *plen) : 0;
    }
    else if (blen < 0) {
        /* famous SHOULD NOT HAPPEN, sinc we told apr_brigade_length to readall
         */
        *plen = 0;
        *peos = h2_util_has_eos(bb, 0);
        return APR_EINVAL;
    }
    return APR_SUCCESS;
}

apr_status_t h2_util_bb_readx(apr_bucket_brigade *bb, 
+2 −2
Original line number Diff line number Diff line
@@ -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 */