Commit graph

38020 commits

Author SHA1 Message Date
Felipe Mesquita
f25124338c
badwords: avoid 'simply'
It's mostly a filler word. I've read through each use of it in the code
base and did minor rephrasings when "simply" carried some meaning. The
overwhelming majority of cases, removing it improved the text
significantly. Inspired by #20793.

Closes #20822
2026-03-10 19:34:06 +01:00
Viktor Szakats
4021c6e673
badwords: fix showing alternative for case-insensitive hits
Fixing:
```
Use of uninitialized value $alt{"Simply"} in printf at scripts/badwords line 109, <F> line 34.
 maybe use "" instead?
```

Closes #20879
2026-03-10 18:38:29 +01:00
Viktor Szakats
15932f2ac5
GHA: drop installing impacket for curl built without SMB support
Ref: #20846

Closes #20868
2026-03-10 17:45:27 +01:00
Viktor Szakats
3b43b9080d
badwords: dedupe invocation into a runnable script
Also:
- GHA/checksrc: merge two badwords CI jobs into a single one.
- re-add the more common bitness entries.

Closes #20874
2026-03-10 17:44:15 +01:00
Viktor Szakats
d4a06862cb
spacecheck: find double newlines in tests/data/test*
Closes #20872
2026-03-10 17:44:15 +01:00
Daniel Stenberg
ed7bf43a08
BUG-BOUNTY.md: minor rephrase to say there is no bug bounty
also add a brief mention to VULN-DISCLOSURE-POLICY.md

Closes #20878
2026-03-10 17:34:08 +01:00
renovate[bot]
a4f90969ff
GHA: update awslabs/aws-lc to v1.69.0
Closes #20876
2026-03-10 16:08:44 +01:00
Stefan Eissing
c1cea52f12
badwords: twice as fast
...on my macOS machine, this version uses half the time when
scanning the source.

Closes #20877
2026-03-10 16:07:15 +01:00
Daniel Stenberg
8ec0e1e109
docs: fixup wording nits
Mostly sentences starting with bad words
2026-03-09 22:47:07 +01:00
Daniel Stenberg
713287188e
badwords: move into ./scripts, speed up
- 'badwords' is now a target in Makefile.am

- change badwords.txt to specify plain "words" instead of regexes so the
  script can build single regexes when scanning, which makes the script
  perform much faster (~6 times faster)

Closes #20869
2026-03-09 22:47:07 +01:00
Daniel Stenberg
248dd9e55f
x509asn1: make encodeOID stop on too long input
Plus a minor fixup.

Reported-by: John Rodriguez

Closes #20871
2026-03-09 22:06:45 +01:00
Viktor Szakats
df5c6b6f54
docs: handle error in curl_global_init* examples
Also:
- call cleanup in `curl_global_init_mem()` example.

Closes #20866
2026-03-09 13:01:22 +01:00
Viktor Szakats
f6840572c4
THANKS-filter: update with a new entry
Closes #20861
2026-03-09 11:35:19 +01:00
Viktor Szakats
716dc8ce6c
rand: drop scan-build silencer
scan-build has been dropped in favor of clang-tidy and this false
positive no longer triggers with it.

Follow-up to ce4db9c2ef #20751
Follow-up to 02f207a76b

Closes #20860
2026-03-09 11:35:19 +01:00
Viktor Szakats
05189f5549
rand: drop impossible preprocessor branches (wincrypt)
After targeting Vista as minimum, the non-bcrypt fallback code was
impossible to reach, because on UWP wincrypt is never available.

After this patch it's more obvious that no-SSL UWP builds only support
weak random source.

Follow-up to b17ef873ae #18009

Closes #20859
2026-03-09 11:35:19 +01:00
Viktor Szakats
4cad71d1bf
configure: drop always true if check (Windows)
Follow-up to c1bc090d65 #12495

Closes #20858
2026-03-09 11:35:19 +01:00
Viktor Szakats
d709599338
GHA/windows: pass preprocessor flags via CPPFLAGS
To avoid potential warning with autotools when using `CFLAGS`. Existing
jobs are not affected.

Also:
- drop a redundant `export`.
- ensure not to overwrite per-job options with UWP ones.

Closes #20857
2026-03-09 11:35:19 +01:00
Viktor Szakats
6a09f2ef1d
config-win32.h: merge two #if branches
Closes #20856
2026-03-09 11:35:19 +01:00
Viktor Szakats
6a6826469d
windows: determine RtlVerifyVersionInfo address on global init
Instead of the first internal call to `curlx_verify_windows_version()`.

