Releases: icing/mod_h2
Releases · icing/mod_h2
mod-h2 v2.0.19
- 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
- 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
- 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
- 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
- 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
- fixed a crash during connection termination. See Apache PR 66539.
- fixed a memory leak in calc_sha256_hash().
mod_h2 v2.0.13
- 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
- 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
- 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
- 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.