Commit Graph

34209 Commits

Author SHA1 Message Date
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
Jay Satiro
519be2b9d8 system_win32: fix typo 2024-09-05 10:10:20 -04:00
dependabot[bot]
4ea6ff55a0
GHA/distcheck:: bump actions/upload-artifact from 4.3.6 to 4.4.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.6 to 4.4.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](834a144ee9...50769540e7)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Closes #14759
2024-09-05 16:01:08 +02:00
renovate[bot]
f16808173f
Dockerfile: Update debian:bookworm-slim Docker digest to 903d322
Closes #14788
2024-09-05 13:10:25 +02:00
Daniel Stenberg
f905769fe2
llist: only provide Curl_llist_tail in unit test builds
... since it is not used otherwsie. Also fix Curl_node_prev to have the
same status.

Closes #14790
2024-09-05 13:09:13 +02:00
Viktor Szakats
6aa5f25c64
GHA/linux-old: split test step into build and run
To see how much time each takes.

Closes #14791
2024-09-05 12:26:03 +02:00
Stefan Eissing
db5eae1127
cf-socket: fix listen pollset for FTP active mode
Follow-up to a07ba37b5e which did not
solve the issue of corrent polling for FTP active data connections.

Added test cases for active up-/download.

Closes #14786
2024-09-05 11:00:55 +02:00
Daniel Stenberg
464d466aea
smb: convert superflous assign into assert
Since the value is already supposed to be correct, verify that with and
assert instead of doing an assign that is not needed.

Bonus: remove unnecessary clearing of data

Closes #14784
2024-09-05 09:25:08 +02:00
Daniel Stenberg
3e7ddf94a2
schannel: avoid malloc for CAinfo_blob_digest
...it can just as well be part of the struct always.

Closes #14777
2024-09-05 09:23:48 +02:00
Viktor Szakats
32eee8f139
src: namespace symbols clashing with lib
Before this patch `lib/http.h` and `src/tool_sdecls.h` both declared
`HTTPREQ_*` enums.

Rename `src` ones to have distinct names.

They are not included in the same code for now, but this may change when
bundling unit/libtests into single programs.

Closes #14785
2024-09-05 00:55:44 +02:00
Daniel Stenberg
5ebc820c7d
KNOWN_BUGS: cleanup
- Move all Windows unicode issues into the single "bug", as they are all
  at least semi-related

- Removed ancient issues that are not relevant anymore

Closes #14775
2024-09-04 23:48:23 +02:00
Daniel Stenberg
6588a7f039
openssl: certinfo errors now fail correctly
If there is a (memory) error when creating the certinfo data, the code
would previously continue which could lead to a partial/broken response.
Now, the first error aborts and cleans up the entire thing.

A certinfo "collection" error is however still not considered an error
big enough to stop the handshake.

Bonus 1: made two functions static (and removed the Curl_ prefix) that
were not used outside of openssl.c

Bonus 2: removed the unused function Curl_ossl_set_client_cert

Closes #14780
2024-09-04 23:41:44 +02:00
Daniel Stenberg
bca9c7719a
lib: make SSPI global symbols use Curl_ prefix
Do not pollute the namespace.

Closes #14776
2024-09-04 14:55:10 +02:00
Viktor Szakats
6a9b71037a
cmake: restore variable names CURL_CA_BUNDLE_SET/CURL_CA_PATH_SET
They were renamed recently as internal variables, but they are both
cached, so let's keep the original names for consistency and
compatibility.

Partial revert of c2889a7b41 #14388
Tested via #14778
2024-09-04 12:11:23 +02:00
Daniel Stenberg
9e629a1484
docs: document the (weak) random value situation in rustls builds
Closes #14770
2024-09-03 16:48:42 +02:00