Commit graph

35556 commits

Author SHA1 Message Date
Viktor Szakats
91bd60c1b7
also bump from 2000 to XP in comment 2025-07-14 11:55:42 +02:00
Viktor Szakats
3b4274ed3b
reduce scope of min/def macros 2025-07-14 11:55:42 +02:00
Viktor Szakats
3890859af0
include hex version in comment for clarity 2025-07-14 11:55:42 +02:00
Viktor Szakats
6eebc15b42
merge VS2010 minimum/default logic and comment 2025-07-14 11:55:42 +02:00
Viktor Szakats
62f9c3a726
add Windows release to comments for clarity 2025-07-14 11:55:41 +02:00
Viktor Szakats
6d6a97f56b
build to XP minimum 2025-07-14 11:55:41 +02:00
Viktor Szakats
f0153020b5
config-win32.h: fix default target for VS2012, also bump minimums to XP
When using winbuild or Visual Studio IDE Project Files.

According to CI, the default is Windows 8:
```
-- Found _WIN32_WINNT=0x0602
```
Ref: https://ci.appveyor.com/project/curlorg/curl/builds/51594696/job/elbl0w5n7fmoos2f#L45

This also aligns with the default being Windows 7 for VS2010,
and Windows Vista for VS2008.

Also bump the minimum target to Windows XP, which is what curl supports
and higher than what VS2008 is able to target.
2025-07-14 11:55:41 +02:00
Viktor Szakats
245783338c
runner.pm: use dirname() in singletest_prepare()
Replacing a regex, for portability.

Reported-by: Stefan Eissing
Bug: https://github.com/curl/curl/issues/17871#issuecomment-3051830614

Cherry-picked from #17877
Closes #17900
2025-07-14 11:24:28 +02:00
Daniel Stenberg
af81e8fe5f
VULN-DISCLOSURE-POLICY.md: 7 days embargo is max
It was recently updated in this doc to seven, but there were *two*
numbers mentioned and only one of them was updated leaving the paragraph
quite confusing.

Follow-up to 83c90e5047

Closes #17921
2025-07-14 09:08:47 +02:00
Daniel Stenberg
f5a44e1549
top-complexity: also output average complexity
Closes #17920
2025-07-14 08:38:45 +02:00
Daniel Stenberg
b6c636256d
RELEASE-NOTES: synced 2025-07-13 17:44:22 +02:00
Daniel Stenberg
96294df02a
tests: raise two memory limits
Runing the tests locally without valgrind test 518 and 537 would run
over their limits.

Plus init a variable in runtests.pl to avoid a warning output.

Closes #17919
2025-07-13 17:40:47 +02:00
Daniel Stenberg
826a32dff3
altsvc: accept 'clear' without semicolon as well
Extend test 1654 to verify

Fixes #17917
Reported-by: Luke Wilde
Closes #17918
2025-07-13 17:02:34 +02:00
Viktor Szakats
9bdd08b3b2
GHA: minor tidy-ups
- GHA/checksrc: make a step name more accurate.
- cmakelint.sh: make sure to run from project root.
  To make it easier to run locally.
- cmakelint.sh: use `set -eu`.

Closes #17915
2025-07-13 11:52:08 +02:00
Viktor Szakats
99f0ebc508
libcurl.m4: fix indentation
Closes #17913
2025-07-13 11:52:07 +02:00
Ryan Hooper
b1fb8da0fa
wolfssl: add support for ML_KEM hybrids
For parity with OpenSSL 3.5

Closes #17902
2025-07-12 22:51:08 +02:00
Daniel Stenberg
dac8c83ab4
tool_paramhelp: fix language in comments
and tweak the logic a little bit

Closes #17895
2025-07-12 21:54:32 +02:00
Viktor Szakats
7331208ec5
GHA/checksrc: use Linux for CI checks, merge job into misc checks
CI check used macOS before this patch, but with the help of Linuxbrew,
latest zizmor and shellcheck are also available on Linux.

Also:
- migrate CI checks to the misc check workflow, to make both shellcheck
  use the same, latest, shellcheck version, and to save the overhead of
  an extra workflow.

Closes #17911
2025-07-12 21:15:44 +02:00
Daniel McCarney
c23f81e5b2
docs: sync -tls-earlydata support w/ CURLOPT_SSL_OPTIONS
Support for early data has been added to wolfSSL and quictls/OpenSSL.

Closes #17909
2025-07-12 19:29:35 +02:00
Daniel McCarney
b234da49b6
docs: note SSLS-EXPORT feature in -ssl-sessions doc
Without a libcurl built with the SSLS-EXPORT feature this command line
option produces:

  curl: option --ssl-sessions: the installed libcurl version does not support this
  curl: try 'curl --help' or 'curl --manual' for more information

