-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
h2 websockets backport for 2.4.x #366
Commits on Aug 23, 2023
-
Merge 1907696,1907697 from trunk:
*) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum amount of response body bytes put into a single HTTP/2 DATA frame. Setting this to 0 places no limit (but the max size allowed by the protocol is observed). The module, by default, tries to use the maximum size possible, which is somewhat around 16KB. This sets the maximum. When less response data is available, smaller frames will be sent.
Configuration menu - View commit details
-
Copy full SHA for 1af7a87 - Browse repository at this point
Copy the full SHA 1af7a87View commit details -
Merge r1909769 from trunk (plus sync mod_http2.xml)
*) mod_http2: v2.0.15 with the following fixes and improvements - New directive 'H2EarlyHint name value' to add headers to a response, picked up already when a "103 Early Hints" response is sent. 'name' and 'value' must comply to the HTTP field restrictions. This directive can be repeated several times and header fields of the same names add. Sending a 'Link' header with 'preload' relation will also cause a HTTP/2 PUSH if enabled and supported by the client. - Fixed an issue where requests were not logged and accounted in a timely fashion when the connection returns to "keepalive" handling, e.g. when the request served was the last outstanding one. This led to late appearance in access logs with wrong duration times reported. - Accurately report the bytes sent for a request in the '%O' Log format. This addresses apache#203, a long outstanding issue where mod_h2 has reported numbers over-eagerly from internal buffering and not what has actually been placed on the connection. The numbers are now the same with and without H2CopyFiles enabled.
Configuration menu - View commit details
-
Copy full SHA for 5790a21 - Browse repository at this point
Copy the full SHA 5790a21View commit details -
* mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend connection when sending data on the frontend one. This caused crashes or infinite loops in rare situations. * mod_proxy_http2: fixed a bug in retry/response handling that could lead to wrong status codes or HTTP messages send at the end of response bodies exceeding the announced content-length. * mod_proxy_http2: fix retry handling to not leak temporary errors. On detecting that that an existing connection was shutdown by the other side, a 503 response leaked even though the request was retried on a fresh connection. * mod_http2: fixed a bug that did cleanup of consumed and pending buckets in the wrong order when a bucket_beam was destroyed.
Configuration menu - View commit details
-
Copy full SHA for f78ede8 - Browse repository at this point
Copy the full SHA f78ede8View commit details -
Merge of 1910331,1910386,1910441 from trunk
*) mod_http2: fixed a bug in flushing pending data on an already closed connection that could lead to a busy loop, preventing the HTTP/2 session to close down successfully. Fixed PR 66624. Fixed a bug that could lead to a crash in main connection output handling. This occured only when the last request on a HTTP/2 connection had been processed and the session decided to shut down. This could lead to an attempt to send a final GOAWAY while the previous write was still in progress. See PR 66646.
Configuration menu - View commit details
-
Copy full SHA for 5ddf583 - Browse repository at this point
Copy the full SHA 5ddf583View commit details -
*) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
described in RFC 8441. A new directive 'H2WebSockets on|off' has been added. The feature is by default not enabled. As also discussed in the manual, this feature should work for setups using "ProxyPass backend-url upgrade=websocket" without further changes. Special server modules for WebSockets will have to be adapted, most likely, as the handling if IO events is different with HTTP/2. HTTP/2 WebSockets are supported on platforms with native pipes. This excludes Windows. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1910507 13f79535-47bb-0310-9956-ffa450edef68
Configuration menu - View commit details
-
Copy full SHA for 41f28fc - Browse repository at this point
Copy the full SHA 41f28fcView commit details -
*) mod_http2: adding checks for websocket support on platform and
server versions. Give error message accordingly when trying to enable websockets in unsupported configurations. Add test and code to check the, finally selected, server of a request_rec for websocket support or 501 the request. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1910535 13f79535-47bb-0310-9956-ffa450edef68
Configuration menu - View commit details
-
Copy full SHA for 28c014a - Browse repository at this point
Copy the full SHA 28c014aView commit details -
mod_http2: optimization for c1 output passing when collecting
next DATA frame for a response. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1910648 13f79535-47bb-0310-9956-ffa450edef68
Configuration menu - View commit details
-
Copy full SHA for e82bf6f - Browse repository at this point
Copy the full SHA e82bf6fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 768591d - Browse repository at this point
Copy the full SHA 768591dView commit details -
HTTP/2 WebSockets: adding throughput tests and test client improvements
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1910649 13f79535-47bb-0310-9956-ffa450edef68
Configuration menu - View commit details
-
Copy full SHA for 6d71adb - Browse repository at this point
Copy the full SHA 6d71adbView commit details -
tests: add the websockets python module version checks needed for our…
… CI infra git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1910654 13f79535-47bb-0310-9956-ffa450edef68
Configuration menu - View commit details
-
Copy full SHA for acda877 - Browse repository at this point
Copy the full SHA acda877View commit details -
*) mod_http2: new directive
H2ProxyRequests on|off
to enable handlingof HTTP/2 requests in a forward proxy configuration. General forward proxying is enabled via `ProxyRequests`. If the HTTP/2 protocol is also enabled for such a server/host, this new directive is needed in addition. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1910656 13f79535-47bb-0310-9956-ffa450edef68
Configuration menu - View commit details
-
Copy full SHA for ec5d0cf - Browse repository at this point
Copy the full SHA ec5d0cfView commit details -
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1910658 13f79535-47bb-0310-9956-ffa450edef68
Configuration menu - View commit details
-
Copy full SHA for 9af2ab5 - Browse repository at this point
Copy the full SHA 9af2ab5View commit details -
test_800_websockets: AH10467 is an expected error for the _fail_proto…
… test. So ignore it, and move the _fail_proto test first to avoid messing up with the error logs of the other tests. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1910667 13f79535-47bb-0310-9956-ffa450edef68
Configuration menu - View commit details
-
Copy full SHA for 6ee3cb4 - Browse repository at this point
Copy the full SHA 6ee3cb4View commit details -
mod_http2: move get_pollfd_from_conn hook outside the HAS_RESPONSE_BU…
…CKET part git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1910685 13f79535-47bb-0310-9956-ffa450edef68
Configuration menu - View commit details
-
Copy full SHA for 17f9f5a - Browse repository at this point
Copy the full SHA 17f9f5aView commit details -
mod_http2: when failing a request, make sure the request_rec fields
are populated (best effort) for the response generation since this might access fields in there. Respect a http_status already assigned during stream processing for error generation. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1910686 13f79535-47bb-0310-9956-ffa450edef68
Configuration menu - View commit details
-
Copy full SHA for 6c869df - Browse repository at this point
Copy the full SHA 6c869dfView commit details -
Configuration menu - View commit details
-
Copy full SHA for e6610cc - Browse repository at this point
Copy the full SHA e6610ccView commit details -
mod_http2: add aplogno where makefile did not detect it missing?
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1910688 13f79535-47bb-0310-9956-ffa450edef68
Configuration menu - View commit details
-
Copy full SHA for da7d510 - Browse repository at this point
Copy the full SHA da7d510View commit details -
Configuration menu - View commit details
-
Copy full SHA for ff5fbea - Browse repository at this point
Copy the full SHA ff5fbeaView commit details -
Configuration menu - View commit details
-
Copy full SHA for cbd8893 - Browse repository at this point
Copy the full SHA cbd8893View commit details -
proxy: in proxy tunnels, use the smaller timeout value of
client and origin as timeout for polling the tunnel. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1910704 13f79535-47bb-0310-9956-ffa450edef68
Configuration menu - View commit details
-
Copy full SHA for 8f51885 - Browse repository at this point
Copy the full SHA 8f51885View commit details -
proxy_util: revert timeout selection on a proxy tunnel back to
take the large of client/origin values. Add websocket test to verify that longer proxypass timeout is in effect. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1910809 13f79535-47bb-0310-9956-ffa450edef68
Configuration menu - View commit details
-
Copy full SHA for 893efea - Browse repository at this point
Copy the full SHA 893efeaView commit details -
- provide "Connection" header in internal Upgrade request - set input notification if input is already available when stream processing is started - add optional function in mod_http2.h to use instead of ap_get_pollfd_from_conn() in older servers with a new mod_http2
Configuration menu - View commit details
-
Copy full SHA for eb1198c - Browse repository at this point
Copy the full SHA eb1198cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 832142a - Browse repository at this point
Copy the full SHA 832142aView commit details -
Configuration menu - View commit details
-
Copy full SHA for a4c4ffd - Browse repository at this point
Copy the full SHA a4c4ffdView commit details -
- re-add ap_mmn comment for 128 minor version - reverted most changes of apr_strnatcasecmp() to ap_cstr_casecmp() since the former has special whitespace handling which *may* mattter in certain cases - fixed log message when wrong Sec-WebSocket-Accept response header was found
Configuration menu - View commit details
-
Copy full SHA for c22917d - Browse repository at this point
Copy the full SHA c22917dView commit details -
Configuration menu - View commit details
-
Copy full SHA for b3e89ef - Browse repository at this point
Copy the full SHA b3e89efView commit details -
Configuration menu - View commit details
-
Copy full SHA for 80b3883 - Browse repository at this point
Copy the full SHA 80b3883View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2d619de - Browse repository at this point
Copy the full SHA 2d619deView commit details
Commits on Aug 28, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 51c6dbe - Browse repository at this point
Copy the full SHA 51c6dbeView commit details -
Increase delay in stutter check 712_02 for cpu starved CI runs
- eliminiate 712_03 as being then really the same as 712_02
Configuration menu - View commit details
-
Copy full SHA for 51f9ac0 - Browse repository at this point
Copy the full SHA 51f9ac0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 578c1ea - Browse repository at this point
Copy the full SHA 578c1eaView commit details -
Configuration menu - View commit details
-
Copy full SHA for f2b3db5 - Browse repository at this point
Copy the full SHA f2b3db5View commit details