master
copyright: update all copyright lines and remove year ranges
TLS: drop support for TLS-SRP
mbedtls: enforce verifyhost when verifypeer is disabled
httpsig: add RFC 9421 HTTP Message Signatures support
tests/data: add `%includetext`, dedupe XML payloads into external file
tool: rename curl handle and result variable in `--libcurl`-generated code
config2setopt.c: refactor config2setopts
curl: help category cleanups
tests/data: move section data to external files
http: fix Curl_compareheader for multi value headers
tests/data: add XML prolog to test files
tests: enhance names, remove duplicates
tests: convert base64 data to %b64[]
tests: restore 1030 and 611
tests: keep test names shorter than 70 columns
tidy-up: miscellaneous
tests: drop support for the hex="yes" option in getpart
test1185: fix to previous commit
urlapi: change more lowercase percent-encoded to uppercase
http: fix for unfolding line starting with TAB
pingpong: reject nul byte in server response line
tests: convert unit test 1396 and 1398 into libtests
Revert "tool: add a retry delay for transfers to same origin on 429"
runtests: allow configuring SSH host/client key algorithm
tests: rename CURLMcode variables to mresult
urlapi: improved return codes
connect: connection close tweaks
lib1560: add CURLU_NO_GUESS_SCHEME tests
transfer: enhance secure check
getinfo: repair CURLINFO_TLS_SESSION
test1588: use %TESTNUMBER, not hard-coded number
setopt: changing the proxy port is also a proxy change
gopher: reject CR and LF in the selector
progress: count amount of data "delivered" to application
test1619: download into %LOGDIR
lib: move all UNITTEST prototypes to C files
tool: support fractions for --limit-rate and --max-filesize
tool_operate: reset the URL --url-query between --next
http: avoid length underflow in Curl_compareheader
test1626: Curl_copy_header_value unit test
rtmp: drop support
tests: add the "--resolve" keyword to tests that lack it
progress: narrower time display, multiple fixes
test1637: verify --fail and --retry with 502 response code
hsts: when a dupe host adds subdomains, use that
tool_operhlp: iterate through all slashes to find name
tool_cb_hdr: with -J, use the redirect name as a backup
url: detect proxy changes read from environment
setopt: clear proxy auth properly on NULL
transfer: clear referer when set to NULL
alt-svc: skip expired entries read from file
url: don't assume all transfers have hostnames
test1664: extend with more tests for curlx_str_quotedword
runtests: improve XML prolog check, enable `-w` permanently, fix two tests
x509asn1: improve encodeOID
x509asn1: fixed and adapted for ASN1tostr unit testing
test1668: unit test the FTP 213 time response parser
altsvc: cap the list at 5,000 entries
netrc: skip malformed macdef lines
tool_operate: fix memory-leak on failed uploads
hsts: accept 10K entries in the list
test1675: unit tests for URL API helper functions
x509asn1: fix DH public key parameter extraction
ssls: fix potential memory leak on import
ftp: make the MDTM date parser stricter (again)
cookie: fix rejection when tabs in value
digest: flush state on origin or credential change
perl: harden external command invocations
runtests: fix `mode="warn"` tests passing unconditionally, fix test 1752
curl_get_line: fix potential infinite loop when filename is a directory
test1714: verify telnet download with --max-filesize
proxy: chunked response, error code
tool_dirhie: fix to create drive-relative directory
url: keep the question mark for empty queries
content_encoding: fix non-last chunked rejection
config2setopts: use default protocol properly
imap: fix custom listing
test1849: reuse a proxy with different credentials
test1850: verify the SMB request path use for two transfers
tool_ipfs: accept IPFS gateway URL without set port number
hsts: make the HSTS read callback handle name dupes
cookie: flush better
urlapi: handle redirect without set scheme with default-scheme
sigv4: URL encode the user name in the header
cf-h1-proxy: support folded headers in CONNECT responses
build: always use local `inet_pton()`/`inet_ntop()` implementations
urlapi: verify the last letter of a scheme when set explictly
urlapi: fix redirect handling if CURLU_NO_GUESS_SCHEME is set
tool_writeout: fix %time{} output for %s
docs: CURLOPT_LOGIN_OPTIONS is a login property
http: on 303, switch to GET
http: only send bearer if auth is allowed
libssh2: fix error handling on quote errors
http: clear the proxy credentials as well on port or scheme change
tool_operate: reset the upload glob counter for next URL
curl: named globs in output file name for upload glob references
tests: add `cookies` feature to some tests
proxy: fix automatic tunnel mode with "connect to host"
urldata: connection bit ipv6_ip is wrong
spnego: block NTLM fallback in SPNEGO negotiation
digest: fix OWS and escaped quote handling
tool_urlglob: avoid overflow at end of range
tool_cb_prg: avoid integer overflows
DoH: improvements
asyn-ares: connect async
http: reject spurious CR bytes in headers
chunked: reject invalid bytes in trailer
http-proxy: verify CONNECT response headers
mqtt: reject control bytes in the topic
smtp: reject CR and LF in the envelope address
test2114: fix reading from stdin
ftp: reject control bytes in ACCT and alternative-to-user
httpsrr: DoH with HTTPS, fix response handling
http: for basic+digest auth, do not engage on empty user+passwd
content_encoding: give a clear error on multi-member gzip
var: use a dedicated pointer for the alloc
lib2405: adjust for non-threaded builds
tool_urlglob: add named globs
tool_urlglob: better 'Duplicate glob name' position
multi: xfers_really_alive
peer: fix ipv6 detection
lib: add multi_wakeup_internal
transfer: clear the old autoreferer
http: clear credentials better on redirect
cfilters: fix event-based connection shutdown
libssh: add support for SHA256 host public keys
tool_cb_wrt: fix no-clobber error handling
tests/data: delete stray comments
url: compare full origin when setting credentials
tests: skip test 311 for wolfSSL 5.9.2
haproxy: use correct ip version on client supplied address
protcol.h: fix the CURLPROTO_MASK
digest: escape control codes too
tests: pin connection reuse rules for partial, host, and credentials
mime: reject CR and LF in mail part name and filename
http: stop dropping large custom headers
lib: add thread pool and queue
cookie: tailmatch the domains for secure override
thrdpool: retry failed thread starts while items wait
HTTP/3: add proxy CONNECT and MASQUE CONNECT-UDP support (ngtcp2 QUIC)
cookie: use origin scheme for secure context check
altsvc: only accept 17 byte dates from files
runtests: allow skipping tests on torture, use for test 357
content_encoding: fix limit failure message
cookie: refuse to load cookies set against a PSL domain
cf-dns: connection filter for DNS queries
test 527: bring back, not a dupe
tidy-up: use test/example domains more
test557: test curl_mv*printf() functions
config2setopts: add space in cookie header with multiple -b
digest: handle quotes in the path
tool_xattr: add support for Windows alternate data stream
badwords: catch and fix more variants of `NN-bit`
test 679: add a quoted string name in a netrc test
netrc: refactor into smaller sub functions
cf-dns: resolve on filter demand
tool_cb_hdr: suppress header output when --out-null
test 766: flag as timing-dependent
hsts: skip expired HSTS entries read from file
test798: force IPv4 to avoid cross-runner port aliasing
sasl: fix zero-length response encoding
digest: pass in the user name quoted (as well)
tests: use %b64[] instead of "raw" base64
test96: fix to accept non-unity memdump content with MSVC