Add a note of warning on the -ssl-session docs page to account for this.

Closes #17909
2025-07-12 19:29:15 +02:00
Daniel McCarney
a2028823a8
lib/vts: fix a copy-pasted early data comment typo
In gtls.c there was a typo'd comment that I think was missing the word
"no" to indicate there's "no GnuTLS way to signal no EarlyData".

This commit fixes that typo, and also updates a copy-pasted instance
that made it into wolfssl.c where it should refer to the WolfSSL API
missing the capability, not GnuTLS.

Closes #17907
2025-07-12 19:27:36 +02:00
Daniel McCarney
d85b5d2656
lib/vtls: log rustls negotiated KEX group name
Closes #17906
2025-07-12 19:26:41 +02:00
Daniel McCarney
308922ed04
lib/vtls: prefer ciphersuite to cipher in msgs
Closes #17906
2025-07-12 19:26:38 +02:00
Daniel McCarney
e23ba71269
lib/vtls: prefer rustls-ffi ciphersuite name API
Closes #17906
2025-07-12 19:26:28 +02:00
Patrick Stoeckle
86f43af951
misc: fix typos
Just fixing some typos using: https://github.com/crate-ci/typos

Closes #17904
2025-07-12 08:59:44 +02:00
Viktor Szakats
c6b2d3d911
connect: drop unused struct member
Follow-up to 283af039c8 #14863

Closes #17908
2025-07-12 08:59:44 +02:00
Viktor Szakats
75395eb003
scripts: fix to quote the copyright email address
Also:
- fix the generated output in repo files.

Cherry-picked from #17877
Closes #17903
2025-07-12 08:59:44 +02:00
Viktor Szakats
886389dc01
lib: stop time() debug overrides at the end of source in altsvc, hsts
To avoid applying it to all other sources in unity mode.

This may have affected tests setting a custom time via `CURL_TIME`,
in unity builds: 446, 780, 781, 782, 783, 970, 972, 1654, 1660

Closes #17897
2025-07-12 08:59:44 +02:00
Viktor Szakats
368ba4e13f
tidy-up: drop redundant #ifdef before #undef
Closes #17899
2025-07-12 08:59:44 +02:00
Viktor Szakats
ddcfd2d511
tidy-up: whitespace (more in Perl)
Follow-up to 8eab2b7086 #17896
Cherry-picked from #17877
Closes #17901
2025-07-12 08:59:44 +02:00
Viktor Szakats
8eab2b7086
tidy-up: whitespace
Cherry-picked from #17877
Cherry-picked from #17876

Closes #17896
2025-07-11 13:32:54 +02:00
Viktor Szakats
202f0752ea
test1222: fix for out-of-tree and no-libcurl-manual builds
Before this patch this test succeeded silently and unconditionally,
when run on an out-of-tree curl build.

Also fix to exit gracefully if no libcurl manuals are found.

Fixing:
```
readline() on closed filehandle $m at ../../tests/test1222.pl line 153.
```

Cherry-picked from #17877
Closes #17892
2025-07-11 12:28:46 +02:00
Viktor Szakats
55509b045b
test1175: fix to run, and fix documentation issues detected
Fix test 1175 by passing the source root directory (was: tests).

Before this patch this caused silent Perl warnings and returning success
without executing the tests, due to:
```
readline() on closed filehandle $f at ../../tests/test1175.pl line 55.
readline() on closed filehandle $f at ../../tests/test1175.pl line 39.
```

Running the test revealed these issues:
```
CURLE_FUNCTION_NOT_FOUND is not in libcurl-errors.md
CURLE_HTTP_POST_ERROR is not in libcurl-errors.md
CURLE_TELNET_OPTION_SYNTAX is not in libcurl-errors.md
CURLM_CALL_MULTI_SOCKET is not in libcurl-errors.md
```

Apply fixes:
- mark `CURLE_FUNCTION_NOT_FOUND` deprecated by 7.53.0
- mark `CURLE_HTTP_POST_ERROR` deprecated by 7.56.0
- mark `CURLE_TELNET_OPTION_SYNTAX` deprecated by 7.78.0
- document `CURLM_CALL_MULTI_SOCKET` as a synonym for
  `CURLM_CALL_MULTI_PERFORM`
- test1477: exclude `CURLM_CALL_MULTI_SOCKET`.

But, these weren't officially deprecated. It may need more updates
to reflect that in other places, or fix the issues differently.

Follow-up to 66ec950004 #12424
Follow-up to 74f441c6d3 #4628

Cherry-picked from #17877
Closes #17880
2025-07-11 12:28:46 +02:00
Viktor Szakats
88ff396549
checksrc-all: rewrite in Perl, remove checksrc.bat
`checksrc.bat` was outdated and required Perl for `checksrc.pl` anyway.
Rewrite `checksrc-all.sh` in Perl, making it usable in envs without
a POSIX shell.

