Checkout Tools
  • last updated 4 hours ago
Constraints: committers
Constraints: files
Constraints: dates
*) mod_http2: Fixed rare cases where a h2 worker could deadlock the main connection.

  1. … 1 more file in changeset.
*) 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

<> and

<>. [Stefan Eissing]

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

several log entries to be written. [@mkauf]

  1. … 2 more files in changeset.
followup to r1864733

Add missing APLOGNO
*) mod_http2: core setting "LimitRequestFieldSize" is not additionally checked on

merged header fields, just as HTTP/1.1 does. [Stefan Eissing, Michael Kaufmann]

  1. … 1 more file in changeset.
mod_http2: update log tags, log field len errors at INFO level (via mkaufmann)

mod_proxy_http2: udpate log tags

  1. … 1 more file in changeset.
*) mod_http2: fixed a bug that prevented proper stream cleanup when connection

throttling was in place. Stream resets by clients on streams initiated by them

are counted as possible trigger for throttling.

  1. … 1 more file in changeset.
* applying v4 of the patch for PR 63534.

*) mod_http2/mpm_event: Fixes the behaviour when a HTTP/2 connection has nothing

more to write with streams ongoing (flow control block). The timeout waiting

for the client to send WINODW_UPDATE was incorrectly KeepAliveTimeout and not

Timeout as it should be. Fixes PR 63534. [Yann Ylavic, Stefan Eissing]

  1. … 2 more files in changeset.
* mod_http2: adding support for the new trailer tests.

*) mod_proxy_http2: adding support for handling trailers in both directions. PR 63502.

  1. … 1 more file in changeset.
* modules/http2: more copying of data to disentangle worker processing from main connection

* modules/http2: reverting r1859724, as no good.

  1. … 8 more files in changeset.
*) mod_http2: internal code cleanups and simplifications. Common output code for

h2 and h2c protocols, using nested mutex locks for simplified calls. [Stefan Eissing]

  1. … 9 more files in changeset.
Follow up to r1859371: extend to other ap_proxy_connection_create[_ex]() users.

This function now now handles SSL reuse as well as the "proxy-request-hostname"

note (SNI), so let's also call it unconditionnaly in all proxy modules.

On the mod_ssl side, since this note has the lifetime of the connection, don't

reset/unset it during handshake (ssl_io_filter_handshake).

  1. … 6 more files in changeset.
* Only do one retry to be more in line with the other modules.
Uplift of relevante changes of r1855479 in branches/2.4.x, re disappearance of h2_ngn_shed.* sources.

Reverting the unwanted revert of r1852989.

*) mod_http2: when SSL renegotiation is inhibited and a 403 ErrorDocument is

in play, the proper HTTP/2 stream reset did not trigger with H2_ERR_HTTP_1_1_REQUIRED.

Fixed. [Michael Kaufmann]

  1. … 1 more file 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. … 7 more files in changeset.
*) mod_http2/mod_proxy_http2: proxy_http2 checks correct master connection aborted status

to trigger immediate shutdown of backend connections. This is now always signalled

by mod_http2 when the the session is being released.

proxy_http2 now only sends a PING frame to the backend when there is not already one

in flight. [Stefan Eissing]

*) mod_proxy_http2: fixed an issue where a proxy_http2 handler entered an infinite

loop when encountering certain errors on the backend connection.

See <>. [Stefan Eissing]

  1. … 1 more file in changeset.
mod_http2: fix for latest mod_reqtimeout change re handshake timeouts

mod_proxy_http: rework the flushing strategy when forwarding the request body.

Since the forwarding of 100-continue (end to end) in r1836588, we depended on

reading all of the requested HUGE_STRING_LEN bytes to avoid the flushes, but

this is a bit fragile.

This commit introduces the new stream_reqbody_read() function which will try a

nonblocking read first and, if it fails with EAGAIN, will flush on the backend

side before blocking for the next client side read.

We can then use it in stream_reqbody_{chunked,cl}() to flush client forwarded

data only when necessary. This both allows "optimal" flushing and simplifies

code (note that spool_reqbody_cl() also makes use of the new function but not

its nonblocking/flush functionality, thus only for consistency with the two

others, simplification and common error handling).

Also, since proxy_http_req_t::flushall/subprocess_env::proxy-flushall are now

meaningless (and unused) on the backend side, they are renamed respectively to

prefetch_nonblocking/proxy-prefetch-nonblocking, and solely determine whether

to prefetch in nonblocking mode or not. These flags were trunk only and may

not be really useful if we decided to prefetch in nonblocking mode in any case,

but for 2.4.x the opt-in looks wise.

  1. … 1 more file in changeset.
http2: mark tasks' pools.
* inc http2 version number to distinguish to github released version

* further disentangle streama and request memory pools

*) 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 <>. [Michael Kaufmann]

  1. … 15 more files in changeset.
mod_http2: fixed slave connection keepalives counter.

  1. … 1 more file in changeset.
mod_http2: enable re-use of slave connections again.

  1. … 1 more file in changeset.
reverting last change
  1. … 2 more files in changeset.
mod_http2: enable re-use of slave connections again.

  1. … 2 more files in changeset.