To avoid the chance of a race, potentially resulting in initializing
this address twice. AFAICT it could not cause an issue before this
patch.

Reported by Codex Security

Follow-up to b17ef873ae #18009

Closes #20853
2026-03-09 11:35:19 +01:00
Viktor Szakats
ccba492024
tidy-up: miscellaneous
Closes #20851
2026-03-09 11:35:19 +01:00
huanghuihui0904
cbb5544c45
digest: fix memory leak in auth_create_digest_http_message()
Signed-off-by: huanghuihui0904 <625173@qq.com>

Closes #20862
2026-03-09 09:24:01 +01:00
Daniel Stenberg
4a15bc13f4
RELEASE-NOTES: synced 2026-03-08 23:08:05 +01:00
Daniel Stenberg
1f8cfa049d
test1850: verify the SMB request path use for two transfers 2026-03-08 22:43:03 +01:00
Stefan Eissing
e090be9f73
smb: free the path in the request struct properly
Closes #20854
2026-03-08 22:43:03 +01:00
Viktor Szakats
22b0cbe65f
tests/server: drop unused curlx/version_win32.c
Previously used via `curlx/timeval.c`, but no longer after bumping
minimum target to Vista.

Follow-up to b17ef873ae #18009

Closes #20855
2026-03-08 18:17:11 +01:00
Viktor Szakats
64d4f5c4b6
system_win32: replace manual init code with curlx_now_init() call
The code actual init code remains identical after this patch. To make it
clearer where this initialization is called from, and to dedupe code.

Follow-up to b17ef873ae #18009

Closes #20852
2026-03-08 18:17:11 +01:00
dbalsom
9a674ee6f7
docs: replace instances of the vague qualifier 'quite'
in documentation and comments

Closes #20841
2026-03-07 23:52:50 +01:00
Daniel Stenberg
13f48dfb52
docs: avoid starting sentences with However,
An unnecessary filling word

Closes #20834
2026-03-07 23:49:11 +01:00
Daniel Stenberg
6b552e60a9
quiche: use PRIu64 for outputting the stream id
The 'id' struct field in 'struct h3_stream_ctx' is a uint64_t type so
should be output with PRIu64 - and it makes sense to be consistent.

Note that the field with the same name in the ngtcp2 version of this
struct is a *signed* 64-bit variable.

Reported by Codex Security

Closes #20849
2026-03-07 23:47:56 +01:00
Daniel Stenberg
f180818976
DEPRECATE.md: SMB and NTLM become build-time opt-in
Closes #20847
2026-03-07 14:56:08 +01:00
Daniel Stenberg
2f8fe96d6d
tests/FILEFORMAT.md: the <server> section is NOT mandatory
It can be left out if no servers are necessary.

Closes #20845
2026-03-07 14:21:46 +01:00
Daniel Stenberg
b351fd1b9a
test1849: reuse a proxy with different credentials
Closes #20842
2026-03-07 13:59:30 +01:00
Daniel Stenberg
08d6497005
cf-socket: ignore SOCK_CLOEXEC etc for socktype equality checks
As the SOCK_CLOEXEC and SOCK_NONBLOCK get ORed to the socktype, this
introduces the cf_socktype() function to use when checking for the
specific socket type: DGRAM or STREAM. The function filters off the
non-type related bits to enable the comparison.

Follow-up to 05367694ec

Closes #20808
2026-03-07 13:36:00 +01:00
Daniel Stenberg
e3d7401a32
http: only send bearer if auth is allowed
Verify with test 2006

Closes #20843
2026-03-07 11:00:16 +01:00
Daniel Stenberg
1495489c41
docs: drop basically
Another filler word

Closes #20835
2026-03-07 10:58:36 +01:00
Andrei Rybak
86ea3abd41
FAQ: syntax improvements
During conversion of `docs/FAQ` into Markdown, 'man ld' has incorrectly
kept one of its quotes when it was surrounded by backticks for inline
code formatting.  A space on the left of it was lost as well.

Fix the formatting in the new `docs/FAQ.md`.

Closes #20812
2026-03-06 23:01:47 +01:00
Stefan Eissing
704e7a85f3
mqtt: fix EOF handling
In mqtt_recv_atleast(), recognize an EOF as error.

Fixes #20815
Reported-by: Max Dymond
Closes #20830
2026-03-06 22:53:54 +01:00
Stefan Eissing
5f13a7645e
proxy-auth: additional tests
Also eliminate the special handling for socks proxy match.

Closes #20837
2026-03-06 22:52:39 +01:00
Daniel Stenberg
e47b6e657a
socketpair: clear 'err' when retrying due to EINTR
If the first write was interrupted by a signal and a subsequent write
succeeds, the function would still erroneously return EINTR.

