httpd

Checkout Tools
  • last updated 11 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates

Changeset 1862586 is being indexed.

vote
vote
Proposing backport of h2 timeout/keepalive handling.

* applying v4 of the patch for PR 63534.

v4 of h2 keepalive patch, verified
    • ?
    /httpd/patches/2.4.x/h2-keepalive-yann-v4.patch
v3 of the h2 keepalive patch
    • ?
    /httpd/patches/2.4.x/h2-keepalive-yann-v3.patch
backport patch for 1862475
    • ?
    /httpd/patches/2.4.x/h2-keepalive-yann-v2.patch
*) 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]

*) mod_proxy_http2: fixing a potential NULL pointer use in logging.

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

* All backported
* Backported in r1862410
* Only availabe since 2.4.40
* Fix flow
Merge r1842010, r1841225, r1862039, r1862040, r1862042 from trunk:

* dav_stream_response processes data that has been allocated from the propdb

pool. Hence close the propdb *after* dav_stream_response which clears thei

probdb pool.

* Doing a PROPFIND on a large collection e.g. 50.000 elements can easily

consume 1 GB of memory as the subrequests and propdb pools are not

destroyed and cleared after each element was handled.

Do this now. There is one case in dav_get_props where elem->priv

lives longer then the propdb pool. In this case allocate from r->pool.

Furthermore also recycle propdb's which allows to clear the propdb's

pools instead of destroying them and creating them again.

Simplify handling of short-lived pool for dav_propdb in mod_dav. No

functional change.

* modules/dav/main/props.c (dav_popen_propdb): Rename from

dav_open_propdb, take a pool argument.

(dav_open_propdb): Reimplement in terms of above, using

r->pool.

(dav_propfind_walker): Switch to using dav_open_propdb

with scratchpool.

* modules/dav/main/props.c (dav_do_prop_subreq): Allocate escaped URI

out of propdb pool, fixing small per-resource leak during a PROPFIND

walk.

Submitted by: jorton, rpluem

* modules/dav/main/mod_dav.c (dav_send_multistatus): Tag the pool.

Reviewed by: rpluem, jorton, jim

Couple more small fixes.
And promote backport w/ at least 3 +1 votes

cast votes on tested patches

*) mod_ssl/mod_md:

Adding 2 new hooks for init/get of OCSP stapling status information when

other modules want to provide those. Falls back to own implementation with

same behaviour as before.

* Replace apr_psprintf with apr_pstrcat where the format strings only

contain %s to improve efficiency. Leave out error messages as they

are not on a crtical code path and error message become less readable

when taking out the format specifiers.

Vote.

Memory corruption fixed speculatively in r1491700 has been seen in the wild.

Also fix WAV file matching.

* modules/metadata/mod_mime_magic.c: Constify some constant

data, remove unused "suf_recursion" field. No functional

change.

* docs/conf/magic: Allow mod_mime_magic to return "audio/x-wav" for

WAV files, and omit returning "audio/unknown" for other RIFF

format files. Having a MIME type defined on a continuation line

*and* the preceding top-level match breaks mod_mime_magic, which

treats the second result "printed" as the MIME encoding. Neither

audio/x-wav nor audio/unknown are IANA registered, though Firefox

and Chrome both appear to recognize the former. Since the RIFF

format can contain non-audio media, returning audio/unknown as

a fallback for all RIFF files appears to be bogus anyway.

Submitted by: Àngel Ollé Blázquez <aollebla redhat.com>

* Update proposal to incorporate the recent memory improvement patches from Joe
Use <pre> instead of ` as done elsewhere in this page to imporve layout.

Add a missing 'CoreDumpDirectory' in a sentense.

mod_md: silencing unsed warnings when no mod_ssl hooks are not available

*) mod_ssl/mod_md: reversing dependency by letting mod_ssl offer hooks for

adding certificates and keys to a virtual host. An additional hook allows

answering special TLS connections as used in ACME challenges.

* server/main.c (main): Don't create a separate subpool for pcommands

(it had an identical lifetime to the global pool).

mod_md: updated documenation with new directives and chapters about wildcards and monitoring.