curl/lib
Stefan Eissing 70281e39be
haproxy: use correct ip version on client supplied address
When a user supplies an IP address to use for the HAPROXY protocol,
the IP version reported must be deduced from the address and has
no relation to the IP version used for the upstream connection.

Add test3220 to verify.

Fixes #21340
Reported-by: Fiona Klute
Closes #21341
2026-04-17 10:01:49 +02:00
..
curlx clang-tidy: enable more checks, fix fallouts 2026-04-14 02:20:16 +02:00
vauth clang-tidy: enable more checks, fix fallouts 2026-04-14 02:20:16 +02:00
vquic build: fix -Wformat-signedness by adjusting printf masks 2026-04-16 10:32:50 +02:00
vssh libssh2: allocate libssh2-friendly memory in kbd_callback 2026-04-16 10:35:32 +02:00
vtls vtls_scache: rename CURLcode variable to result 2026-04-16 22:57:17 +02:00
.gitignore
altsvc.c build: fix -Wformat-signedness by adjusting printf masks 2026-04-16 10:32:50 +02:00
altsvc.h altsvc: cap the list at 5,000 entries 2026-04-01 12:05:47 +02:00
amigaos.c share: concurrency handling, easy updates 2026-03-21 14:42:49 +01:00
amigaos.h
arpa_telnet.h
asyn-ares.c lib: rename more CURLcode variables to 'result' 2026-04-16 22:50:52 +02:00
asyn-base.c tidy-up: rename Curl_safefree()/tool_safefree() to curlx_safefree() 2026-04-01 19:53:53 +02:00
asyn-thrdd.c test dnsd: implement delayed responses 2026-04-14 16:49:07 +02:00
asyn.h tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
bufq.c
bufq.h badwords: rework exceptions, fix many of them 2026-03-12 01:01:16 +01:00
bufref.c
bufref.h
cf-dns.c unittests: cleanups 2026-04-15 23:32:38 +02:00
cf-dns.h unittests: cleanups 2026-04-15 23:32:38 +02:00
cf-h1-proxy.c lib: move request specific allocations to the request struct 2026-04-13 23:23:34 +02:00
cf-h1-proxy.h
cf-h2-proxy.c build: fix -Wformat-signedness by adjusting printf masks 2026-04-16 10:32:50 +02:00
cf-h2-proxy.h
cf-haproxy.c haproxy: use correct ip version on client supplied address 2026-04-17 10:01:49 +02:00
cf-haproxy.h
cf-https-connect.c dnsd: implement HTTPS-RR with alpn pref and no-default-alpn 2026-04-16 22:53:20 +02:00
cf-https-connect.h cf-dns: connection filter for DNS queries 2026-03-30 13:28:38 +02:00
cf-ip-happy.c build: fix -Wformat-signedness by adjusting printf masks 2026-04-16 10:32:50 +02:00
cf-ip-happy.h cf-dns: connection filter for DNS queries 2026-03-30 13:28:38 +02:00
cf-socket.c pytest_05_09: increase reliability 2026-04-16 22:52:13 +02:00
cf-socket.h cf-dns: connection filter for DNS queries 2026-03-30 13:28:38 +02:00
cfilters.c unittests: cleanups 2026-04-15 23:32:38 +02:00
cfilters.h getinfo: repair CURLINFO_TLS_SESSION 2026-04-11 16:56:22 +02:00
CMakeLists.txt cmake: use AIX built-in variable (with CMake 4.0+) 2026-03-30 13:05:17 +02:00
config-mac.h src: drop detecting and redefining system symbol ftruncate 2026-03-30 13:46:14 +02:00
config-os400.h tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
config-riscos.h src: drop detecting and redefining system symbol ftruncate 2026-03-30 13:46:14 +02:00
config-win32.h tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
conncache.c lib: reserve 'result' for CURLcode, even more 2026-04-07 07:48:58 +02:00
conncache.h lib: reserve 'result' for CURLcode 2026-04-06 23:12:06 +02:00
connect.c unittests: cleanups 2026-04-15 23:32:38 +02:00
connect.h unittests: cleanups 2026-04-15 23:32:38 +02:00
content_encoding.c build: fix -Wformat-signedness by adjusting printf masks 2026-04-16 10:32:50 +02:00
content_encoding.h
cookie.c lib: rename more CURLcode variables to 'result' 2026-04-16 22:50:52 +02:00
cookie.h tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
cshutdn.c connection bits: move 'connect_only' here 2026-03-17 15:01:29 +01:00
cshutdn.h badwords: rework exceptions, fix many of them 2026-03-12 01:01:16 +01:00
curl_addrinfo.c cf-dns: connection filter for DNS queries 2026-03-30 13:28:38 +02:00
curl_addrinfo.h cf-dns: connection filter for DNS queries 2026-03-30 13:28:38 +02:00
curl_config-cmake.h.in curl_ntlm_core: use wolfCrypt DES API with wolfSSL 2026-04-07 11:58:30 +02:00
curl_ctype.h tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
curl_endian.c
curl_endian.h
curl_fnmatch.c
curl_fnmatch.h
curl_fopen.c fopen: for temp files, inherit permissions only for owner 2026-03-30 18:39:12 +02:00
curl_fopen.h
curl_get_line.c curl_get_line: error out on read errors 2026-03-17 16:14:08 +01:00
curl_get_line.h
curl_gethostname.c
curl_gethostname.h
curl_gssapi.c tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
curl_gssapi.h clang-tidy: enable more checks, fix fallouts 2026-04-14 02:20:16 +02:00
curl_hmac.h lib: accept larger input to md5/hmac/sha256/sha512 functions 2026-03-31 17:19:56 +02:00
curl_ldap.h protocol source, all about protocols and uri schemes 2026-03-16 08:39:02 +01:00
curl_md4.h
curl_md5.h lib: accept larger input to md5/hmac/sha256/sha512 functions 2026-03-31 17:19:56 +02:00
curl_memrchr.c
curl_memrchr.h
curl_ntlm_core.c tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
curl_ntlm_core.h
curl_printf.h
curl_range.c
curl_range.h
curl_sasl.c urldata: import port types and conn destination format 2026-03-15 12:02:26 +01:00
curl_sasl.h
curl_setup.h clang-tidy: enable more checks, fix fallouts 2026-04-14 02:20:16 +02:00
curl_sha256.h lib: accept larger input to md5/hmac/sha256/sha512 functions 2026-03-31 17:19:56 +02:00
curl_sha512_256.c lib: rename more CURLcode variables to 'result' 2026-04-16 22:50:52 +02:00
curl_sha512_256.h
curl_share.c share: do bitshifts after the type is checked to be valid 2026-04-05 16:07:54 +02:00
curl_share.h share: concurrency handling, easy updates 2026-03-21 14:42:49 +01:00
curl_sspi.c tidy-up: rename Curl_safefree()/tool_safefree() to curlx_safefree() 2026-04-01 19:53:53 +02:00
curl_sspi.h
curl_threads.c tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
curl_threads.h tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
curl_trc.c lib: make resolving HTTPS DNS records reliable: 2026-04-01 15:36:31 +02:00
curl_trc.h lib: make resolving HTTPS DNS records reliable: 2026-04-01 15:36:31 +02:00
cw-out.c build: fix -Wformat-signedness by adjusting printf masks 2026-04-16 10:32:50 +02:00
cw-out.h
cw-pause.c
cw-pause.h
dict.c tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
dict.h protocol source, all about protocols and uri schemes 2026-03-16 08:39:02 +01:00
dllmain.c
dnscache.c unittests: cleanups 2026-04-15 23:32:38 +02:00
dnscache.h clang-tidy: enable more checks, fix fallouts 2026-04-14 02:20:16 +02:00
doh.c unittests: cleanups 2026-04-15 23:32:38 +02:00
doh.h clang-tidy: enable more checks, fix fallouts 2026-04-14 02:20:16 +02:00
dynhds.c unittests: cleanups 2026-04-15 23:32:38 +02:00
dynhds.h lib: move all UNITTEST prototypes to C files (cont.) 2026-03-21 13:14:46 +01:00
easy.c clang-tidy: enable more checks, fix fallouts 2026-04-14 02:20:16 +02:00
easy_lock.h tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
easygetopt.c tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
easyif.h
easyoptions.c
easyoptions.h
escape.c clang-tidy: enable more checks, fix fallouts 2026-04-14 02:20:16 +02:00
escape.h
fake_addrinfo.c lib: reserve 'result' for CURLcode 2026-04-06 23:12:06 +02:00
fake_addrinfo.h
file.c tidy-up: rename Curl_safefree()/tool_safefree() to curlx_safefree() 2026-04-01 19:53:53 +02:00
file.h protocol source, all about protocols and uri schemes 2026-03-16 08:39:02 +01:00
fileinfo.c
fileinfo.h
formdata.c lib: rename more CURLcode variables to 'result' 2026-04-16 22:50:52 +02:00
formdata.h
ftp-int.h protocol source, all about protocols and uri schemes 2026-03-16 08:39:02 +01:00
ftp.c build: fix -Wformat-signedness by adjusting printf masks 2026-04-16 10:32:50 +02:00
ftp.h protocol source, all about protocols and uri schemes 2026-03-16 08:39:02 +01:00
ftplistparser.c tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
ftplistparser.h
functypes.h
getenv.c
getinfo.c getinfo: repair CURLINFO_TLS_SESSION 2026-04-11 16:56:22 +02:00
getinfo.h
gopher.c protocol source, all about protocols and uri schemes 2026-03-16 08:39:02 +01:00
gopher.h protocol source, all about protocols and uri schemes 2026-03-16 08:39:02 +01:00
hash.c tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
hash.h tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
headers.c clang-tidy: enable more checks, fix fallouts 2026-04-14 02:20:16 +02:00
headers.h badwords: rework exceptions, fix many of them 2026-03-12 01:01:16 +01:00
hmac.c tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
hostip.c unittests: cleanups 2026-04-15 23:32:38 +02:00
hostip.h unittests: cleanups 2026-04-15 23:32:38 +02:00
hostip4.c tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
hostip6.c lib: make resolving HTTPS DNS records reliable: 2026-04-01 15:36:31 +02:00
hsts.c hsts: make the HSTS read callback handle name dupes 2026-04-02 18:01:20 +02:00
hsts.h hsts: accept 10K entries in the list 2026-04-02 10:22:35 +02:00
http.c lib: rename more CURLcode variables to 'result' 2026-04-16 22:50:52 +02:00
http.h tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
http1.c
http1.h
http2.c urlapi: same origin tests 2026-04-16 15:00:43 +02:00
http2.h http: refactor http_on_response into sub functions 2026-03-31 23:53:45 +02:00
http_aws_sigv4.c unittests: cleanups 2026-04-15 23:32:38 +02:00
http_aws_sigv4.h lib: move all UNITTEST prototypes to C files 2026-03-20 07:47:57 +01:00
http_chunks.c tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
http_chunks.h
http_digest.c lib: move request specific allocations to the request struct 2026-04-13 23:23:34 +02:00
http_digest.h
http_negotiate.c lib: move request specific allocations to the request struct 2026-04-13 23:23:34 +02:00
http_negotiate.h
http_ntlm.c lib: rename more CURLcode variables to 'result' 2026-04-16 22:50:52 +02:00
http_ntlm.h
http_proxy.c lib: move request specific allocations to the request struct 2026-04-13 23:23:34 +02:00
http_proxy.h urldata: import port types and conn destination format 2026-03-15 12:02:26 +01:00
httpsrr.c tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
httpsrr.h tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
idn.c tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
idn.h
if2ip.c gcc: guard #pragma diagnostic in core code for <4.6, disable picky warnings 2026-03-18 11:33:37 +01:00
if2ip.h
imap.c build: fix -Wformat-signedness by adjusting printf masks 2026-04-16 10:32:50 +02:00
imap.h protocol source, all about protocols and uri schemes 2026-03-16 08:39:02 +01:00
ldap.c lib: rename more CURLcode variables to 'result' 2026-04-16 22:50:52 +02:00
libcurl.def
libcurl.rc
libcurl.vers.in
llist.c unittests: cleanups 2026-04-15 23:32:38 +02:00
llist.h lib: move all UNITTEST prototypes to C files (cont.) 2026-03-21 13:14:46 +01:00
macos.c
macos.h
Makefile.am Makefile.am: replace stray := with = [ci skip] 2026-04-06 02:52:08 +02:00
Makefile.inc cf-dns: connection filter for DNS queries 2026-03-30 13:28:38 +02:00
Makefile.soname badwords: rework exceptions, fix many of them 2026-03-12 01:01:16 +01:00
md4.c tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
md5.c tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
memdebug.c lib: add thread pool and queue 2026-03-23 23:03:58 +01:00
mime.c lib: rename more CURLcode variables to 'result' 2026-04-16 22:50:52 +02:00
mime.h
mprintf.c clang-tidy: enable more checks, fix fallouts 2026-04-14 02:20:16 +02:00
mqtt.c tidy-up: rename Curl_safefree()/tool_safefree() to curlx_safefree() 2026-04-01 19:53:53 +02:00
mqtt.h protocol source, all about protocols and uri schemes 2026-03-16 08:39:02 +01:00
multi.c build: fix -Wformat-signedness by adjusting printf masks 2026-04-16 10:32:50 +02:00
multi_ev.c build: fix -Wformat-signedness by adjusting printf masks 2026-04-16 10:32:50 +02:00
multi_ev.h
multi_ntfy.c
multi_ntfy.h
multihandle.h lib: make resolving HTTPS DNS records reliable: 2026-04-01 15:36:31 +02:00
multiif.h
netrc.c tidy-up: rename Curl_safefree()/tool_safefree() to curlx_safefree() 2026-04-01 19:53:53 +02:00
netrc.h netrc: remove unused parsenetrc() macro for netrc-disabled 2026-03-23 10:19:08 +01:00
noproxy.c unittests: cleanups 2026-04-15 23:32:38 +02:00
noproxy.h lib: move all UNITTEST prototypes to C files 2026-03-20 07:47:57 +01:00
openldap.c lib: rename more CURLcode variables to 'result' 2026-04-16 22:50:52 +02:00
optiontable.pl optiontable: replace stdin with filename arg, harden open() call 2026-03-19 15:06:43 +01:00
parsedate.c parsedate: bsearch the time zones 2026-04-08 12:00:59 +02:00
parsedate.h
pingpong.c pingpong: cleanup timeleft handling 2026-03-11 23:30:05 +01:00
pingpong.h pingpong: cleanup timeleft handling 2026-03-11 23:30:05 +01:00
pop3.c tidy-up: rename Curl_safefree()/tool_safefree() to curlx_safefree() 2026-04-01 19:53:53 +02:00
pop3.h protocol source, all about protocols and uri schemes 2026-03-16 08:39:02 +01:00
progress.c unittests: cleanups 2026-04-15 23:32:38 +02:00
progress.h progress: count amount of data "delivered" to application 2026-03-21 23:21:55 +01:00
protocol.c tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
protocol.h rtmp: drop support 2026-03-21 14:56:06 +01:00
psl.c
psl.h
rand.c rand: use BCryptGenRandom() in UWP builds 2026-03-18 14:47:39 +01:00
rand.h clang-tidy: enable more checks, fix fallouts 2026-04-14 02:20:16 +02:00
ratelimit.c ratelimit: reset on start 2026-03-24 16:25:53 +01:00
ratelimit.h ratelimit: reset on start 2026-03-24 16:25:53 +01:00
request.c urldata: move cookiehost to struct SingleRequest 2026-04-14 16:59:11 +02:00
request.h urldata: move cookiehost to struct SingleRequest 2026-04-14 16:59:11 +02:00
rtsp.c lib: rename more CURLcode variables to 'result' 2026-04-16 22:50:52 +02:00
rtsp.h protocol source, all about protocols and uri schemes 2026-03-16 08:39:02 +01:00
select.c tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
select.h tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
sendf.c tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
sendf.h
setopt.c transfer: clear the old autoreferer 2026-04-15 10:15:25 +02:00
setopt.h
setup-os400.h tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
setup-vms.h
setup-win32.h
sha256.c tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
sigpipe.h
slist.c tidy-up: rename Curl_safefree()/tool_safefree() to curlx_safefree() 2026-04-01 19:53:53 +02:00
slist.h
smb.c tidy-up: rename Curl_safefree()/tool_safefree() to curlx_safefree() 2026-04-01 19:53:53 +02:00
smb.h lib: make SMB support opt-in 2026-03-22 11:55:39 +01:00
smtp.c build: fix -Wformat-signedness by adjusting printf masks 2026-04-16 10:32:50 +02:00
smtp.h protocol source, all about protocols and uri schemes 2026-03-16 08:39:02 +01:00
sockaddr.h
socketpair.c
socketpair.h tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
socks.c build: adjust/add casts to fix -Wformat-signedness 2026-04-16 11:38:14 +02:00
socks.h
socks_gssapi.c tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
socks_sspi.c tidy-up: rename Curl_safefree()/tool_safefree() to curlx_safefree() 2026-04-01 19:53:53 +02:00
splay.c
splay.h
strcase.c
strcase.h
strequal.c
strerror.c
strerror.h
system_win32.c
system_win32.h
telnet.c tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
telnet.h protocol source, all about protocols and uri schemes 2026-03-16 08:39:02 +01:00
tftp.c build: fix -Wformat-signedness by adjusting printf masks 2026-04-16 10:32:50 +02:00
tftp.h protocol source, all about protocols and uri schemes 2026-03-16 08:39:02 +01:00
thrdpool.c lib: make resolving HTTPS DNS records reliable: 2026-04-01 15:36:31 +02:00
thrdpool.h lib: make resolving HTTPS DNS records reliable: 2026-04-01 15:36:31 +02:00
thrdqueue.c lib: make resolving HTTPS DNS records reliable: 2026-04-01 15:36:31 +02:00
thrdqueue.h lib: make resolving HTTPS DNS records reliable: 2026-04-01 15:36:31 +02:00
transfer.c transfer: clear the old autoreferer 2026-04-15 10:15:25 +02:00
transfer.h http: clear the proxy credentials as well on port or scheme change 2026-04-14 16:14:51 +02:00
uint-bset.c unittests: cleanups 2026-04-15 23:32:38 +02:00
uint-bset.h lib: move all UNITTEST prototypes to C files 2026-03-20 07:47:57 +01:00
uint-hash.c unittests: cleanups 2026-04-15 23:32:38 +02:00
uint-hash.h lib: move all UNITTEST prototypes to C files 2026-03-20 07:47:57 +01:00
uint-spbset.c unittests: cleanups 2026-04-15 23:32:38 +02:00
uint-spbset.h
uint-table.c unittests: cleanups 2026-04-15 23:32:38 +02:00
uint-table.h
url.c build: fix -Wformat-signedness by adjusting printf masks 2026-04-16 10:32:50 +02:00
url.h unittests: cleanups 2026-04-15 23:32:38 +02:00
urlapi-int.h urlapi: same origin tests 2026-04-16 15:00:43 +02:00
urlapi.c lib: rename more CURLcode variables to 'result' 2026-04-16 22:50:52 +02:00
urldata.h urldata: move cookiehost to struct SingleRequest 2026-04-14 16:59:11 +02:00
version.c tidy-up: miscellaneous 2026-04-14 01:08:32 +02:00
ws.c build: fix -Wformat-signedness by adjusting printf masks 2026-04-16 10:32:50 +02:00
ws.h protocol source, all about protocols and uri schemes 2026-03-16 08:39:02 +01:00