curl/tests
Stefan Eissing 73daec6620
lib: transfer origin and proxy handling
Add `data->state.origin` as the origin the transfer is sending the
current request to/gets the response from. Use it for request specific
properties like authentication, hsts and cookie handling, etc.

Unless talking to a forwarding HTTP proxy (e.g. not tunneling),
`data->state.origin` and `conn->origin` are the same.

With a forwarding HTTP proxy in play, `conn->origin` is set to
`conn->http_proxy.peer` and `conn->bits.origin_is_proxy` (a new bit) is
set.

Remove the connection bits, now replaced with:

* `conn->bits.socksproxy` -> `conn->socks_proy.peer`
* `conn->bits.httpproxy` -> `conn->http_proy.peer`
* `conn->bits.proxy` -> `(conn->socks_proy.peer || conn->http_proy.peer`)
* `conn->bits.tunnel_proxy` -> (`conn->http_proy.peer && !conn->bits.origin_is_proxy`)
* `(conn->bits.httpproxy && !conn->bits.tunnel_proxy)` -> `conn->bits.origin_is_proxy`

Rename `noproxy.[ch]` to `proxy.[ch]`. Move the connection proxy setup
code from `url.c` to `proxy.c`.

Remove `data->info.conn_remote_port` as no one uses it.

Add test_40_02b for a SOCKS connection to a forwarding HTTPS proxy.

Update internal documentation about peers and creds.

Closes #21967
2026-06-12 23:52:00 +02:00
..
certs tidy-up: miscellaneous 2026-06-01 22:33:57 +02:00
cmake cmake: add CMake Config-based dependency detection 2026-03-21 18:52:31 +01:00
data config2setopts: use default protocol properly 2026-06-12 12:57:15 +02:00
http lib: transfer origin and proxy handling 2026-06-12 23:52:00 +02:00
libtest AmigaOS: fix build fallouts, re-add to CI 2026-06-12 20:27:44 +02:00
server socket: introduce SOCK_EAGAIN() and use it 2026-06-12 23:27:23 +02:00
tunit build: enable -Wformat-signedness, fix issues found 2026-06-10 15:14:08 +02:00
unit lib: transfer origin and proxy handling 2026-06-12 23:52:00 +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: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
appveyor.pm tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
azure.pm tidy-up: miscellaneous 2026-05-20 00:50:43 +02:00
CMakeLists.txt cmake: add basic way to select pytests to run 2026-06-01 15:07:17 +02:00
config.in
configurehelp.pm.in build: use configurehelp.pm.in with autotools and cmake 2024-09-21 12:21:14 +02:00
devtest.pl tidy-up: miscellaneous 2026-05-16 01:56:17 +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 tidy-up: miscellaneous 2026-06-01 22:33:57 +02:00
ftpserver.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
getpart.pm tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +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: miscellaneous 2026-01-15 13:06:13 +01: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: add space around operators, where missing 2026-05-28 10:12:00 +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 tests: add an assert to avoid IPC blocking 2026-05-20 11:32:38 -07:00
runtests.pl runtests: exit hard on duplicate test name 2026-06-12 15:33:57 +02:00
secureserver.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
serverhelp.pm tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
servers.pm tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
smbserver.py tidy-up: miscellaneous 2026-06-11 19:48:07 +02:00
sshhelp.pm runtests: allow configuring SSH host/client key algorithm 2026-04-05 11:19:42 +02:00
sshserver.pl tidy-up: miscellaneous 2026-06-01 22:33:57 +02:00
test745.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
test971.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
test1119.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
test1135.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
test1139.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
test1140.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
test1165.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
test1167.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
test1173.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +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 tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +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 tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
test1486.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
test1488.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
test1544.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
test1707.pl perl: harden external command invocations 2026-03-26 14:20:07 +01:00
testcurl.pl tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +02:00
testutil.pm tidy-up: add spaces around equal operators where missing 2026-06-11 19:52:01 +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 scripts: drop redundant double-quotes: "$var" -> $var (Perl) 2026-03-21 13:21:06 +01:00
valgrind.supp hyper: drop support 2024-12-21 11:33:05 +01:00