Found by Codex Security
Closes #20809
2026-03-06 22:50:29 +01:00
Daniel Stenberg
e49efce12f
synctime: fix use of uninitialized buffer on non-Windows
Follow-up to: b714c674f3

Spotted by Codex Security
Closes #20806
2026-03-06 22:49:03 +01:00
Daniel Stenberg
27c3e0839a
content_encoding: return 'identity' if none other exists
This fixes a regression and accidental changed behavior shipped in
8.18.0 (via 6b9c75e219).

When the setopt is set to "" and curl is built without support for a
single compression algorithm, it used to use "identity" but recently did
not.

Spotted by Codex Security
Closes #20805
2026-03-06 22:48:16 +01:00
Daniel Stenberg
d7e4473806
tool_doswin: avoid memory-leak with CURL_FN_SANITIZE_*
This is debug-only code

Follow-up to 20900e4a1e

Found by Codex Security

Closes #20804
2026-03-06 22:47:30 +01:00
Daniel Stenberg
933c34e873
tool_operate: reset the URL --url-query between --next
Pointed out by Codex Security

Verify in test 1624
Closes #20802
2026-03-06 22:46:37 +01:00
Stefan Eissing
3c007d6351
openssl+ech: workaround for insecure handshakes
OpenSSL 4.0.0-dev supports ECH with one flaw. If peer verification
is not enabled, it will report SSL_ECH_STATUS_BAD_NAME on the ECH
status.

Provide a workaround in libcurl that checks the inner name used in
ECH was the peer's hostname, both verify peer and host are disabled
and then accept the BAD_NAME without failing the connect.

Fixes #20655
Reported-by: Dexter Gerig
Closes #20821
2026-03-06 22:42:40 +01:00
Stefan Eissing
b803dc9f20
async-ares: blocking resolve timeout handling, better
Perform the actual timeout calculation in the blocking resolv
loop each time in the same way, keeping the logic simpler.

The previous version calculated the timeout once, and then
reduced it by the elapsed time spent in polling/processing.
This is unnecessarily complicated.

Closes #20819
2026-03-06 22:41:56 +01:00
Stefan Eissing
bfb79de206
urldata: byebye conn->hostname_resolve
The strdup() of the hostname to resolve is unnecessary as the sync
resolve code does not keep the string and the async code makes copies
already.

Remove the member from `connectdata`.

Closes #20833
2026-03-06 22:40:29 +01:00
Viktor Szakats
9a3afc1083
cmake: fix LOCATION property access condition (debug)
To match other parts of curl's CMake script and the CMake source.

Ref: https://gitlab.kitware.com/cmake/cmake/-/blob/v3.18.0/Source/cmTargetPropertyComputer.h?ref_type=tags#L68-101

Follow-up to c6cfb2a2f3 #20828

Closes #20838
2026-03-06 15:35:27 +01:00
Viktor Szakats
009facd232
cmake: improve clang-tidy test command-line reproduction
- also query `INTERFACE_COMPILE_DEFINITIONS` and
  `INTERFACE_COMPILE_OPTIONS`.
  To further sync clang-tidy manual command-lines with the C compiler
  command-lines generated by CMake. In practice this adds `-I` options
  (via `INTERFACE_COMPILE_OPTIONS`) to the end of the command-line for
  dependency header directories. It does not change the outcome of
  clang-tidy runs.

- limit querying `COMPILE_DEFINITIONS` and `COMPILE_OPTIONS` to the top
  target, the test itself. To not include options such as
  `-DCURL_HIDDEN_SYMBOLS` and `-fvisibility=hidden` (when set) via
  the libcurl shared lib.
  To sync with the actual C compiler command-line.

- drop redundant `unset()`.

- rename local function to be more specific.

Follow-up to d9386a2f8e #20759

Closes #20829
2026-03-06 04:56:33 +01:00
Viktor Szakats
c6cfb2a2f3
cmake: fix LOCATION property read errors in target debug function
Exclude reading certain props for certain target types to avoid these errors:
```
CMake Error at CMake/Utilities.cmake:71 (get_property):
  The LOCATION property may not be read from target "...".  Use the target
  name directly with add_custom_command, or use the generator expression
  $<TARGET_FILE>, as appropriate.
```
(and the same in line 78.)

Follow-up to 855acb3bb0 #17701

Closes #20828
2026-03-06 04:04:09 +01:00
Viktor Szakats
37f5e3960f
spelling: bump codespell to 2.4.2, fix fallouts
Closes #20825
Closes #20827
2026-03-06 00:30:32 +01:00