Skip to content

Releases: icing/mod_h2

mod_h[ttp]2 v1.2.3

27 Jan 16:41
Compare
Choose a tag to compare
  • connection timeout handling when requests do not report back
  • setting correct server config for event mpm on main connection, so that
    timeouts, keepalives use the correct values
  • fixes event hack to match changes in structures

mod_h[ttp]2 v1.2.2

18 Jan 19:44
Compare
Choose a tag to compare
  • removed unused code, avoid errors on -Wall

mod_h[ttp]2 v1.2.1

18 Jan 12:42
Compare
Choose a tag to compare

mod_h[ttp]2 v1.2.0

15 Jan 15:07
Compare
Choose a tag to compare
  • Each connection now has a push diary where already pushed resources are
    recorded (as 64-bit subsets sha256 URL hashes). The maximum size of a diary
    can be configured with the new directive 'H2PushDiarySize'. The default is 256.
  • The module recognizes the request header 'Cache-Digest', carrying a base64url
    encoded set of hash values using Golomb set encoding as described in
    https://datatracker.ietf.org/doc/draft-kazuho-h2-cache-digest/
    This is highly experimental and will most likely change in format and
    interpretation as the draft evolves. For now, this value is used to replace
    the current push diary. This allows clients to inform the server about
    which resources they already have cached.
  • module configuration now looks to the crypto library (because it wants SHA256
    from it). If it is not found, a replacement hash is used, however this is
    not interoperable with cache digests from clients, e.g. hits will be missed.
  • the module has a new handler named "http2-status" which exposes certain
    properties and statistics of the current HTTP/2 connection. It can be
    configured just like:
       <Location "/http2-status">
         SetHandler http2-status
       </Location>

The usual precautions about exposing some internals of your server to the
outside world apply. Just as for "server-status"."

  • Due to more test cases and new functions, more bugs have been exposed,
    examined and exterminated.

mod_http2 v1.1.0

07 Jan 17:56
Compare
Choose a tag to compare
  • GOAWAY will be sent when a HTTP/2 connection is shutdown, whenever the
    connection still allows it. Calculation of the last stream id has been
    corrected to include streams started, not only streams finished processing.

  • several issues fixed with new fuzzing tests that simulate random closes
    and delays/timeouts

  • H2SessionExtraFiles are now shared between all sessions in the same process.
    It now works like this:
    H2MaxWorkers * H2SessionFiles is assumed to be the total number of file
    handles that can be safely used for HTTP/2 transfers without other parts
    of the server running out of handles. This number is shared between all
    HTTP/2 connections in the same server process.
    The default is set to 2. With H2MaxWorkers on most platforms/mpms
    defaulting to 25 that gives a maximum of 50 handles that can be invoved in
    transfers.

    I think I have to write a blog post one day of how this works and affects
    performance. tl;dr the more handles http2 may use, the faster static files
    can be served.

  • KeepAlive is now correctly visible on the server status page for HTTP/2
    connections. (Would like more info there, need to extend the scoreboard
    for it.)

  • KeepAlive connections are not set aside in async MPMs such as event. This
    is a very desirable feature, but I could not get it to work reliably with
    the existing MPM interface. Will work on that for the next Apache release.
    (The main problem is that event will silently close such connections and
    http2 has no chance to send a last GOAWAY frame. That makes clients fail
    requests which they have just started.)

mod_h[ttp]2 v1.0.18

04 Jan 17:27
Compare
Choose a tag to compare
  • fixed race condition in connnection shutdown that could cause indefinite
    hang, fixed cleanup of http2 worker threads, thanks to Yann Ylavic (@ylavic)

mod_h[ttp]2 v1.0.17

04 Jan 15:36
Compare
Choose a tag to compare
mod_h[ttp]2 v1.0.17 Pre-release
Pre-release
  • H2Timeout and H2KeepAliveTimeout default to their HTTP/1 Apache counterparts, namely Timeout and KeepAliveTimeout. Some fixes in timeout calculations.
  • Interworking with async MPM modules, e.g. event has to be considered unstable for now. users report connection closing way to early, confusing clients and failing requests. Working on this. Thanks to everyone for keeping your patience while testing.

mod_h[ttp]2 v1.0.16

02 Jan 19:15
Compare
Choose a tag to compare
mod_h[ttp]2 v1.0.16 Pre-release
Pre-release
  • simplified connection shutdown and worker join for robustness
  • improved performance for small requests due to less locking
  • http2 connections work in event with normal server KeepAliveTimeout setting

mod_h[ttp]2 v1.0.15

30 Dec 16:28
Compare
Choose a tag to compare
  • fixed busy loops on random connection errors
  • fixed connection state for event MPM that shutdown child with 'G' status
  • changed default for H2KeepAliveTimeout. For async MPMs (event), will leave
    keepalive handling to the MPM. For sync (worker, prefork), will default to
    whatever is set for H2Timeout.

mod_h[ttp]2 v1.0.14

23 Dec 15:01
Compare
Choose a tag to compare
  • Fixed segfault during connection shutdown
  • added support for accept-push-policy header, see draft by ruellan