Checkout Tools
  • last updated 23 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
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. … 12 more files in changeset.
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 <https://bz.apache.org/bugzilla/show_bug.cgi?id=63170>. [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 <https://github.com/icing/mod_h2/issues/167>. [Michael Kaufmann]

  1. … 34 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. … 5 more files in changeset.
Merge of r1846125 from trunk:

mod_http2: change in cleanup strategy for slave connections.

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

  1. … 1 more file 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. … 4 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: https://github.com/icing/mod_h2/issues/158

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

Reviewed by: icing, jim, ylavic

  1. … 17 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

ThreadsPerChild.

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. … 9 more files in changeset.
On the 2.4.x branch:

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

  1. … 54 more files in changeset.
Merge r1818804, r1818951, r1818958, r1818960, r1819027, r1819214, r1820035 from trunk:

mpm_event: close connections not reported as handled by any module.

This avoids losing track of them and leaking scoreboard entries.

PR 61551.

mpm_event: follow up to r1818804.

Address corner case where connection is aborted due to ap_run_pre_connection()

failure, and update comment about ap_run_process_connection() expected return

status and state.

mpm_event: follow up to r1818804 and r1818951.

Align comment and fix typos.

mpm_event: follow up to r1818804.

Allow DONE as a successful ap_run_process_connection() return value, for

instance h2_conn_run() and h2_task_process_conn() uses it, third-party

modules may too...

mpm_event: follow up to r1818804 and r1818951.

Be more correct in comment about CONN_STATE_WRITE_COMPLETION.

We currently have/need no state to simply wait for readability on a socket,

so the previous comment was misleading. Write completion can't be used for

a simple "wait for read event and come back to process_connection hooks".

mpm_event: follow up to r1818804 and r1818960.

Align mod_http2 with expected returned state from process_connection hooks in

async MPMs.

When the master connection is handled, enter CONN_STATE_LINGER in any case.

Add missing APLOGNO

Submitted by: ylavic, jailletc36

Reviewed by: ylavic, icing, covener

  1. … 5 more files in changeset.
docco fix... correct license/copyright info

  1. … 24 more files in changeset.
SECURITY: CVE-2017-9789: Read after free in mod_http2.

When under stress, closing many connections, the HTTP/2

handling code would sometimes access memory after it has

been freed, resulting in potentially erratic behaviour.

Merge r1800689 from trunk:

Disable and give warning when mpm_prefork is encountered.

The server will continue to work, but HTTP/2 will no longer be negotiated.

Submitted by: icing

Reviewed by: icing, ylavic, jim

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

Merged /httpd/httpd/trunk:r1786715,1787051,1787141,1787604,1788672,1788981,1789221,1789224,1789276,1789279,1789395,1789520,1789535,1789692

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

Merged /httpd/httpd/trunk:r1784571,1785672,1785683,1786512,1786575-1786576

mod_http2/mod_proxy_http2 backport

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

merge of r1783683,1783693,1783756,1783759-1783760,1783762,1783912,1783996 from trunk

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

merge of r1780598,1781304,1782875,1782944,1782958,1782975 from trunk

  1. … 22 more files in changeset.
On the 2.4.x branch, merge of r1775946,1776735 from 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. … 10 more files in changeset.
Merge of r1766857,1767128,1767180,1767181,1767553 from trunk

mod_http2/mod_proxy_http2 improvments as in CHANGES

  1. … 22 more files in changeset.
Merge of r1765328,1766424,1766691,1766851 from trunk:

mod_http2: v1.7.7, connection shutdown revisited, AP_DEBUG_ASSERT transformed to real asserts

  1. … 21 more files in changeset.
Merge of r1766308 from trunk:

mod_http2: fixed potential crash in beam memory handling introduced in 1.7.x changes

  1. … 11 more files in changeset.
Merge of r1764005 from trunk:

mod_http2: reverting int->apr_uint32_t changes from 1.7.x

  1. … 24 more files in changeset.
Merge of r1763613 from trunk:

mod_http2: fixes compilation error on 32bit systems when generating a slave connection id

  1. … 7 more files in changeset.
Merge of r1763246 from trunk:

mod_http2: fixing Windows build issues by replacing hook with own implemenation

  1. … 6 more files in changeset.
Merge of 1761479,1761548,1762703,1763158 from trunk

mod_http2: rewrite of how responses and trailers are transferred between

master and slave connection. Reduction of internal states for tasks

and streams, stability. Heuristic id generation for slave connections

to better keep promise of connection ids unique at given point int time.

Fix for mod_cgid interop in high load situtations.

Fix for handling of incoming trailers when no request body is sent.

  1. … 39 more files in changeset.
mod_http2: backport of 1.5.2 to 2.4.x
  1. … 47 more files in changeset.
mod_http2: backport of 1.4.3
  1. … 13 more files in changeset.
backport of mod_http2 v1.4.2
  1. … 24 more files in changeset.
backported mod_http2 1.4.0 from trunk
  1. … 26 more files in changeset.
backport of mod_http2 v1.3.2 minus event conn-status fixup
  1. … 54 more files in changeset.