mod_http2: fail requests without ERROR log in case we need to read interim
responses and see only garbage. This can happen if proxied servers send
data where none should be, e.g. a body for a HEAD request.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1794049 13f79535-47bb-0310-9956-ffa450edef68
mod_http2: fixed possible deadlock that could occur when connections were
terminated early with ongoing streams. Fixed possible hanger with timeout
on race when connection considers itself idle.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1792195 13f79535-47bb-0310-9956-ffa450edef68
mod_http2: client streams that lack the EOF flag get now forcefully
closed with a RST_STREAM (NO_ERROR) when the request has been answered.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1791388 13f79535-47bb-0310-9956-ffa450edef68
mod_http2: only when 'HttpProtocolOptions Unsafe' is configured, will
control characters in response headers or trailers be forwarded to the
client. Otherwise, in the default configuration, a request will eiher
fail with status 500 or the stream will be reset by a RST_STREAM frame.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1791377 13f79535-47bb-0310-9956-ffa450edef68
mod_http2/mod_proxy_http2: less read attempts on bucket beams that already
delivered EOS/headers. Fixed bug in re-attempting proxy request after
connection error.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1790102 13f79535-47bb-0310-9956-ffa450edef68
mod_http2: fixed problem of forgotten requests when number of connections larger than number of workers. Some code refactor, threads now queued in slot order for vanity reasons, so that the segfaults are more likely at the top and not the bottom.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1789520 13f79535-47bb-0310-9956-ffa450edef68
mod_http2: checking for required nghttp2 features to enabled dynamic input window resizing for streams (nghttp2 >= v1.5.0). Reporting as feature DWINS on startup.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1789279 13f79535-47bb-0310-9956-ffa450edef68
mod_http2 after review by Christophe:
* fix h2_fifo_peek to properly block
* check peek return status while processing mplx queue
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1789276 13f79535-47bb-0310-9956-ffa450edef68
mod_http2: h2 workers with improved scalability for better scheduling
performance. There are H2MaxWorkers threads created at start and the
number is kept constant.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1788672 13f79535-47bb-0310-9956-ffa450edef68
*) mod_http2: moving session cleanup to pre_close hook to avoid races with
modules already shut down and slave connections still operating.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1786512 13f79535-47bb-0310-9956-ffa450edef68
*) mod_http2: stream timeouts now change to vhost values once the request
is parsed and processing starts. Initial values are taken from base
server or SNI host as before.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1785683 13f79535-47bb-0310-9956-ffa450edef68
mod_http2: separate mutex instances for each bucket beam, resulting in
less lock contention. input beams only created when necessary.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1784571 13f79535-47bb-0310-9956-ffa450edef68
mod_http2: signal eos on request input earlier, avoid unnecessary chunked, empty bodies, removing atomics from beam produce/consumed callback handling.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1784366 13f79535-47bb-0310-9956-ffa450edef68