summaryrefslogtreecommitdiff
path: root/test/modules
Commit message (Collapse)AuthorAgeFilesLines
* *) mod_http2: v2.0.15 with the following fixes and improvementsStefan Eissing2023-05-1211-46/+318
| | | | | | | | | | | | | | | | | | | | | | | - 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 #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. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1909769 13f79535-47bb-0310-9956-ffa450edef68
* tests, adding ignore for warnings that child did not exist in timeStefan Eissing2023-05-021-0/+1
| | | | | | | | - this seems CI related, does not happen on local machine git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1909568 13f79535-47bb-0310-9956-ffa450edef68
* tests, make test_h2_106_02 more robustStefan Eissing2023-05-021-4/+10
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1909567 13f79535-47bb-0310-9956-ffa450edef68
* test_h2_700_11, limit parallel connections, better error outputStefan Eissing2023-05-021-9/+9
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1909566 13f79535-47bb-0310-9956-ffa450edef68
* test_h2_200_16, check that we have at least nghttp2 v1.45.0Stefan Eissing2023-05-021-4/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1909565 13f79535-47bb-0310-9956-ffa450edef68
* tests, re-enable http/2 tests in github workflow, install latest rustls-ffi ↵Stefan Eissing2023-05-021-1/+4
| | | | | | version git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1909563 13f79535-47bb-0310-9956-ffa450edef68
* *) test: check for recent curl version in proxy testsStefan Eissing2023-05-022-0/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1909560 13f79535-47bb-0310-9956-ffa450edef68
* make test cases for mod_tls work, do not clear gen directory on every invocationStefan Eissing2023-04-271-3/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1909454 13f79535-47bb-0310-9956-ffa450edef68
* make the h1 test suite work againStefan Eissing2023-04-272-35/+60
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1909453 13f79535-47bb-0310-9956-ffa450edef68
* make the http2 test suite working againStefan Eissing2023-04-2711-166/+84
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1909452 13f79535-47bb-0310-9956-ffa450edef68
* pytests: test_tls_04_double_get does not want stdout separator for multiple ↵Yann Ylavic2023-03-202-3/+3
| | | | | | | | | | responses. Add no_stdout_list parameter to env.tls_get() thus to curl_raw() too. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1908577 13f79535-47bb-0310-9956-ffa450edef68
* pytests: test_tls_05_proto_1_3: Don't rely on ↵Yann Ylavic2023-03-201-4/+1
| | | | | | TlsTestEnv.curl_supports_tls_1_3() (always False). git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1908575 13f79535-47bb-0310-9956-ffa450edef68
* pytests: Use python3-multipart lib.Yann Ylavic2023-03-209-54/+126
| | | | | | | | | Use the API of https://github.com/andrew-d/python-multipart, available as package python3-multipart on Debian/Ubuntu. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1908574 13f79535-47bb-0310-9956-ffa450edef68
* iFix proxy backend connection reuse tests.Rainer Jung2023-03-091-18/+21
| | | | | | | | | | Use one curl exec with multiple URLs instead of separate curl calls, so that we make sure we use the same connection to the web server ending up in the same httpd child process. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1908230 13f79535-47bb-0310-9956-ffa450edef68
* Make test more robust, log might have a short delay.Rainer Jung2023-03-091-0/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1908228 13f79535-47bb-0310-9956-ffa450edef68
* Test case updates related to macOS ventura changes:Stefan Eissing2023-03-0430-186/+318
| | | | | | | | | | | | - python 3.11 deprecates the `cg` module, replacing url query and multipart form-data handling with new code - adaptions to changes in openssl/curl behaviours - all mod_tls test cases now have prefix `test_tls_` for easier scoping. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1908060 13f79535-47bb-0310-9956-ffa450edef68
* *) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximumStefan Eissing2023-02-161-0/+51
| | | | | | | | | | | | | 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. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1907697 13f79535-47bb-0310-9956-ffa450edef68
* *) mod_http2: field values (headers and trailers) are stripped ofStefan Eissing2022-10-221-17/+27
| | | | | | | | | | | | | leading/trailing whitespace (space +htab) before being processed or send in a response. This is compatible behaviour to HTTP/1.1 parsers that strip incoming headers of such characters. [Stefan Eissing] - removed intermittent "H2HeaderStrictness" directive again. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904777 13f79535-47bb-0310-9956-ffa450edef68
* *) test modules/http1, add testing field value with just whitespace.Stefan Eissing2022-10-221-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904776 13f79535-47bb-0310-9956-ffa450edef68
* *) test modules/http1: adding new invalid header values and testing also ↵Stefan Eissing2022-10-212-9/+35
| | | | | | via h1 proxy. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904756 13f79535-47bb-0310-9956-ffa450edef68
* tests modules/http1: use "Header add" to produce response headers with ↵Stefan Eissing2022-10-191-0/+28
| | | | | | whitespace. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904693 13f79535-47bb-0310-9956-ffa450edef68
* Sync with v2.0.10 from github:Stefan Eissing2022-10-1111-13/+382
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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: new directive "H2HeaderStrictness" to control the complianceStefan Eissing2022-09-261-3/+3
| | | | | | | | | | | | | | | | level of header checks as defined in the HTTP/2 RFCs. Default is 7540. 9113 activates the checks for forbidden leading/trailing whitespace in field values (available from nghttp2 v1.50.0 on). - source sync with github version - fix for keepalive idle wait in mpm_worker setup - ensuring EOS when secondary connection has been handled - fixed race in late input EOS arrival when stream was already scheduled for execution. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904269 13f79535-47bb-0310-9956-ffa450edef68
* *) tests: load the top-level mod_aptest in all test suites.Stefan Eissing2022-09-214-3/+13
| | | | | | | | | | | - aptest logs the test name from the header 'AP-Test-Name' with the request line. LogLevel aptest:info is switched on. - pytest sets 'AP-Test-Name' for all curl/nghttp invocation against the server. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904188 13f79535-47bb-0310-9956-ffa450edef68
* *) mod_proxy_http2: use only the ':authority' header to forward 'Host'Stefan Eissing2022-09-204-12/+53
| | | | | | | | | information to a backend. Deduce ':authority' from what the client sent when 'ProxyPreserveHost' is on. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904164 13f79535-47bb-0310-9956-ffa450edef68
* *) test mod_md: disabling test holding file lock as this fails in our CIStefan Eissing2022-09-101-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903959 13f79535-47bb-0310-9956-ffa450edef68
* mod_md v2.4.19 from github syncStefan Eissing2022-08-252-0/+74
| | | | | | | | | | | | | | | *) mod_md: a new directive `MDStoreLocks` can be used on cluster setups with a shared file system for `MDStoreDir` to order activation of renewed certificates when several cluster nodes are restarted at the same time. Store locks are not enabled by default. Restored curl_easy cleanup behaviour from v2.4.14 and refactored the use of curl_multi for OCSP requests to work with that. Fixes <https://github.com/icing/mod_md/issues/293>. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903677 13f79535-47bb-0310-9956-ffa450edef68
* *) mod_ssl: when a proxy connection had handled a request using SSL, anStefan Eissing2022-08-012-2/+28
| | | | | | | | | | error was logged when "SSLProxyEngine" was only configured in the location/proxy section and not the overall server. The connection continued to work, the error log was in error. Fixed PR66190. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903167 13f79535-47bb-0310-9956-ffa450edef68
* Make pytest error whitelist a bit more explicitRainer Jung2022-07-111-1/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902660 13f79535-47bb-0310-9956-ffa450edef68
* *) test/modules/http2: adding tests for response trailers withStefan Eissing2022-07-023-26/+178
| | | | | | | | | | | or without a body. This reproduces a bug reported in <https://github.com/icing/mod_h2/issues/233> where trailers are not sent on an empty response body. This is used in gRPC. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902408 13f79535-47bb-0310-9956-ffa450edef68
* Remove an empty line to synch with 2.4.xChristophe Jaillet2022-06-121-1/+0
| | | | | | [skip ci] git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1901842 13f79535-47bb-0310-9956-ffa450edef68
* *) test/modules/tls: remove some duplicate parameters forStefan Eissing2022-06-101-3/+0
| | | | | | | | test_15_proxy_tls_h2_vars. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1901804 13f79535-47bb-0310-9956-ffa450edef68
* *) mod_md: the `MDCertificateAuthority` directive can take more than one ↵Stefan Eissing2022-05-139-26/+144
| | | | | | | | | | | | | | URL/name of an ACME CA. This gives a failover for renewals when several consecutive attempts to get a certificate failed. A new directive was added: `MDRetryDelay` sets the delay of retries. A new directive was added: `MDRetryFailover` sets the number of errored attempts before an alternate CA is selected for certificate renewals. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1900852 13f79535-47bb-0310-9956-ffa450edef68
* *) mod_md: added support for managing certificates via aStefan Eissing2022-04-272-0/+192
| | | | | | | | | | local tailscale demon for users of that secure networking. This gives trusted certificates for tailscale assigned domain names in the *.ts.net space. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1900313 13f79535-47bb-0310-9956-ffa450edef68
* * Implement full auto status ("key: value" type status output).Stefan Eissing2022-04-191-6/+10
| | | | | | | | | | | Especially not only status summary counts for certificates and OCSP stapling but also lists. Auto status format is similar to what was used for mod_proxy_balancer. [Rainer Jung] git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1900039 13f79535-47bb-0310-9956-ffa450edef68
* *) mod_http2: using new session ids also in logging for connectionStefan Eissing2022-04-191-1/+1
| | | | | | | | contexts and bucket beams. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1900031 13f79535-47bb-0310-9956-ffa450edef68
* *) test: core stress test_core_002 enhanved to monitor dynamic childStefan Eissing2022-04-151-33/+128
| | | | | | | | changes on load and graceful reload of the server. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899885 13f79535-47bb-0310-9956-ffa450edef68
* test/core: Allow for 12 simultaneous connections in test_core_002_01.Yann Ylavic2022-04-141-8/+10
| | | | | | | | | It seems that h2load somehow issues more connections than the 6 requested (saw up to 12), so adapt the MPM event configuration accordingly. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899862 13f79535-47bb-0310-9956-ffa450edef68
* *) test/core: using rate periods for creating new connectionsStefan Eissing2022-04-141-9/+11
| | | | | | | | over time. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899846 13f79535-47bb-0310-9956-ffa450edef68
* *) test/core: start of a stress test case, skipped unlessStefan Eissing2022-04-144-3/+91
| | | | | | | | environment variable STRESS_TEST is present. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899845 13f79535-47bb-0310-9956-ffa450edef68
* *) mod_http2: use the new RESPONSE buckets introduced in r1899648.Stefan Eissing2022-04-071-13/+14
| | | | | | | | | | This replaces the internal H2_HEADERS bucket, removing its source file and also obsoletes any interim response parsing needs. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899649 13f79535-47bb-0310-9956-ffa450edef68
* *) mod_http: genereate HEADERS buckets for trailersStefan Eissing2022-04-0415-5/+695
| | | | | | | | | mod_proxy: forward trailers on chunked request encoding test: add http/1.x test cases in pytest git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899552 13f79535-47bb-0310-9956-ffa450edef68
* *) test: verify that HTTP/2 response carry `Date` andStefan Eissing2022-03-301-0/+9
| | | | | | | | `Server` headers. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899379 13f79535-47bb-0310-9956-ffa450edef68
* *) test: making pytest option --repeat global as otherwiseStefan Eissing2022-03-252-26/+0
| | | | | | | | there are conflicts when individual modules add that. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899198 13f79535-47bb-0310-9956-ffa450edef68
* *) test/modules/tls: make proxy tests repeatable.Stefan Eissing2022-03-252-3/+20
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899197 13f79535-47bb-0310-9956-ffa450edef68
* *) mod_http2: fixed a possible concurrency issue withStefan Eissing2022-03-241-3/+3
| | | | | | | | | | | registering h2_mplx at h2_workers. Improved h2_fifo internals efficiency inspired by ap_fdqueue. Made 711 tests repeatable. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899168 13f79535-47bb-0310-9956-ffa450edef68
* *) core: adding a new hook and method to the API:Stefan Eissing2022-03-181-3/+3
| | | | | | | | | | | | | | | | | create_secondary_connection and ap_create_secondary_connection() to setup connections related to a "master" one, as used in the HTTP/2 protocol implementation. *) mod_http2: using the new API calls to get rid of knowledge about how the core handles conn_rec specifics. Improvements in pollset stream handling to use less sets. Using atomic read/writes instead of volatiles now. Keeping a reserve of "transit" pools and bucket_allocs for use on secondary connections to avoid repeated setup/teardowns. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899032 13f79535-47bb-0310-9956-ffa450edef68
* *) test/modules/http2: enable tests again where they should be.Stefan Eissing2022-02-281-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1898473 13f79535-47bb-0310-9956-ffa450edef68
* *) test: check for the mpm module used and disable http2 testsStefan Eissing2022-02-2528-25/+57
| | | | | | | | for prefork. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1898417 13f79535-47bb-0310-9956-ffa450edef68
* *) test/modules/http2. convert bytes to string beforeStefan Eissing2022-02-241-1/+1
| | | | | | | | writing output of a failed transfer to file. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1898373 13f79535-47bb-0310-9956-ffa450edef68