#
0d475da1 |
| 29-Oct-2024 |
Stefan Eissing |
pytest: fix run against multissl curl Changes to make a curl built with OpenSSL + GnuTLS to run successfully in our pytests. Run CURL_SSL_BACKEND=openssl pytest to test
pytest: fix run against multissl curl Changes to make a curl built with OpenSSL + GnuTLS to run successfully in our pytests. Run CURL_SSL_BACKEND=openssl pytest to test a TLS backend other than the default. Closes #15443
show more ...
|
#
8cb2d5f4 |
| 22-Oct-2024 |
Stefan Eissing |
quic: use the session cache with wolfSSL as well Use session cache for QUIC when built with quictls or wolfSSL. Add test_017_10 for verifying QUIC TLS session reuse when built with
quic: use the session cache with wolfSSL as well Use session cache for QUIC when built with quictls or wolfSSL. Add test_017_10 for verifying QUIC TLS session reuse when built with quictls, gnutls or wolfssl. Closes #15358
show more ...
|
#
358eae42 |
| 24-Oct-2024 |
Stefan Eissing |
bearssl: improved session handling, test exceptions Add length to session saves, making it clear that we are storing a byte blob and allowing memcmp() on sameness check. Remove
bearssl: improved session handling, test exceptions Add length to session saves, making it clear that we are storing a byte blob and allowing memcmp() on sameness check. Remove some pytest skips for bearssl to see if they now work properly in CI. Closes #15395
show more ...
|
#
943df95a |
| 22-Oct-2024 |
Stefan Eissing |
CI: run with standard mod_http2 We used to include a special mod_h2 in our CI that supports the directive H2MaxDataFrameLen for test_02_20. Since then, ubuntu-lastest includes a more
CI: run with standard mod_http2 We used to include a special mod_h2 in our CI that supports the directive H2MaxDataFrameLen for test_02_20. Since then, ubuntu-lastest includes a more recent apache httpd. Let's see if we can live without the special. Closes #15353
show more ...
|
#
fe8399f0 |
| 11-Oct-2024 |
Stefan Eissing |
gnutls: use session cache for QUIC Add session reuse for QUIC transfers using GnuTLS. This does not include support for TLS early data, yet. Fix check of early data support in c
gnutls: use session cache for QUIC Add session reuse for QUIC transfers using GnuTLS. This does not include support for TLS early data, yet. Fix check of early data support in common GnuTLS init code to not access the filter context, as the struct varies between TCP and QUIC connections. Closes #15265
show more ...
|
#
962097b8 |
| 09-Oct-2024 |
Stefan Eissing |
TLS: TLSv1.3 earlydata support for curl Based on #14135, implement TLSv1.3 earlydata support for the curl command line, libcurl and its implementation in GnuTLS. If a known TLS
TLS: TLSv1.3 earlydata support for curl Based on #14135, implement TLSv1.3 earlydata support for the curl command line, libcurl and its implementation in GnuTLS. If a known TLS session announces early data support, and the feature is enabled *and* it is not a "connect-only" transfer, delay the TLS handshake until the first request is being sent. - Add --tls-earldata as new boolean command line option for curl. - Add CURLSSLOPT_EARLYDATA to libcurl to enable use of the feature. - Add CURLINFO_EARLYDATA_SENT_T to libcurl, reporting the amount of bytes sent and accepted/rejected by the server. Implementation details: - store the ALPN protocol selected at the SSL session. - When reusing the session and enabling earlydata, use exactly that ALPN protocol for negoptiation with the server. When the sessions ALPN does not match the connections ALPN, earlydata will not be enabled. - Check that the server selected the correct ALPN protocol for an earlydata connect. If the server does not confirm or reports something different, the connect fails. - HTTP/2: delay sending the initial SETTINGS frames during connect, if not connect-only. Verification: - add test_02_32 to verify earlydata GET with nghttpx. - add test_07_70 to verify earlydata PUT with nghttpx. - add support in 'hx-download', 'hx-upload' clients for the feature Assisted-by: ad-chaos on github Closes #15211
show more ...
|
#
0f7ba5c5 |
| 26-Sep-2024 |
Dan Fandrich |
tests: change Python code style to pass ruff checks Most of the changes consisted of removing unused imports and unnecessary f-strings.
|
#
bef0acaf |
| 13-Sep-2024 |
Stefan Eissing |
request: correctly reset the eos_sent flag Add test cases Bug: https://marc.info/?l=git&m=172620452502747&w=2 Reported-by: Patrick Steinhardt Closes #14895
|
#
4c744c3e |
| 26-Aug-2024 |
Stefan Eissing |
tests/http: add HTTP/2 Upgrade and prior knowledge tests Adds test cases to check that plain http: with HTTP/2 works via 'Upgrade: h2c' or --http2-prior-knowledge'. Also added t
tests/http: add HTTP/2 Upgrade and prior knowledge tests Adds test cases to check that plain http: with HTTP/2 works via 'Upgrade: h2c' or --http2-prior-knowledge'. Also added tests to check connection reused in these situations. Closes #14694
show more ...
|
#
ea6f5c9f |
| 27-Aug-2024 |
Stefan Eissing |
connect: limit update IP info Update IP related information at the connection and the transfer in two places only: once the filter chain connects and when a transfer is added to a co
connect: limit update IP info Update IP related information at the connection and the transfer in two places only: once the filter chain connects and when a transfer is added to a connection. The latter only updates on reuse when the filters already are connected. The only user of that information before a full connect is the HAProxy filter. Add cfilter CF_QUERY_IP_INFO query to let it find the information from the filters "below". This solves two issues with the previous version: - updates where often done twice with the same info - happy eyeballing filter "forks" could overwrite each others updates before the full winner was determined. Closes #14699
show more ...
|
#
0ae3fadb |
| 26-Aug-2024 |
Stefan Eissing |
pytest: tweak counts Lower some iteration counts for tests where they do not seem to add value. Raise speed limits somewhat to shave off a second or two. Closes #14689
|
#
b102763c |
| 06-Aug-2024 |
Stefan Eissing |
curl: fix --test-event --parallel (in debug-builds) Fix implementation in curl using libuv to process parallel transfers. Add pytest capabilities to run test cases with --test-e
curl: fix --test-event --parallel (in debug-builds) Fix implementation in curl using libuv to process parallel transfers. Add pytest capabilities to run test cases with --test-event. - fix uv_timer handling to carry correct 'data' pointing to uv context. - fix uv_loop handling to reap and add transfers when possible - fix return code when a transfer errored Closes #14413
show more ...
|
#
34555724 |
| 15-May-2024 |
Stefan Eissing |
pytest: fixes for recent python, add FTP tests Fixes: - in uds tests, abort also silently on os errors - be conservative on the h3 goaway duration - detect curl debug build and u
pytest: fixes for recent python, add FTP tests Fixes: - in uds tests, abort also silently on os errors - be conservative on the h3 goaway duration - detect curl debug build and use in checks - fix caddy version check for slight difference under linux - set caddy default path fitting for linux - fix deprecation warnings in valid time checks FTP tests: - add '--with-test-vsftpd=path' to configure - use vsftpd default path suitable for linux - add test_30 with plain FTP tests - add test_31 with --ssl-reqd FTP tests - add vsftpd to linux GHA for pytest workflows Closes #13661
show more ...
|
#
22d8ce19 |
| 14-May-2024 |
Stefan Eissing |
http tests: in CI skip test_02_23* for quiche For unknown reasons, these tests fail in CI often, but run fine locally. Skip them in CI to avoid unrelated PRs to have failures. C
http tests: in CI skip test_02_23* for quiche For unknown reasons, these tests fail in CI often, but run fine locally. Skip them in CI to avoid unrelated PRs to have failures. Closes #13638
show more ...
|
#
5c59f914 |
| 18-Apr-2024 |
Stefan Eissing |
http2 + ngtcp2: pass CURLcode errors from callbacks - errors returned by Curl_xfer_write_resp() and the header variant are not errors in the protocol. The result needs to be returned o
http2 + ngtcp2: pass CURLcode errors from callbacks - errors returned by Curl_xfer_write_resp() and the header variant are not errors in the protocol. The result needs to be returned on the next recv() from the protocol filter. - make xfer write errors for response data cause the stream to be cancelled - added pytest test_02_14 and test_02_15 to verify that also for parallel processing Reported-by: Laramie Leavitt Fixes #13411 Closes #13424
show more ...
|
#
08d10d2a |
| 15-Apr-2024 |
Stefan Eissing |
http3: extend download abort tests, fixes in ngtcp2 - fix flow handling in ngtcp2 to ACK data on streams we abort ourself. - extend test_02_23* cases to also run for h3 - skip
http3: extend download abort tests, fixes in ngtcp2 - fix flow handling in ngtcp2 to ACK data on streams we abort ourself. - extend test_02_23* cases to also run for h3 - skip test_02_23* for OpenSSL QUIC as it gets stalled on progressing the connection Closes #13374
show more ...
|
#
270a25c0 |
| 10-Apr-2024 |
Stefan Eissing |
cw-out: improved error handling - remember error encountered in invoking write callback and always fail afterwards without further invokes - check behaviour in test_02_17 with
cw-out: improved error handling - remember error encountered in invoking write callback and always fail afterwards without further invokes - check behaviour in test_02_17 with h2-pausing client Reported-by: Pavel Kropachev Fixes #13337 Closes #13340
show more ...
|
#
f81f6020 |
| 16-Apr-2024 |
Viktor Szakats |
tidy-up: whitespace [ci skip]
|
#
32101010 |
| 22-Mar-2024 |
Stefan Eissing |
tls: use shared init code for TCP+QUIC Closes #13172
|
#
1302aa6b |
| 05-Apr-2024 |
Stefan Eissing |
http2: emit RST when client write fails - When the writing of response data fails, reset the stream and do not return a callback error to nghttp2. That would be a fatal error for
http2: emit RST when client write fails - When the writing of response data fails, reset the stream and do not return a callback error to nghttp2. That would be a fatal error for the connection and harm other requests. - add test cases for various abort scenarios Reported-by: Konstantin Kuzov Fixes #13292 Closes #13298
show more ...
|
#
b30d694a |
| 28-Mar-2024 |
Stefan Eissing |
content_encoding: brotli and others, pass through 0-length writes - curl's transfer handling may write 0-length chunks at the end of the download with an EOS flag. (HTTP/2 does this co
content_encoding: brotli and others, pass through 0-length writes - curl's transfer handling may write 0-length chunks at the end of the download with an EOS flag. (HTTP/2 does this commonly) - content encoders need to pass-through such a write and not count this as error in case they are finished decoding Fixes #13209 Fixes #13212 Closes #13219
show more ...
|
#
ca6bafce |
| 06-Dec-2023 |
Stefan Eissing |
test_02_download: fix paramters to test_02_27 - it is a special client that only ever uses http/2 Closes #12467
|
#
7e1c0851 |
| 02-Nov-2023 |
Stefan Eissing |
pytest: use lower count in repeat tests - lower large iteration counts in some tests somewhat for the same coverage with less duration Closes #12248
|
#
6b9a591b |
| 29-Sep-2023 |
Stefan Eissing |
h2: testcase and fix for pausing h2 streams - refs #11982 where it was noted that paused transfers may close successfully without delivering the complete data - made sample poc int
h2: testcase and fix for pausing h2 streams - refs #11982 where it was noted that paused transfers may close successfully without delivering the complete data - made sample poc into tests/http/client/h2-pausing.c and added test_02_27 to reproduce Closes #11989 Fixes #11982 Reported-by: Harry Sintonen
show more ...
|
#
3b30cc1a |
| 06-Sep-2023 |
Stefan Eissing |
pytest: improvements - set CURL_CI for pytest runs in CI environments - exclude timing sensitive tests from CI runs - for failed results, list only the log and stat of the fail
pytest: improvements - set CURL_CI for pytest runs in CI environments - exclude timing sensitive tests from CI runs - for failed results, list only the log and stat of the failed transfer - fix type in http.c comment Closes #11812
show more ...
|