Checkout Tools
  • last updated 2 hours ago
Constraints: committers
Constraints: files
Constraints: dates
followup to r1864734

Add missing APLOGNO

(r1864733 in trunk)

Merge of r1861338,1862475,1862583,1862865,1863221,1863276 from trunk:

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

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

*) 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. [Stefan Eissing]

*) 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_proxy_http2: fixing a potential NULL pointer use in logging.

[Christophe Jaillet <christophe.jaillet>, Dr Silvio Cesare InfoSect]

  1. … 2 more files in changeset.
Merge of r1861337 from trunk:

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

  1. … 2 more files in changeset.
Merge r1860260 from trunk:

* modules/http2: more copying of data to disentangle worker processing from main connection

Submitted by: icing

Reviewed by: icing, covener, jim

  1. … 2 more files in changeset.
mod_proxy_http: forward 100-continue, and minimize race conditions when

reusing backend connections. PR 60330.

+1: ylavic, icing, jim

ylavic: plus (opt-out)

2.4.x patch:

+1: ylavic, jim, minfrin

  1. … 10 more files in changeset.
Merge r1859371, r1859422 from trunk:

mod_proxy/ssl: Proxy SSL client certificate

configuration and other proxy SSL configurations

broken inside <Proxy> context.

PR 63430

Triggered by r1855646+r1855748.

Patch from rpluem (proxy) and ylavic (ssl).

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).

Submitted by: rjung, ylavic

Reviewed by: rjung, rpluem, ylavic

  1. … 10 more files in changeset.
Merge r1818726 from trunk:

mod_proxy: allow SSLProxyCheckPeer* usage for all proxy modules.

PR 61857.

Proposed by: Markus Gausling <markusgausling>

Reviewed by: ylavic, rjung, rpluem

  1. … 4 more files in changeset.
adjust per r1855434

Removing no longer used source after last mod_http2 backport.

Merge of 1849296,1852038,1852101,1852339,1853171,1853967,1854365,1854963,1854964,1855295,1855411 from trunk:

*) 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]

*) 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]

*) 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]

*) mod_http2: Configuration directives 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. … 20 more files in changeset.
Merge r1853901, r1853906, r1853908, r1853929, r1853935, r1853967 from trunk:

mod_reqtimeout: factorize structs and code.

With a bit of macro magic, this is to avoid more code duplication when adding

new stages (next commit will add TLS/handshake timeouts handling in addition to

existing header and body ones).

No functional change here.

mod_reqtimeout: Allow to configure (TLS-)handshake timeouts.

The timeouts apply between the process_connection and pre_read_request hooks.

They are disabled by default for compatibily reasons.

mod_reqtimeout: follow up to r1853906: adjust hooks priorities comments.

mod_reqtimeout: follow up to r1853901: fix macro args.

mod_reqtimeout: follow up to r1853901: init stage name outside INIT_STAGE().

It helps both code readability where stages are initilized and potential

logging in the input filter (even if the stage is disabled).

mod_http2: fix for latest mod_reqtimeout change re handshake timeouts

Submitted by: ylavic, icing

Reviewed by: ylavic, icing, jim

  1. … 5 more files in changeset.
Merge r1852038, r1852101 from trunk:

mod_http2: enable re-use of slave connections again.

mod_http2: fixed slave connection keepalives counter.

Submitted by: icing

Reviewed by: icing, ylavic, jim

  1. … 3 more files in changeset.
Merge of r1852986 from trunk:

mod_http2: disentangelment of stream and request method.

  1. … 1 more file in changeset.
Merge of r1846125 from trunk:

mod_http2: change in cleanup strategy for slave connections.

  1. … 2 more files in changeset.
removing unwanted file change
  1. … 1 more file in changeset.
backport proposal

  1. … 1 more file in changeset.
Merge r1843426 from trunk:

mod_http2: adding defensive code for stream EOS handling, in case the request handler

missed to signal it the normal way (eos buckets). Addresses github issues,


Submitted by: icing

Reviewed by: icing, ylavic, jim

  1. … 3 more files in changeset.
Merge r1835118 from trunk:

On the trunk:

