Commit Graph

33723 Commits

Author SHA1 Message Date
Gabriel Marin
79f0007c25
setopt: remove superfluous use of ternary expressions
Closes #14884
2024-09-12 19:12:06 +02:00
Daniel Stenberg
381de75ce8
CURLMOPT_TIMERFUNCTION.m: emphasize that only a single timer should run
Closes #14886
2024-09-12 19:08:01 +02:00
Daniel McCarney
61e48b4df1
vtls: fix Curl_ssl_conn_config_match doc param
The configuration data compared to `candidate` comes from `data`, not
`conn`. This commit fixes the docstring to reflect this.

Closes #14887
2024-09-12 19:06:34 +02:00
Stefan Eissing
70d3a9b6aa
http2: when uploading data from stdin, fix eos forwarding
When uploading data from stdin ('-T -'), and the EOS was only detected
on a 0-length read, the EOS was not forwarded to the filters. This led
HTTP/2 to hang on not forwarding this to the server.

Added test_07_14 to reproduce and verify.

Fixes #14870
Reported-by: nekopsykose on github
Closes #14877
2024-09-12 13:46:38 +02:00
Viktor Szakats
9dc0770e2c
cmake: ensure CURL_USE_OPENSSL/USE_OPENSSL_QUIC are set in sync
OpenSSL must be selected (manually or by default) and detected for
`USE_OPENSSL_QUIC=ON` to work. This was documented before this patch,
but with CMake it was possible to use `USE_OPENSSL_QUIC=ON` without
an explicit or default `CURL_USE_OPENSSL=ON`, leading to a confused
internal state.

Fix by checking the QUIC condition early, showing a warning if enabled
without OpenSSL, and ignoring QUIC in such case.

Also: Fix casing of OpenSSL in option description.

Ref: #14866
Closes #14872
2024-09-12 12:53:50 +02:00
Daniel Stenberg
b29caf0ba2
GHA/macOS: add an -e test
Adds -e to runtests for using the event-based API in the tool.

Closes #14876
2024-09-12 11:26:33 +02:00
Stefan Eissing
a610bb8d92
test537: cap the rlimit max this test runs
Modern debian reports a soft limit of 134217724 which makes this test
run for minutes to allocate all file descriptors. Impose a cap of 256k,
so we do not run this tests on systems with larger rlimits.

Closes #14857
2024-09-12 08:45:50 +02:00
Stefan Eissing
283af039c8
QUIC: on connect, keep on trying on draining server
Do not give up connect on servers that are in draining state. This might
indicate the QUIC server restarting and the UDP packet routing still
hitting the instance shutting down.

Instead keep on connecting until the overall TIMEOUT fires.

Closes #14863
2024-09-12 08:24:10 +02:00
Jan Venekamp
0ca15307a3
rustls: fixed minor logic bug in default cipher selection
Follow-up to 1e03d4b

Closes #14840
2024-09-11 23:17:31 +02:00
Harry Sintonen
6a9f3764f1
lib: fix AF_INET6 use outside of USE_IPV6
Closes #14858
2024-09-11 23:12:22 +02:00
Daniel Stenberg
48f61e781a
multi: check that the multi handle is valid in curl_multi_assign
By requiring that the multi handle is fine, it can detect bad usage
better and by that avoid crashes. Like in the #14860 case, which is an
application calling curl_multi_assign() with a NULL pointer multi
handle.

Reported-by: Carlo Cabrera
Fixes #14860
Closes #14862
2024-09-11 23:04:11 +02:00
Daniel Stenberg
30865e09b7
RELEASE-NOTES: synced
Bumped to 8.10.1 for now
2024-09-11 08:20:09 +02:00
Daniel Stenberg
31be4d5bf0
runtests: accecpt 'quictls' as OpenSSL compatible
And set the "OpenSSL" feature.

Follow-up to 86d4a4124e

Closes #14850
2024-09-11 08:17:16 +02:00
Daniel Stenberg
28ca199d89
libcurl-docs: CURLINFO_LOCAL_* work for QUIC as well as TCP
Also, CURLOPT_TCP_FASTOPEN is for TCP only.

Closes #14852
2024-09-11 08:16:28 +02:00
Daniel Stenberg
a3bd1dda12
RELEASE-NOTES: synced 2024-09-11 07:36:22 +02:00
Daniel Stenberg
5e225c84a5
THANKS: contributors from 8.10.0 2024-09-11 07:36:22 +02:00
Viktor Szakats
813995bb17
GHA/windows: raise test run timeouts
Give more time for recently enabled TLS tests to complete.

Follow-up to bc72a78a11 #14488
Ref: #14849
Closes #14851
2024-09-10 15:55:35 +02:00
Daniel Stenberg
3aef8b97b3
CURLOPT_COOKIE.md: tiny language edit 2024-09-10 14:22:10 +02:00
Viktor Szakats
805bbf7c55
NTLM_WB: delete remains in tests, docs updates
Also update more docs to reflect the removal of NTLM_WB.