Closes #17882
2025-07-11 12:28:46 +02:00
Daniel Stenberg
f0b8137c1c
curl: remove the global argument from many functions
Since the config struct has a pointer to it, both pointers don't need to
be passed on.

Closes #17890
2025-07-10 23:28:31 +02:00
Daniel Stenberg
d516628d14
curl: unify pointer names to global config
Use 'config' for pointing to a OperationConfig

Use 'global' for pointing to GlobalConfig

Bonus: add config_alloc(), an easier way to allocate + init a new
OperationConfig struct.

Closes #17888
2025-07-10 18:23:17 +02:00
Stefan Eissing
695eee432f
h3: fix query of concurrent streams
Queries gave wrong value or ran into NULL pointers when called at
times when connection filter was not fully initialized.

Closes #17886
2025-07-10 17:29:54 +02:00
Stefan Eissing
74a94e699a
socks: fix query when filter context is null
socks connection filter context may be NULL at the time
of a query, accomodate for that.

Closes #17885
2025-07-10 17:28:49 +02:00
Stefan Eissing
51369ae78b
http2: fix var types in is_alive() implementations
Closes #17881
2025-07-10 10:47:04 +02:00
Daniel Stenberg
20ef31a751
projects/build-openssl.bat: remove
This is a script for building OpenSSL to be used with legacy Visual
Studio builds.

I don't think it is our job to provide nor maintain OpenSSL build
scripts.

Remove

Closes #17879
2025-07-10 10:28:01 +02:00
Viktor Szakats
7ed9dac2f9
libtests: more header tidy-ups
- make `test*` sources include `first.h`, like all others.
- drop redundant `curlx/*` includes after the above.
- merge `test.h` into `first.h`, now that no other file uses it.
  (and `first.h` had almost no content.)
  To simplify and sync header structure with other tests.

Closes #17875
2025-07-09 20:29:50 +02:00
Daniel Stenberg
897633eb21
docs: mention the as-is concept generically
for curl command line options and for curl_easy_setopt

Closes #17829
2025-07-09 15:32:46 +02:00
Viktor Szakats
a47695db33
test1499, 1599: use %LOGDIR
Fixing test 1599 also fixes these warnings in the test log:
```
Use of uninitialized value in join or string at /home/runner/work/curl/curl/tests/runner.pm line 774.
```
https://github.com/curl/curl/actions/runs/16157402085/job/45602590085?pr=17768#step:39:743

Assisted-by: Daniel Stenberg

Fixes #17871
Closes #17874
2025-07-09 13:52:18 +02:00
Viktor Szakats
7735cf8199
GHA/macos: adapt to macos-15 for upcoming macos-latest bump
macos-latest is soon to switch to macos-15. Make sure it keeps working.

Closes #17873
2025-07-09 13:52:18 +02:00
renovate[bot]
3163d0ac39
GHA: update dependency gnutls/gnutls to v3.8.10
Closes #17872
2025-07-09 13:52:17 +02:00
renovate[bot]
7ffb2cbf3e
renovate.json: migrate config to new format
Closes #17854
2025-07-09 10:40:36 +02:00
Daniel Stenberg
9990c14ba5
RELEASE-NOTES: synced 2025-07-09 10:32:26 +02:00
Viktor Szakats
784c17b7d9
tests: move curlcheck.h to libtest as unitcheck.h
To simplify dependencies, and sync tunits and units builds further.

`curlcheck.h` already depended on logic implemented within libtests:
it referenced a global variable (`unitfail`) defined in `first.c` and
declared in `test.h`.

Also:
- rename to `unitcheck.h` to indicate it's meant for unit tests.
- make `unitcheck.h` include `first.h` instead of `test.h`.
  This brings header use closer to libtests. It also includes
  `curlx/curlx.h` for all unit tests by default now.
- move `unitfail` declaration from `test.h` to `first.h`.
  To match its definition in `first.c`.
- drop now redundant per-test curlx header includes.

Closes #17868
2025-07-09 02:29:25 +02:00
Viktor Szakats
9db9137066
tests: fix 1301, 1308 to fail on error
They were using a macro designed for unit tests. It does not fail when
used in libtests. Make similar macros for these tests, and make them
return a failure.

Also:
- makes these two tests align with the rest of libtests, by including
  `first.h` instead of `curlcheck.h`.
- since libtests no longer need to depend on tests/unit, drop this
  dependency from build scripts.

Closes #17867
2025-07-09 00:55:28 +02:00
Karthik Dasari
454395ba1e
curl_osslq: fix missing include of url.h
Follow-up to 4ccf3a31f5 #17783
Follow-up to b270fec68d #17858
Ref: #17857
Closes #17864
2025-07-08 19:58:21 +02:00