summaryrefslogtreecommitdiff
path: root/modules/http2/h2_request.h
Commit message (Collapse)AuthorAgeFilesLines
* Sync with v2.0.10 from github:Stefan Eissing2022-10-111-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Extensive testing in production done by Alessandro Bianchi (@alexskynet) on the v2.0.x versions for stability. Many thanks! * refactored stream response handling to reflect the different phases (response/data/trailers) more clearly and help resolving cpu busy loops. * Adding more negative tests for handling of errored responses to cover edge cases. * mod_http2: fixed handling of response where neiter an EOS nor an ERROR was received as a cause to reset the stream. * mod_proxy_http2: generating error buckets for fault response bodies, to signal failure to fron when response header were already sent. v2.0.9 -------------------------------------------------------------------------------- * Fixed a bug where errors during reponse body handling did not lead to a proper RST_STREAM. Instead processing went into an infinite loop. Extended test cases to catch this condition. v2.0.8 -------------------------------------------------------------------------------- * Delaying input setup of a stream just before processing starts. This allows any EOS indicator arriving from the client before that to take effect. Without knowing that a stream has no input, internal processing has to simulate chunked encoding. This is not wrong, but somewhat more expensive and mod_security has been reported to be allergic to seeing 'chunked' on some requests. See <https://bz.apache.org/bugzilla/show_bug.cgi?id=66282>. * mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when request ':authority' is known. Improved test case that did not catch that the previous 'fix' was incorrect. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904522 13f79535-47bb-0310-9956-ffa450edef68
* *) mod_http2: synchronization with github sources.Stefan Eissing2022-09-271-1/+2
| | | | | | | | | Building in trunk and against 2.4.x is now supported via AP_HAS_RESPONSE_BUCKETS defines. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904305 13f79535-47bb-0310-9956-ffa450edef68
* *) mod_http2: use the new REQUEST buckets to forward requestStefan Eissing2022-04-131-0/+2
| | | | | | | | | on secondary connections. Use the now generic ap_process_connection() in h2 workers to process those. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899802 13f79535-47bb-0310-9956-ffa450edef68
* *) mod_http2:Stefan Eissing2021-10-121-2/+6
| | | | | | | | | | | | | | | | | | | | | | - Fixed an issue since 1.15.24 that "Server" headers in proxied requests were overwritten instead of preserved. [PR by @daum3ns] - Added directove 'H2StreamTimeout' to configure a separate value for HTTP/2 streams, overriding server's 'Timeout' configuration. [rpluem] - HTTP/2 connections now use pollsets to monitor the status of the ongoing streams and their main connection when host OS allows this. - Removed work-arounds for older versions of libnghttp2 and checking during configure that at least version 1.15.0 is present. - The HTTP/2 connection state handler, based on an experiment and draft at the IETF http working group (abandoned for some time), has been removed. - H2SerializeHeaders no longer has an effect. A warning is logged when it is set to "on". The switch enabled the internal writing of requests to be parsed by the internal HTTP/1.1 protocol handler and was introduced to avoid potential incompatibilities during the introduction of HTTP/2. - Removed the abort/redo of tasks when mood swings lower the active limit. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894163 13f79535-47bb-0310-9956-ffa450edef68
* *) mod_http2: Stefan Eissing2020-07-131-1/+2
| | | | | | | | | | | | Fixes <https://github.com/icing/mod_h2/issues/200>: "LimitRequestFields 0" now disables the limit, as documented. Fixes <https://github.com/icing/mod_h2/issues/201>: Do not count repeated headers with same name against the field count limit. The are merged internally, as if sent in a single HTTP/1 line. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1879832 13f79535-47bb-0310-9956-ffa450edef68
* On the trunk:Stefan Eissing2018-04-091-1/+1
| | | | | | | | | 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 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1828687 13f79535-47bb-0310-9956-ffa450edef68
* On the trunk:Stefan Eissing2018-01-171-6/+7
| | | | | | | | mod_http2: removing comments that documented that greenbytes has untransferable copyright to the sources. The rights, of course, remain unaffected, but maybe some people can sleep better. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1821371 13f79535-47bb-0310-9956-ffa450edef68
* various fixes, mod_cgid interop, response/trailer forwarding rewritten, ↵Stefan Eissing2016-10-031-3/+1
| | | | | | stability git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1763158 13f79535-47bb-0310-9956-ffa450edef68
* mod_http2: more const goodiness and checks on h2 request creation, less NULL ↵Stefan Eissing2016-09-071-2/+3
| | | | | | checking while processing git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1759547 13f79535-47bb-0310-9956-ffa450edef68
* mod_http2: rewrote TLS buffering on master connectionStefan Eissing2016-05-021-1/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1742005 13f79535-47bb-0310-9956-ffa450edef68
* mod_http2/mod_proxy_http2: no longer reusing h2_request.o for proxy moduleStefan Eissing2016-04-291-12/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1741596 13f79535-47bb-0310-9956-ffa450edef68
* reduced h2_request initialization/copy after review by CJStefan Eissing2016-04-111-2/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1738563 13f79535-47bb-0310-9956-ffa450edef68
* mod_http2: some DoS protection, fix for read after freeStefan Eissing2016-03-011-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1733113 13f79535-47bb-0310-9956-ffa450edef68
* new experimental http2 proxy module for h2: and h2c: proxy urlsStefan Eissing2016-02-081-35/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1729209 13f79535-47bb-0310-9956-ffa450edef68
* fixed segfault in connection shutdown, added accept-push-policy supportStefan Eissing2015-12-231-2/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1721547 13f79535-47bb-0310-9956-ffa450edef68
* fixed bug in upload that triggered window_updates during session shutdown, ↵Stefan Eissing2015-12-231-0/+1
| | | | | | disentanglement of worker, task and request, code cleanups git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1721540 13f79535-47bb-0310-9956-ffa450edef68
* Use 'unsigned int' instead of 'int' for bitfieldsChristophe Jaillet2015-12-211-3/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1721137 13f79535-47bb-0310-9956-ffa450edef68
* byte savings by using bit fields, new env vars HTTP2 and H2PUSH, set to on ↵Stefan Eissing2015-12-211-6/+8
| | | | | | when enabled on request git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1721121 13f79535-47bb-0310-9956-ffa450edef68
* new directive H2PushPriority to define content-type based priorities on ↵Stefan Eissing2015-11-251-1/+6
| | | | | | server pushed resources git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1716388 13f79535-47bb-0310-9956-ffa450edef68
* start of PUSH priority handling, fixing core when task produces no response ↵Stefan Eissing2015-11-241-0/+10
| | | | | | at all git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1716146 13f79535-47bb-0310-9956-ffa450edef68
* fix in connection shutdown to no longer log after free, fixes in handling ↵Stefan Eissing2015-11-191-0/+5
| | | | | | HTTP/2 HEADER after DATA (trailers) git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1715184 13f79535-47bb-0310-9956-ffa450edef68
* new directive H2Push on/off to en-/disable HTTP/2 server pushes. Server ↵Stefan Eissing2015-11-131-2/+5
| | | | | | pushes are recognized by Link: headers in responses that carry the rel=preload parameter git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1714219 13f79535-47bb-0310-9956-ffa450edef68
* some rework for server pushStefan Eissing2015-11-111-22/+18
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1713887 13f79535-47bb-0310-9956-ffa450edef68
* creating ap_array_index in util, forwarding scheme into request processing, ↵Stefan Eissing2015-08-181-2/+2
| | | | | | enabling SSL vars only when scheme is not http:, delayed connection creation until task worker assignment git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1696428 13f79535-47bb-0310-9956-ffa450edef68
* reworked mod_h2 donation checkin into build system, added documentationStefan Eissing2015-07-101-0/+67
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1690248 13f79535-47bb-0310-9956-ffa450edef68