Follow-up to 50def7c881 #13249
Closes #14832
2024-09-10 14:13:36 +02:00
Daniel Stenberg
7020bc9c4a
cd2nroff: only require "added-in" for source "libcurl"
To allow this script to be used by trurl easier.

Closes #14844
2024-09-10 13:49:49 +02:00
Daniel Stenberg
c4ab33370a
CURLOPT_*-docs: provide additional details
Went through CURLOPTTYPE_STRINGPOINT and CURLOPTTYPE_SLISTPOINT options
and clarified:

- what happens when setting the option *again*

- setting to NULL disables/restores to default

- libcurl does not copy the slist for options using a such

Closes #14846
2024-09-10 13:48:42 +02:00
Stefan Eissing
fc1c326ab4
tests: ignore the tests/buildinfo.txt file generated
Closes #14847
2024-09-10 13:48:04 +02:00
Daniel Stenberg
4a382f4bfe
CURLOPT_COOKIE.md: this cookie gets appended to the others
... so it adds the risk of making the header too long. Clarify this
better.

Also: remove the PSL mention from here since it is not really relevant
for this option as this option is for specific *outgoing* cookies only.

Reported-by: Hiroki Kurosawa
Closes #14839
2024-09-10 08:08:39 +02:00
Dan Fandrich
b61d6e088e GHA/linux-old: add an autoconf/automake build
This verifies that using older autotools still works. The results of the
autoconf build should end up being identical to the second of the two
cmake builds (the difference in the platform string notwithstanding).

Closes #14816
2024-09-09 10:19:11 -07:00
Viktor Szakats
a744b7bb45
server/getpart: delete unused code
Follow-up to 2610142139 #8378
Closes #14829
2024-09-09 16:57:36 +02:00
Daniel Stenberg
0d6c8b7534
lib: enable strerror and strncpy checksrc warnings in subdirs
Closes #14834
2024-09-09 16:51:21 +02:00
Daniel Stenberg
63ebc48b69
content_encoding: avoid getting all encodings unless necessary
The error_do_write() function may very well return witout needing the
listing of all encoding types so postpone that call until it is needed.

Closes #14831
2024-09-09 16:50:22 +02:00
Daniel Stenberg
81300c30e2
unit1398: test maximum input parameters/output segments
...for the mprintf() code

Closes #14833
2024-09-09 16:49:46 +02:00
Daniel Stenberg
80df6a5c12
checksrc: add STRNCPY as an opt-in rule to detect and error on strncpy
make "lib/.checksrc" enable it

Closes #14830
2024-09-09 13:47:50 +02:00
Daniel Stenberg
344a177aac
lib: remove the final strncpy() calls
wolfssl: use strcpy() as the target buffer is > 40 bytes

gethostname: return failure if the buffer is too small instead

Closes #14830
2024-09-09 13:47:38 +02:00
Jay Satiro
eb8ad66f6c asyn-thread: stop using GetAddrInfoExW on Windows
- For the threaded resolver backend on Windows, revert back to
  exclusively use the threaded resolver with libcurl-owned threading
  instead of GetAddrInfoExW with Windows-owned threading.

Winsock (the Windows sockets library) has a bug where it does not wait
for all of the name resolver threads it is managing to terminate before
returning from WSACleanup. The threads continue to run and may cause a
crash.

This commit is effectively a revert of several commits that encompass
all GetAddrInfoExW code in libcurl. A manual review of merge conflicts
was used to resolve minor changes that had modified the code for
aesthetic or build reasons in other commits.

Prior to this change if libcurl was built with the threaded resolver
backend for Windows, and Windows 8 or later was the operating system at
runtime, and the caller was not impersonating another user, then libcurl
would use GetAddrInfoExW to handle asynchronous name lookups.

GetAddrInfoExW support was added in a6bbc87f, which preceded 8.6.0, and
prior to that the threaded resolver backend used libcurl-owned threading
exclusively on Windows.

Reported-by: Ionuț-Francisc Oancea
Reported-by: Razvan Pricope

Ref: https://developercommunity.visualstudio.com/t/ASAN:-heap-use-after-free-in-NdrFullPoin/10654169

Fixes https://github.com/curl/curl/issues/13509#issuecomment-2225338110
Closes https://github.com/curl/curl/pull/14794

---

Revert "asyn-thread: avoid using GetAddrInfoExW with impersonation"

This reverts commit 0caadc1f24.

Conflicts:
	lib/system_win32.c

--

Revert "asyn-thread: fix curl_global_cleanup crash in Windows"

This reverts commit 428579f5d1.

--

Revert "system_win32: fix a function pointer assignment warning"

This reverts commit 26f002e02e.

--

Revert "asyn-thread: use GetAddrInfoExW on >= Windows 8"

This reverts commit a6bbc87f9e.

Conflicts:
	lib/asyn-thread.c
	lib/system_win32.c

--
2024-09-08 11:39:30 -04:00
Daniel Stenberg
24606191f8
doh: remove redundant checks
Pointed out by CodeSonar

