h2_config.c

Checkout Tools
  • last updated 5 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
*) mod_http2: Fixed interaction with mod_reqtimeout. A loaded mod_http2 was disabling the

ssl handshake timeouts. Also, fixed a mistake of the last version that made `H2Direct`

always `on`, irregardless of configuration. Found and reported by

<Armin.Abfalterer@united-security-providers.ch> and

<Marcial.Rion@united-security-providers.ch>. [Stefan Eissing]

*) mod_http2: Multiple field length violations in the same request no longer cause

several log entries to be written. [@mkauf]

  1. … 4 more files in changeset.
*) mod_http2: new configuration directive: ```H2Padding numbits``` to control

padding of HTTP/2 payload frames. 'numbits' is a number from 0-8,

controlling the range of padding bytes added to a frame. The actual number

added is chosen randomly per frame. This applies to HEADERS, DATA and PUSH_PROMISE

frames equally. The default continues to be 0, e.g. no padding. [Stefan Eissing]

*) mod_http2: ripping out all the h2_req_engine internal features now that mod_proxy_http2

has no more need for it. Optional functions are still declared but no longer implemented.

While previous mod_proxy_http2 will work with this, it is recommeneded to run the matching

versions of both modules. [Stefan Eissing]

*) mod_proxy_http2: changed mod_proxy_http2 implementation and fixed several bugs which

resolve PR63170. The proxy module does now a single h2 request on the (reused)

connection and returns. [Stefan Eissing]

  1. … 21 more files in changeset.
*) mod_http2: Configuration directoves H2Push and H2Upgrade can now be specified per

Location/Directory, e.g. disabling PUSH for a specific set of resources. [Stefan Eissing]

*) mod_http2: HEAD requests to some module such as mod_cgid caused the stream to

terminate improperly and cause a HTTP/2 PROTOCOL_ERROR.

Fixes <https://github.com/icing/mod_h2/issues/167>. [Michael Kaufmann]

  1. … 29 more files in changeset.
mod_http2: bringing some signed/unsigned casting goodness, aligning with github mod-h2 again

  1. … 11 more files in changeset.
Fix some typos reported in PR 59998

Most add already been fixed when PR 59990 had been applied on trunk.

Thx klemens

  1. … 15 more files in changeset.
mod_proxy: follow up to r1822849.

Get the help(er) of mod_http2 to determine how much connections should

be handled in the reslist by default (i.e. max_threads).

  1. … 6 more files in changeset.
On the trunk:

mod_http2: removing comments that documented that greenbytes has untransferable copyright to the sources. The rights, of course, remain unaffected, but maybe some people can sleep better.

  1. … 51 more files in changeset.
correct copyright/license headers

  1. … 23 more files in changeset.
On the trunk:

mod_http2: ripped out H2SessionExtraFiles directive, removed super special sender pool handling in bucket beams.

  1. … 9 more files in changeset.
On the trunk:

*) mod_http2: rework of stream resource cleanup to avoid a crash in a close

of a lingering connection. Prohibit special file bucket beaming for

shared buckets. Files sent in stream output now use the stream pool

as read buffer, reducing memory footprint of connections.

[Yann Ylavic, Stefan Eissing]

  1. … 16 more files in changeset.
  1. … 7 more files in changeset.
On the trunk:

*) mod_http2: streaming of request output now reacts timely to data

from other streams becoming available. Same for new incoming requests.

  1. … 11 more files in changeset.
On the trunk:

mod_http2: adding support for MergeTrailers directive.

mod_http2: limiting DATA frame sizes by TLS record sizes in use on the

connection. Flushing outgoing frames earlier.

  1. … 8 more files in changeset.
mod_http2: new directove H2EarlyPushes for enabled 103 interim responses
  1. … 4 more files in changeset.
mod_http2: fixes for compiler warnings
  1. … 3 more files in changeset.
mod_http2: H2PushResource directive for early pushing

mod_proxy_http2: Link header uris are reverse mapped

  1. … 16 more files in changeset.
mod_http2: AP_DEBUG_ASSERT changed to ap_assert
  1. … 18 more files in changeset.
mod_http2: new H2CopyFiles directive
  1. … 10 more files in changeset.
new experimental http2 proxy module for h2: and h2c: proxy urls
  1. … 29 more files in changeset.
removed experimental++ H2* timeout directives, instead using normal Timeout and KeepAliveTimeout only
  1. … 8 more files in changeset.
mod_http2: push diary to avoid duplicate pushes, cache-digest handling, http2-status handler for stats about current http2 connection
  1. … 19 more files in changeset.
push diary work, introduction of N/P for cache digest handling
  1. … 3 more files in changeset.
new directive H2PushDiarySize, first simple apr_hash implementation of a push diary that prevents duplicate pushes on a connection
  1. … 7 more files in changeset.
dynamic allocation of transfer file handles used to pass buckets to master connection
  1. … 13 more files in changeset.
reworked synching of session shutdown with worker threads, workers now stick to a session until no more reuqquest are tbd, keepalive handling revisited
  1. … 14 more files in changeset.
fixes after fuzzing tests, changed H2KeepAliveTimeout default
  1. … 11 more files in changeset.
rewrote http2 connection state handling, fixed keepalive timeout handling for async and sync MPMs, cleaned logging, improved scoreboard updates of http2 master connections
  1. … 14 more files in changeset.
when normal read timeout expires, http2 switches to its keepalive timeout, on async mpms, connection resumes processing back to mpm
  1. … 4 more files in changeset.
3 new timeout configuration directives for mod_http2
  1. … 13 more files in changeset.
correcting error messages, better str concat, provided by CJ