Commit Graph

35583 Commits

Author SHA1 Message Date
Viktor Szakats
7946bbbbe2
tests: drop unused CURL_FORCEHOST envs
Also match case of the `Debug` feature name in comments.

Closes #17972
2025-07-19 20:35:48 +02:00
renovate[bot]
e9a4f5cad0
GHA: update dependency wolfSSL/wolfssl to v5.8.2
Closes #17956
2025-07-18 00:54:34 +02:00
Viktor Szakats
2d4e166b65
curl/system.h: fix for GCC 3.3.x and older
The guards implicitly and intentionally include clang, which reports
itself as GCC 4.2.1.

Ref: https://gcc.gnu.org/onlinedocs/gcc-3.4.6/gcc/Other-Builtins.html#Other-Builtins
Ref: https://www.haiku-os.org/guides/building/gcc-hybrid (Haiku uses gcc 2.95.3)

Follow-up to 909af1a43b #16761

Reported-by: Schrijvers Luc
Fixes #17951
Closes #17954
2025-07-18 00:54:34 +02:00
Viktor Szakats
1a441c3c0a
DISTROS.md: add Haiku
Closes #17953
2025-07-18 00:54:34 +02:00
Viktor Szakats
2c7902ec4a
build: link to Apple frameworks required by static wolfSSL
To fix linking a static wolfSSL library for Apple targets.
Also stop linking `m` and `dl` on Apple platforms.

Matching logic in wolfSSL build code:
8bde512676/CMakeLists.txt (L2520-L2544)

Reported-by: Kai Pastor
Reported-by: Tal Regev
Bug: https://github.com/microsoft/vcpkg/pull/46444#pullrequestreview-3026575393
Ref: 3a845c4b15

Closes #17945
2025-07-18 00:54:34 +02:00
Stefan Eissing
044de8e19b
gnutls: some small cleanups
- de-complex Curl_gtls_verifyserver() by splitting of static
  functions for parts of it.
- follow the `goto out` style with common deallocation code

Closes #17941
2025-07-18 00:41:09 +02:00
Stefan Eissing
3ad4b44073
openssl: some small cleanups
- rename Curl_oss_check_peer_cert() to Curl_ossl_check_peer_cert()
- leave altname match loop after the first success when the match
  was an ip address
- remove static subj_alt_hostcheck() since it did not really do much
- use length based infof() output of altname, even though it does
  seem always to be nul terminated

Closes #17940
2025-07-18 00:40:26 +02:00
Ammar Faizi
5cefe93eb6
socks: do_SOCKS5: Fix invalid buffer content on short send
Ahmad Gani intercepts the sendto syscall to simulate short send, but
curl incorrectly handles it. It keeps resending the version:

  sendto(4, "\x05", 1, MSG_NOSIGNAL, NULL, 0) = 1
  sendto(4, "\x05", 1, MSG_NOSIGNAL, NULL, 0) = 1

Don't restart the buffer in the `CONNECT_SOCKS_INIT` case if
`sx->outstanding` is not zero. It should continue sending the
advanced buffer.

Fixes #17942
Reported-by: Ahmad Gani <reyuki@gnuweeb.org>
Signed-off-by: Ammar Faizi <ammarfaizi2@gnuweeb.org>
Closes #17943
2025-07-18 00:38:15 +02:00
Daniel Stenberg
bfa317c8cd
curlver: bump to 8.15.1 (for now?) 2025-07-18 00:38:14 +02:00
Daniel Stenberg
f5d7d7637c
RELEASE-NOTES: synced
And bump version
2025-07-18 00:36:15 +02:00
Daniel Stenberg
6e44631d9c
tool_operate: avoid superfluous strdup'ing output
Closes #17946
2025-07-18 00:32:13 +02:00
Daniel Stenberg
cfbfb65047
RELEASE-NOTES: synced
8.15.0 release
2025-07-16 08:21:07 +02:00
Daniel Stenberg
566428160b
THANKS: new contributors in 8.15.0 2025-07-16 08:19:39 +02:00
Viktor Szakats
4ed1c14545
autotools: stop checking for the pw32 platform
It's most likely a reference to Posix-over-Win32 layer:

https://pw32.sourceforge.net/main.html (last updated: 2001-05-01)
https://sourceforge.net/projects/pw32/
https://sourceforge.net/projects/pw32/files/ (latest date: 2001-10-12)

Closes #17936
2025-07-15 18:43:12 +02:00
Daniel Stenberg
1962573a93
release-notes.pl: ignore dupes on input and output
Re-running this script now makes it track the already mentioned
changelog entries and not add them again even if the git log contains
them.

This makes the script better handle reruns in a release branch after
rebasing on a later version of master.

