Skip to content

Releases: icing/mod_h2

mod-h2 v2.0.19

13 Jun 14:27
Compare
Choose a tag to compare
  • Fixed a bug that could lead to a crash in main connection output handling.
    This occured only when the last request on a HTTP/2 connection had been
    processed and the session decided to shut down. This could lead to an attempt
    to send a final GOAWAY while the previous write was still in progress.
    See PR 66646.
  • added --enable-debug to configure which adds rutime checks and asserts,
    useful for development. Not recommended for production use.
  • fixed error handling when flushing output on main connection.

mod-h2 v2.0.18

31 May 11:07
Compare
Choose a tag to compare
  • mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
    connection when sending data on the frontend one. This caused crashes
    or infinite loops in rare situations.
  • Fixed a bug that did cleanup of consumed and pending buckets in
    the wrong order when a bucket_beam was destroyed.

mod-h2 v2.0.17

24 May 12:47
Compare
Choose a tag to compare
  • mod_proxy_http2: fixed a bug in retry/response handling that could lead
    to wrong status codes or HTTP messages send at the end of response bodies
    exceeding the announced content-length.

mod-h2 v2.0.16

22 May 14:34
Compare
Choose a tag to compare
  • mod_proxy_http2: fix retry handling to not leak temporary errors.
    On detecting that that an existing connection was shutdown by the other
    side, a 503 response leaked even though the request was retried on a
    fresh connection.
  • Fixed a bug that applied request filters twice on redirects. This led to
    double chunked-encoding internally on POST requests without content-length.
    Fix by Yann Ylavic.
    See https://bz.apache.org/bugzilla/show_bug.cgi?id=66597.
  • mod_proxy_http2: added checks for space/ctrls in nocanon path/urls
    before forwarding. By Yann Ylavic.

mod-h2 v2.0.15

12 May 10:45
Compare
Choose a tag to compare
  • Fixed #253 where requests were not logged and accounted in a timely
    fashion when the connection return to "keepalive" handling, e.g. when
    the request served was the last outstanding one.
    This led to late appearance in access logs with wrong duration times
    reported.
  • New directive 'H2EarlyHint name value' to add headers to a response,
    picked up already when a "103 Early Hints" response is sent. 'name' and
    'value' must comply to the HTTP field restrictions.
    This directive can be repeated several times and header fields of the
    same names add. Sending a 'Link' header with 'preload' relation will
    also cause a HTTP/2 PUSH if enabled and supported by the client.
  • accurately report the bytes sent for a request in the '%O' Log format.
    This addresses #203, a long outstanding issue where mod_h2 has reported
    numbers over-eagerly from internal buffering and not what has actually
    been placed on the connection.
    The numbers are now the same with and without H2CopyFiles enabled.

mod_h2 v2.0.14

12 Apr 07:44
Compare
Choose a tag to compare
  • fixed a crash during connection termination. See Apache PR 66539.
  • fixed a memory leak in calc_sha256_hash().

mod_h2 v2.0.13

16 Feb 11:48
Compare
Choose a tag to compare
  • New directive 'H2MaxDataFrameLen n' to limit the maximum amount of response
    body bytes put into a single HTTP/2 DATA frame. Setting this to 0 places
    no limit (but the max size allowed by the protocol is observed).
    The module, by default, tries to use the maximum size possible, which is
    somewhat around 16KB.
    This sets the maximum. When less response data is availble, smaller frames
    will be sent.

mod_h2 v2.0.12

29 Jan 11:47
Compare
Choose a tag to compare
  • client resets of HTTP/2 streams led to unwanted 500 errors
    reported in access logs and error documents. The processing of the
    reset was correct, only unneccesary reporting was caused.
  • Upgrade requests from HTTP/1.1 to HTTP/2 via the "Upgrade" header were
    always ignored for a request with a body. The check for this was incomplete
    and missed bodies announced via "Transfer-Encoding". Fixed. Refs #243

mod_h2 v2.0.11

22 Oct 16:04
Compare
Choose a tag to compare
  • WARNING: the directive "H2HeaderStrictness" from v2.0.4 has been
    removed again. Leading/trailing whitespace in header values is now
    being stripped both for requests and responses. The checks for this
    in nghttp2 v1.50.0+ are now always disabled.
    This means that clients that send leading/trailing ws continue to
    work, but that whitespace makes no difference in processing a request.
    This is the same behaviour as in http/1.1 where the Apache parser does
    the stripping as well (since forever).

mod-h2 v2.0.10

11 Oct 13:22
Compare
Choose a tag to compare
  • Extensive testing in production done by Alessandro Bianchi (@alexskynet)
    on the v2.0.x versions for stability. Many thanks!
  • refactored stream response handling to reflect the different phases
    (response/data/trailers) more clearly and help resolving cpu busy loops.
  • Adding more negative tests for handling of errored responses to cover
    edge cases.
  • mod_http2: fixed handling of response where neiter an EOS nor an ERROR was
    received as a cause to reset the stream.
  • mod_proxy_http2: generating error buckets for fault response bodies, to
    signal failure to fron when response header were already sent.