curl/tests
Stefan Eissing 84ecfb3ecc
FTP: fix TLS session reuse on the data connection
FTP servers using SSL can be configured to check TLS session reuse on
the DATA connection. They hand out a new session on every CONTROL
connect and require to see the client using exactly that one when
up-/downloading on DATA.

This means:

1. We have to configure the SSL filter on the DATA connection with
   exactly the same peers.

2. We have to remember the SSL session on the CONTROL connection -
   separately from the session cache. The SSL filter on the DATA
   connection then looks for a session at the CONTROL filter and, if
   present, uses that.

Tests:

Enable `require_ssl_reuse` in our pytest setup for vsftpd. This
reproduces the problem reported in #22225 and verifies the fix.

Skip ftp+SSL pytests for rustls, as we have no possibility to reuse
sessions in that backend.

Schannel: we do not run these tests with the backend. I expect it has
similar problems but am not able to verify.

Reported-by: Laurent Sabourin
Fixes #22225
Closes #22246
2026-07-02 17:39:04 +02:00
..
certs cmake: replace deprecated remove command with rm and pass arg safely 2026-06-26 19:01:30 +02:00
cmake scripts: use end-of-options marker in cd, mkdir, mv, sha256sum commands 2026-06-25 11:32:36 +02:00
data tests: pin connection reuse rules for partial, host, and credentials 2026-06-30 09:57:00 +02:00
http FTP: fix TLS session reuse on the data connection 2026-07-02 17:39:04 +02:00
libtest build: always use local inet_pton()/inet_ntop() implementations 2026-06-27 01:24:39 +02:00
server build: always use local inet_pton()/inet_ntop() implementations 2026-06-27 01:24:39 +02:00
tunit build: enable -Wformat-signedness, fix issues found 2026-06-10 15:14:08 +02:00
unit build: always use local inet_pton()/inet_ntop() implementations 2026-06-27 01:24:39 +02:00
.gitignore build: stop building and installing runtests.1 and testcurl.1 2026-04-28 09:07:27 +02:00
allversions.pm tidy-up: syntax and code nits 2026-06-26 15:45:24 +02:00
appveyor.pm perl: switch from backticks to qx() 2026-06-14 14:25:02 +02:00
azure.pm perl: switch from backticks to qx() 2026-06-14 14:25:02 +02:00
CMakeLists.txt cmake: fix not to build tunits when BUILD_CURL_EXE=OFF 2026-06-26 21:12:35 +02:00
config.in
configurehelp.pm.in
devtest.pl perl: switch from backticks to qx() 2026-06-14 14:25:02 +02:00
dictserver.py tests: make whitespace between functions and classes consistent 2026-04-08 10:28:05 -07:00
directories.pm tidy-up: miscellaneous 2025-12-12 04:18:48 +01:00
ech_combos.py tidy-up: add space around operators, where missing 2026-05-28 10:12:00 +02:00
ech_tests.sh scripts: use end-of-options marker in cd, mkdir, mv, sha256sum commands 2026-06-25 11:32:36 +02:00
ftpserver.pl tidy-up: docs, comments, typos, whitespace 2026-06-26 11:36:09 +02:00
getpart.pm perl: || die -> or die 2026-06-16 00:41:29 +02:00
globalconfig.pm tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
http-server.pl tidy-up: miscellaneous 2026-06-01 22:33:57 +02:00
http2-server.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
http3-server.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
Makefile.am tidy-up: syntax and code nits 2026-06-26 15:45:24 +02:00
memanalyze.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
memanalyzer.pm tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
negtelnetserver.py tidy-up: miscellaneous 2026-06-01 22:33:57 +02:00
nghttpx.conf
pathhelp.pm tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
processhelp.pm tidy-up: miscellaneous 2026-06-14 20:10:28 +02:00
requirements.txt GHA: bump actions and pips 2026-05-01 21:19:22 +02:00
rtspserver.pl tidy-up: miscellaneous 2026-06-01 22:33:57 +02:00
runner.pm perl: open... || -> open... or (cont.) 2026-06-16 19:11:15 +02:00
runtests.pl tidy-up: docs, comments, typos, whitespace 2026-06-26 11:36:09 +02:00
secureserver.pl perl: || die -> or die 2026-06-16 00:41:29 +02:00
serverhelp.pm tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
servers.pm perl: || die -> or die 2026-06-16 00:41:29 +02:00
smbserver.py tidy-up: miscellaneous 2026-06-11 19:48:07 +02:00
sshhelp.pm perl: switch from backticks to qx() 2026-06-14 14:25:02 +02:00
sshserver.pl perl: || die -> or die 2026-06-16 00:41:29 +02:00
test745.pl perl: || die -> or die 2026-06-16 00:41:29 +02:00
test971.pl perl: || die -> or die 2026-06-16 00:41:29 +02:00
test1119.pl perl: open... || -> open... or (cont.) 2026-06-16 19:11:15 +02:00
test1135.pl perl: || die -> or die 2026-06-16 00:41:29 +02:00
test1139.pl tidy-up: docs, comments, typos, whitespace 2026-06-26 11:36:09 +02:00
test1140.pl tidy-up: docs, comments, typos, whitespace 2026-06-26 11:36:09 +02:00
test1165.pl perl: || die -> or die 2026-06-16 00:41:29 +02:00
test1167.pl perl: open... || -> open... or (cont.) 2026-06-16 19:11:15 +02:00
test1173.pl perl: open... || -> open... or (cont.) 2026-06-16 19:11:15 +02:00
test1175.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
test1177.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
test1222.pl perl: open... || -> open... or (cont.) 2026-06-16 19:11:15 +02:00
test1275.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
test1276.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
test1477.pl perl: || die -> or die 2026-06-16 00:41:29 +02:00
test1486.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
test1488.pl perl: open... || -> open... or (cont.) 2026-06-16 19:11:15 +02:00
test1544.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
test1707.pl tidy-up: syntax and code nits 2026-06-26 15:45:24 +02:00
testcurl.pl perl: switch from backticks to qx() 2026-06-14 14:25:02 +02:00
testutil.pm tidy-up: syntax and code nits 2026-06-26 15:45:24 +02:00
tftpserver.pl tidy-up: miscellaneous 2026-06-01 22:33:57 +02:00
util.py tests: make whitespace between functions and classes consistent 2026-04-08 10:28:05 -07:00
valgrind.pm perl: open... || -> open... or (cont.) 2026-06-16 19:11:15 +02:00
valgrind.supp