Closes #17937
2025-07-15 18:28:37 +02:00
Max Dymond
48c6927f3b ci: consolidate openldap step into openssl krb5
Closes #17891
2025-07-15 14:54:44 +01:00
Max Dymond
4910ee0dc3 ci: fix ldap install location and add renovate rule for openldap 2025-07-15 14:54:44 +01:00
Max Dymond
c8a990f079 ci: install libssl-dev in the openldap static test 2025-07-15 14:54:44 +01:00
Max Dymond
b027a18456 configure: order LDAP after the SSL libraries 2025-07-15 14:54:44 +01:00
Max Dymond
ab03ea99a3 ldap: If ldap-lib is sufficient, add it to LIBS. 2025-07-15 14:54:44 +01:00
Max Dymond
272ec86925 ldap: avoid automake caching issues with LDAP library names 2025-07-15 14:54:44 +01:00
Max Dymond
fd820733dd test: add a test for static LDAP 2025-07-15 14:54:44 +01:00
Max Dymond
c538bf5419 ldap: initial support for --with-ldap option
Add the --with-ldap option so we can specify an include and library path for LDAP.
2025-07-15 14:54:44 +01:00
Viktor Szakats
4b86d369b6
DEPRECATE.md: add VS2005 removal to the list
Follow-up to e0fd5790d9 #16004

Closes #17934
2025-07-15 15:47:31 +02:00
Daniel Stenberg
e507f9347a
test3207: allow more allocations
This limit was triggered in a PR that did not change any sizes, showing
the previous limit for this was a little tight.

Ref: #17894
Closes #17932
2025-07-15 14:14:50 +02:00
Viktor Szakats
8535068c24
config-win32: fix to set target version early
To set it before checking for it while enabling `HAVE_INET_NTOP` and
`HAVE_INET_PTON` for Vista (and up) targets.

May have affected winbuild or Visual Studio IDE Project Files.

Follow-up to 68fa9bf3f5 #9712

Closes #17928
2025-07-15 12:56:05 +02:00
Viktor Szakats
464fc67fbe
test1706: pass include directory to managen for out-of-tree builds
Fixing:
```
readline() on closed filehandle INC at ../../curl-99.98.97/tests/../scripts/managen line 1299.
```
Ref: https://github.com/curl/curl/actions/runs/16224106087/job/45811979199?pr=17877#step:3:8545

Cherry-picked from #17877
Closes #17926
2025-07-14 21:23:37 +02:00
Viktor Szakats
c680aa11af
genserv.pl: fix newline in usage text
Cherry-picked from #17877
2025-07-14 20:54:07 +02:00
Viktor Szakats
3222eabe18
tidy-up: whitespace/indent
Closes #17925
2025-07-14 18:33:43 +02:00
Stefan Eissing
e9ae1bd404
connection: clarify transport
The `transport` to use for a transfer, e.g. TCP/QUIC/UNIX/UDP, is
initially selected by options and protocol used. This is set at the
`struct connectdata` as `transport` member.

During connection establishment, this transport may change due to
Alt-Svc or Happy-Eyeballing. Most common is the switch from TCP to QUIC.

Rename the connection member to `transport_wanted` and add a way to
query the connection for the transport in use via a new connection
filter query.

The filter query can also be used in the happy eyeballing attempts when
code needs to know which transport is used by the "filter below". This
happens in wolfssl initialization, as one example.

Closes #17923
2025-07-14 14:33:18 +02:00
Stefan Eissing
674ad27f77
http/3: report handshake with version and cipher as for TCP connections
Make reporting into separate functions, to be called from QUIC handshakes
as well.

Closes #17922
2025-07-14 14:08:32 +02:00
Viktor Szakats
f98c0ba834
GHA/windows: drop Windows CE jobs from CI
In preparation for the removal of Windows CE support.

These jobs were also using a macOS runner, which is a waste. And it'd be
too much effort to move them over to Windows or Linux.

Follow-up to 8491e6574c #17379

Closes #17924
2025-07-14 14:01:46 +02:00
Viktor Szakats
8675c9e3f3
GHA: move iOS jobs from non-native to macos workflow
No instant benefit, but it brings all Apple jobs into the same workflow.

Then perhaps allows intergrating iOS jobs with macOS ones, and in
the meantime keep them more tightly aligned.

Closes #17912
2025-07-14 14:01:46 +02:00
Viktor Szakats
2f3890baaf
config-win32: fix default targets, shorten macro logic
When using winbuild or Visual Studio IDE Project Files.
To simplify and prepare for dropping support for VS2008.

Details:
- fix VS2012 default target to be Windows 8 (was Vista).
  Confirmed by CI:
  ```
  -- The C compiler identification is MSVC 17.0.61030.0
  -- Found _WIN32_WINNT=0x0602
  ```
  Ref: https://ci.appveyor.com/project/curlorg/curl/builds/51594696/job/elbl0w5n7fmoos2f#L45
  It also aligns with the default being Windows 7 for VS2010,
  and Windows Vista for VS2008.
- bump minimum target to XP (was Windows 2000) when using VS2008.
  curl requires XP.
- add Windows release names to comments for clarity.
- add hex Windows version to a comment for clarity.
- merge VS2008/VS2012 minimum/default logic and comments.
- reduce scope of local minimum/default macros.
- shorten comments to fit within line limit.

Closes #17916
2025-07-14 13:18:32 +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