* silencing gcc uninitialized warning

* refrainning from apr_table_addn() use since pool debug assumptions are in conflict

* adding more assertions

* copy-porting changes to base64 encoding code from mod_md

Submitted by: icing

Reviewed by: icing, minfrin, jim

  1. … 2 more files in changeset.
Merge r1840010 from trunk:

On the trunk:

mod_http2: connection IO event handling reworked. Instead of reacting on

incoming bytes, the state machine now acts on incoming frames that are

affecting it. This reduces state transitions.

Submitted by: icing

Reviewed by: icing, ylavic, jim

  1. … 2 more files in changeset.
Merge r1837056 from trunk:

*) http: Enforce consistently no response body with both 204 and 304

statuses. [Yann Ylavic]

  1. … 8 more files in changeset.
fix a potential NULL dereference spotted by gcc 8.1.0

*) mod_ssl: fix a potential NULL dereference spotted by gcc 8.1.0

mod_http2: silence gcc strncpy warnings which break compilation in

maintainer mode with gcc 8.1.0

trunk patch:

2.4.x patch: svn merge -c 1831231,1831591,1832934,1832937 ^/httpd/httpd/trunk .

+1: ylavic, icing, jailletc36 (by inspection)

  1. … 3 more files in changeset.
Merge r1830562 from trunk:

On the trunk:

mod_http2: restoring the v1.10.16 keepalive timeout behavioud of mod_http2 (to be verified).

ALSO: mod_http2: adding regular memory cleanup when transferring large response bodies. This

reduces memory footprint and avoids memory exhaustion when transferring large files

on 32-bit architectures. Fixes PR 62325.

Submitted by: icing

Reviewed by: icing, ylavic, jim

  1. … 2 more files in changeset.
Merge r1826687, r1827166, r1828210, r1828232, r1828687 from trunk:

Instrument 'bbout'

mod_http2: use proper ARP defined for formatting apr_off_t

On the trunk:

mod_http2: on level trace2, log any unsuccessful HTTP/2 direct connection upgrade

with base64 encoding to unify its appearance in possible bug reports.

On the trunk:

* mod_http2: calculate unencrypted connection sniffing base64 only when log level is at required height. [Ruediger Pluem]

On the trunk:

mod_http2: accurate reporting of h2 data input/output per request via mod_logio. Fixes

an issue where output sizes where counted n-times on reused slave connections. See

gituhub issue:

Submitted by: jailletc36, icing, icing, icing, icing

Reviewed by: icing, jim, ylavic

  1. … 3 more files in changeset.
Merge r1828879 from trunk:

On the trunk:

mod_http2: always wake up any conditional waits when streams are aborted. Fixes race conditions where timeouts would trigger instead.

Submitted by: icing

Reviewed by: icing, jim, ylavic

  1. … 2 more files in changeset.
Merge r1822849, r1822858, r1822878, r1822879, r1822883, r1828485, r1828493 from trunk:

* When mod_http2 is loaded more then ThreadsPerChild backend connections can

be useful as mod_http2 has an additional thread pool on top of


But leave the default with ThreadsPerChild.

* Add some some comment why we do not limit hmax any longer

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).

mod_proxy: follow up to r1822849 and r1822878.

Does r1822878's "static" APR_RETRIEVE_OPTIONAL_FN work if, say, mod_proxy is

builtin but mod_http2 isn't?

Not worth taking the risk here since it's not a fast path...

Note: if this is an issue, I'm afraid it applies elsewhere too.

mod_proxy: follow up to r1822849 and r1822879.

Fix my maths, thanks Stefan and Rüdiger!

needs mod_http2.h

* Add missing CHANGES entry for revisions 1822849,1822858,1822878,1822879,1822883,1828485

Submitted by: rpluem, ylavic, ylavic, ylavic, gsmith, rpluem

Reviewed by: rpluem, jim, ylavic

  1. … 5 more files in changeset.
  1. … 29 more files in changeset.
On the 2.4.x branch:

Merged /httpd/httpd/trunk:r1821371,1822502-1822503,1822624

  1. … 40 more files in changeset.
We track merges at the root only.
  1. … 1 more file in changeset.