Closes #14823
2024-09-07 22:30:21 +02:00
Dan Fandrich
c72dd0bb14 maketgz: fix RELEASE-TOOLS.md for daily tarballs
The daily snapshots have no associated git tag, so provide a commit hash
instead in these cases. Fix the dpkg detection since the shell would
exit immediately without showing an error message if it weren't found.

Closes #14820
2024-09-07 09:33:09 -07:00
Viktor Szakats
f6955e4215
Makefile.mk: update to use Markdown sources for manual
Closes #14813
2024-09-06 21:57:54 +02:00
Viktor Szakats
9783c4540f
autotools: fix MS-DOS builds
- disable threaded resolver by default.
- fix forming WATT path. Requires `WATT_PATH` env.

Closes #14814
2024-09-06 21:47:35 +02:00
Viktor Szakats
4a8be91314
build: drop unused NROFF reference
Closes #14812
2024-09-06 21:46:05 +02:00
Viktor Szakats
1ce626158a
Makefile.dist: fix ca-firefox target
Follow-up to 8e22fc68e7 #8625

Closes #14804
2024-09-06 21:46:05 +02:00
Viktor Szakats
0cdd9afd1e
cmake: fix to show features/protocols with CURL_DISABLE_INSTALL=ON
Follow-up to aace27b096 #12287

Closes #14803
2024-09-06 21:46:05 +02:00
Viktor Szakats
1fdea16846
build: generate buildinfo.txt for test logs
Also:
- read `buildinfo.txt` from `runtests.pl` and dump it to the log.
- cmake: show `CROSS` target flag for cross-builds.
- cmake: add logic to detect arguments passed via the command-line.

It is meant to help filling out missing datapoints in the testclutch
matrix.

Closes #14802
2024-09-06 21:46:04 +02:00
Viktor Szakats
b0a1c9bdca
CI: update names of jobs that are now building tests [ci skip]
Follow-up to d620ec6791 #14700
2024-09-06 17:14:29 +02:00
Daniel Stenberg
b12a8158a5
.dcignore: remove
This was a config file for deepcode.ai, a static code analyzer that we
have not used for ages.

Closes #14811
2024-09-06 11:07:46 +02:00
Stefan Eissing
b1f0b8f601
pop3: fix multi-line with LIST arg
The POP3 LIST command is not multi-line when having an argument. Fix the
definition to correct the behaviour.

Reported-by: ralfjunker on github
Fixes #14801
Closes #14808
2024-09-06 10:42:14 +02:00
Stefan Eissing
435dd8aa6e
doh: cleanups
Mostly cleanup on identifiers of DoH code.
Always use 'Curl_doh_cleanup()' for releasing resources.

More concise and telling names (ymmv):

* prefix all static functions with 'doh_' for unity builds
* doh_encode -> doh_req_encode
* doh_decode -> doh_resp_decode
* struct dohdata -> struct doh_probes
* probe's 'serverdoh' -> 'resp_body'
* probe's 'dohbuffer' -> 'req_body'
* probe's 'headers' -> 'req_hds'
* 'dohprobe()' -> doh_run_probe()'
* 'DOH_PROBE_SLOTS' -> 'DOH_SLOT_COUNT'
* 'DOH_PROBE_SLOT_IPADDR_V4' -> 'DOH_SLOT_IPV4'
* 'DOH_PROBE_SLOT_IPADDR_V6' -> 'DOH_SLOT_IPV6'
* 'DOH_PROBE_SLOT_HTTPS' -> 'DOH_SLOT_HTTPS_RR'

Closes #14783
2024-09-06 08:58:52 +02:00
Daniel Stenberg
40017fb323
firefox-db2pem: mention what "certutil" the script uses
... and the Debian package that provides it.

Closes #14806
2024-09-06 08:57:34 +02:00
Daniel Stenberg
8d6db8cd8b
scripts/delta: output bugfixes/day 2024-09-06 08:47:06 +02:00
Daniel Stenberg
2f040ac618
RELEASE-NOTES: synced 2024-09-06 08:42:32 +02:00
Daniel Stenberg
88c7182b20
GHA/distcheck: keep upload artifacts for one day only
The uploads are only used as a cache mechanism between jobs to save them
from having to re-run maketgz multiple times, so there is no need to
save the artifact longer than this.

Closes #14793
2024-09-05 23:50:48 +02:00
Daniel Stenberg
56f90637ad
CURLMOPT_SOCKETFUNCTION.md: expand on the easy argument
Since recent changes makes it more likely to be an internal handle that
shows up and some users have been surprised by this.

Ref: #14792
Closes #14795
2024-09-05 17:09:03 +02:00
Daniel Stenberg
5c14d696fe
maketgz: move from / into scripts
Closes #14797
2024-09-05 17:07:41 +02:00
Daniel Stenberg
0d1504b205
libcurl.def: move from / into lib
It is meant for the library, it belongs in lib/

Closes #14796
2024-09-05 17:05:40 +02:00