]> git.ipfire.org Git - thirdparty/curl.git/log
thirdparty/curl.git
2 weeks agotests: drop unused `CURL_FORCEHOST` envs
Viktor Szakats [Sat, 19 Jul 2025 17:47:36 +0000 (19:47 +0200)] 
tests: drop unused `CURL_FORCEHOST` envs

Also match case of the `Debug` feature name in comments.

Closes #17972

2 weeks agoGHA: update dependency wolfSSL/wolfssl to v5.8.2
renovate[bot] [Thu, 17 Jul 2025 22:33:11 +0000 (22:33 +0000)] 
GHA: update dependency wolfSSL/wolfssl to v5.8.2

Closes #17956

2 weeks agocurl/system.h: fix for GCC 3.3.x and older
Viktor Szakats [Thu, 17 Jul 2025 16:13:37 +0000 (18:13 +0200)] 
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 909af1a43b5a7fed8b5a4ca145e39f46b2f50325 #16761

Reported-by: Schrijvers Luc
Fixes #17951
Closes #17954

2 weeks agoDISTROS.md: add Haiku
Viktor Szakats [Thu, 17 Jul 2025 15:32:37 +0000 (17:32 +0200)] 
DISTROS.md: add Haiku

Closes #17953

2 weeks agobuild: link to Apple frameworks required by static wolfSSL
Viktor Szakats [Wed, 16 Jul 2025 21:44:13 +0000 (23:44 +0200)] 
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:
https://github.com/wolfSSL/wolfssl/blob/8bde512676fd425d72682fa020362eb9916476ad/CMakeLists.txt#L2520-L2544

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

Closes #17945

2 weeks agognutls: some small cleanups
Stefan Eissing [Wed, 16 Jul 2025 10:22:30 +0000 (12:22 +0200)] 
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

2 weeks agoopenssl: some small cleanups
Stefan Eissing [Wed, 16 Jul 2025 09:10:13 +0000 (11:10 +0200)] 
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

2 weeks agosocks: do_SOCKS5: Fix invalid buffer content on short send
Ammar Faizi [Wed, 16 Jul 2025 13:22:43 +0000 (20:22 +0700)] 
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

2 weeks agocurlver: bump to 8.15.1 (for now?)
Daniel Stenberg [Thu, 17 Jul 2025 22:37:51 +0000 (00:37 +0200)] 
curlver: bump to 8.15.1 (for now?)

2 weeks agoRELEASE-NOTES: synced
Daniel Stenberg [Thu, 17 Jul 2025 22:36:15 +0000 (00:36 +0200)] 
RELEASE-NOTES: synced

And bump version

2 weeks agotool_operate: avoid superfluous strdup'ing output
Daniel Stenberg [Wed, 16 Jul 2025 22:06:55 +0000 (00:06 +0200)] 
tool_operate: avoid superfluous strdup'ing output

Closes #17946

2 weeks agoRELEASE-NOTES: synced curl-8_15_0
Daniel Stenberg [Wed, 16 Jul 2025 06:19:39 +0000 (08:19 +0200)] 
RELEASE-NOTES: synced

8.15.0 release

2 weeks agoTHANKS: new contributors in 8.15.0
Daniel Stenberg [Wed, 16 Jul 2025 06:19:39 +0000 (08:19 +0200)] 
THANKS: new contributors in 8.15.0

2 weeks agoautotools: stop checking for the `pw32` platform
Viktor Szakats [Tue, 15 Jul 2025 15:41:52 +0000 (17:41 +0200)] 
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

2 weeks agorelease-notes.pl: ignore dupes on input and output
Daniel Stenberg [Tue, 15 Jul 2025 15:43:57 +0000 (17:43 +0200)] 
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

2 weeks agoci: consolidate openldap step into openssl krb5
Max Dymond [Tue, 15 Jul 2025 11:27:53 +0000 (12:27 +0100)] 
ci: consolidate openldap step into openssl krb5

Closes #17891

2 weeks agoci: fix ldap install location and add renovate rule for openldap
Max Dymond [Sat, 12 Jul 2025 16:04:43 +0000 (17:04 +0100)] 
ci: fix ldap install location and add renovate rule for openldap

2 weeks agoci: install libssl-dev in the openldap static test
Max Dymond [Thu, 10 Jul 2025 19:49:29 +0000 (20:49 +0100)] 
ci: install libssl-dev in the openldap static test

2 weeks agoconfigure: order LDAP after the SSL libraries
Max Dymond [Thu, 10 Jul 2025 19:39:55 +0000 (20:39 +0100)] 
configure: order LDAP after the SSL libraries

2 weeks agoldap: If ldap-lib is sufficient, add it to LIBS.
Max Dymond [Thu, 10 Jul 2025 19:34:17 +0000 (20:34 +0100)] 
ldap: If ldap-lib is sufficient, add it to LIBS.

2 weeks agoldap: avoid automake caching issues with LDAP library names
Max Dymond [Thu, 10 Jul 2025 19:15:03 +0000 (20:15 +0100)] 
ldap: avoid automake caching issues with LDAP library names

2 weeks agotest: add a test for static LDAP
Max Dymond [Thu, 10 Jul 2025 18:43:06 +0000 (19:43 +0100)] 
test: add a test for static LDAP

2 weeks agoldap: initial support for --with-ldap option
Max Dymond [Thu, 10 Jul 2025 18:31:15 +0000 (19:31 +0100)] 
ldap: initial support for --with-ldap option

Add the --with-ldap option so we can specify an include and library path for LDAP.

2 weeks agoDEPRECATE.md: add VS2005 removal to the list
Viktor Szakats [Tue, 15 Jul 2025 12:53:16 +0000 (14:53 +0200)] 
DEPRECATE.md: add VS2005 removal to the list

Follow-up to e0fd5790d94feb239f7d2457578f2a34c85cdd65 #16004

Closes #17934

2 weeks agotest3207: allow more allocations
Daniel Stenberg [Tue, 15 Jul 2025 11:39:49 +0000 (13:39 +0200)] 
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

2 weeks agoconfig-win32: fix to set target version early
Viktor Szakats [Tue, 15 Jul 2025 08:56:28 +0000 (10:56 +0200)] 
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 68fa9bf3f5d7b4fcbb57619f70cb4aabb79a51f6 #9712

Closes #17928

2 weeks agotest1706: pass include directory to `managen` for out-of-tree builds
Viktor Szakats [Fri, 11 Jul 2025 16:02:32 +0000 (18:02 +0200)] 
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

2 weeks agogenserv.pl: fix newline in usage text
Viktor Szakats [Wed, 9 Jul 2025 20:21:29 +0000 (22:21 +0200)] 
genserv.pl: fix newline in usage text

Cherry-picked from #17877

2 weeks agotidy-up: whitespace/indent
Viktor Szakats [Mon, 14 Jul 2025 11:48:52 +0000 (13:48 +0200)] 
tidy-up: whitespace/indent

Closes #17925

3 weeks agoconnection: clarify `transport`
Stefan Eissing [Mon, 14 Jul 2025 09:41:59 +0000 (11:41 +0200)] 
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

3 weeks agohttp/3: report handshake with version and cipher as for TCP connections
Stefan Eissing [Mon, 14 Jul 2025 07:33:53 +0000 (09:33 +0200)] 
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

3 weeks agoGHA/windows: drop Windows CE jobs from CI
Viktor Szakats [Mon, 14 Jul 2025 11:22:23 +0000 (13:22 +0200)] 
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 8491e6574cde770b227ca0e1cd66548291f49661 #17379

Closes #17924

3 weeks agoGHA: move iOS jobs from non-native to macos workflow
Viktor Szakats [Sat, 12 Jul 2025 19:28:23 +0000 (21:28 +0200)] 
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

3 weeks agoconfig-win32: fix default targets, shorten macro logic
Viktor Szakats [Sun, 13 Jul 2025 11:36:45 +0000 (13:36 +0200)] 
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

3 weeks agorunner.pm: use `dirname()` in `singletest_prepare()`
Viktor Szakats [Fri, 11 Jul 2025 13:07:16 +0000 (15:07 +0200)] 
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

3 weeks agoVULN-DISCLOSURE-POLICY.md: 7 days embargo is max
Daniel Stenberg [Mon, 14 Jul 2025 06:59:04 +0000 (08:59 +0200)] 
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 83c90e50472f32b74e388f6e524d

Closes #17921

3 weeks agotop-complexity: also output average complexity
Daniel Stenberg [Sun, 13 Jul 2025 21:41:59 +0000 (23:41 +0200)] 
top-complexity: also output average complexity

Closes #17920

3 weeks agoRELEASE-NOTES: synced
Daniel Stenberg [Sun, 13 Jul 2025 15:44:22 +0000 (17:44 +0200)] 
RELEASE-NOTES: synced

3 weeks agotests: raise two memory limits
Daniel Stenberg [Sun, 13 Jul 2025 14:59:36 +0000 (16:59 +0200)] 
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

3 weeks agoaltsvc: accept 'clear' without semicolon as well
Daniel Stenberg [Sun, 13 Jul 2025 14:32:55 +0000 (16:32 +0200)] 
altsvc: accept 'clear' without semicolon as well

Extend test 1654 to verify

Fixes #17917
Reported-by: Luke Wilde
Closes #17918

3 weeks agoGHA: minor tidy-ups
Viktor Szakats [Sun, 13 Jul 2025 01:28:19 +0000 (03:28 +0200)] 
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

3 weeks agolibcurl.m4: fix indentation
Viktor Szakats [Sun, 13 Jul 2025 00:25:49 +0000 (02:25 +0200)] 
libcurl.m4: fix indentation

Closes #17913

3 weeks agowolfssl: add support for ML_KEM hybrids
Ryan Hooper [Fri, 11 Jul 2025 14:31:49 +0000 (10:31 -0400)] 
wolfssl: add support for ML_KEM hybrids

For parity with OpenSSL 3.5

Closes #17902

3 weeks agotool_paramhelp: fix language in comments
Daniel Stenberg [Fri, 11 Jul 2025 07:23:50 +0000 (09:23 +0200)] 
tool_paramhelp: fix language in comments

and tweak the logic a little bit

Closes #17895

3 weeks agoGHA/checksrc: use Linux for CI checks, merge job into misc checks
Viktor Szakats [Sat, 12 Jul 2025 16:07:51 +0000 (18:07 +0200)] 
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

3 weeks agodocs: sync -tls-earlydata support w/ CURLOPT_SSL_OPTIONS
Daniel McCarney [Sat, 12 Jul 2025 00:52:44 +0000 (20:52 -0400)] 
docs: sync -tls-earlydata support w/ CURLOPT_SSL_OPTIONS

Support for early data has been added to wolfSSL and quictls/OpenSSL.

Closes #17909

3 weeks agodocs: note SSLS-EXPORT feature in -ssl-sessions doc
Daniel McCarney [Sat, 12 Jul 2025 00:41:39 +0000 (20:41 -0400)] 
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

3 weeks agolib/vts: fix a copy-pasted early data comment typo
Daniel McCarney [Fri, 11 Jul 2025 20:19:12 +0000 (16:19 -0400)] 
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

3 weeks agolib/vtls: log rustls negotiated KEX group name
Daniel McCarney [Fri, 11 Jul 2025 20:00:01 +0000 (16:00 -0400)] 
lib/vtls: log rustls negotiated KEX group name

Closes #17906

3 weeks agolib/vtls: prefer ciphersuite to cipher in msgs
Daniel McCarney [Fri, 11 Jul 2025 19:56:04 +0000 (15:56 -0400)] 
lib/vtls: prefer ciphersuite to cipher in msgs

Closes #17906

3 weeks agolib/vtls: prefer rustls-ffi ciphersuite name API
Daniel McCarney [Fri, 11 Jul 2025 19:52:08 +0000 (15:52 -0400)] 
lib/vtls: prefer rustls-ffi ciphersuite name API

Closes #17906

3 weeks agomisc: fix typos
Patrick Stoeckle [Fri, 11 Jul 2025 18:59:53 +0000 (20:59 +0200)] 
misc: fix typos

Just fixing some typos using: https://github.com/crate-ci/typos

Closes #17904

3 weeks agoconnect: drop unused struct member
Viktor Szakats [Fri, 11 Jul 2025 20:40:41 +0000 (22:40 +0200)] 
connect: drop unused struct member

Follow-up to 283af039c819bd8039f8d7314f924079782d5abb #14863

Closes #17908

3 weeks agoscripts: fix to quote the copyright email address
Viktor Szakats [Fri, 11 Jul 2025 12:42:13 +0000 (14:42 +0200)] 
scripts: fix to quote the copyright email address

Also:
- fix the generated output in repo files.

Cherry-picked from #17877
Closes #17903

3 weeks agolib: stop `time()` debug overrides at the end of source in altsvc, hsts
Viktor Szakats [Fri, 11 Jul 2025 11:45:06 +0000 (13:45 +0200)] 
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

3 weeks agotidy-up: drop redundant `#ifdef` before `#undef`
Viktor Szakats [Tue, 8 Jul 2025 12:15:45 +0000 (14:15 +0200)] 
tidy-up: drop redundant `#ifdef` before `#undef`

Closes #17899

3 weeks agotidy-up: whitespace (more in Perl)
Viktor Szakats [Fri, 11 Jul 2025 14:04:24 +0000 (16:04 +0200)] 
tidy-up: whitespace (more in Perl)

Follow-up to 8eab2b70860e285525130f69b22ac5567292c659 #17896
Cherry-picked from #17877
Closes #17901

3 weeks agotidy-up: whitespace
Viktor Szakats [Tue, 8 Jul 2025 11:59:32 +0000 (13:59 +0200)] 
tidy-up: whitespace

Cherry-picked from #17877
Cherry-picked from #17876

Closes #17896

3 weeks agotest1222: fix for out-of-tree and no-libcurl-manual builds
Viktor Szakats [Thu, 10 Jul 2025 23:39:36 +0000 (01:39 +0200)] 
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

3 weeks agotest1175: fix to run, and fix documentation issues detected
Viktor Szakats [Wed, 9 Jul 2025 22:36:03 +0000 (00:36 +0200)] 
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 66ec950004cd45350ad81134557be86391397048 #12424
Follow-up to 74f441c6d31ff8f8bfd242c3d4027d4a56230ce1 #4628

Cherry-picked from #17877
Closes #17880

3 weeks agochecksrc-all: rewrite in Perl, remove `checksrc.bat`
Viktor Szakats [Thu, 10 Jul 2025 07:55:02 +0000 (09:55 +0200)] 
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

3 weeks agocurl: remove the global argument from many functions
Daniel Stenberg [Thu, 10 Jul 2025 16:33:50 +0000 (18:33 +0200)] 
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

3 weeks agocurl: unify pointer names to global config
Daniel Stenberg [Thu, 10 Jul 2025 14:10:59 +0000 (16:10 +0200)] 
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

3 weeks agoh3: fix query of concurrent streams
Stefan Eissing [Thu, 10 Jul 2025 11:18:03 +0000 (13:18 +0200)] 
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

3 weeks agosocks: fix query when filter context is null
Stefan Eissing [Thu, 10 Jul 2025 10:29:25 +0000 (12:29 +0200)] 
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

3 weeks agohttp2: fix var types in is_alive() implementations
Stefan Eissing [Thu, 10 Jul 2025 07:36:19 +0000 (09:36 +0200)] 
http2: fix var types in is_alive() implementations

Closes #17881

3 weeks agoprojects/build-openssl.bat: remove
Daniel Stenberg [Wed, 9 Jul 2025 20:51:37 +0000 (22:51 +0200)] 
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

3 weeks agolibtests: more header tidy-ups
Viktor Szakats [Wed, 9 Jul 2025 14:33:17 +0000 (16:33 +0200)] 
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

3 weeks agodocs: mention the as-is concept generically
Daniel Stenberg [Sun, 6 Jul 2025 10:33:51 +0000 (12:33 +0200)] 
docs: mention the as-is concept generically

for curl command line options and for curl_easy_setopt

Closes #17829

3 weeks agotest1499, 1599: use `%LOGDIR`
Viktor Szakats [Wed, 9 Jul 2025 11:01:57 +0000 (13:01 +0200)] 
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

3 weeks agoGHA/macos: adapt to macos-15 for upcoming macos-latest bump
Viktor Szakats [Wed, 9 Jul 2025 08:44:39 +0000 (10:44 +0200)] 
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

3 weeks agoGHA: update dependency gnutls/gnutls to v3.8.10
renovate[bot] [Wed, 9 Jul 2025 08:41:47 +0000 (08:41 +0000)] 
GHA: update dependency gnutls/gnutls to v3.8.10

Closes #17872

3 weeks agorenovate.json: migrate config to new format rc-8_15_0-3
renovate[bot] [Mon, 7 Jul 2025 17:21:22 +0000 (17:21 +0000)] 
renovate.json: migrate config to new format

Closes #17854

3 weeks agoRELEASE-NOTES: synced
Daniel Stenberg [Wed, 9 Jul 2025 08:32:26 +0000 (10:32 +0200)] 
RELEASE-NOTES: synced

3 weeks agotests: move `curlcheck.h` to libtest as `unitcheck.h`
Viktor Szakats [Tue, 8 Jul 2025 22:43:44 +0000 (00:43 +0200)] 
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

3 weeks agotests: fix 1301, 1308 to fail on error
Viktor Szakats [Tue, 8 Jul 2025 20:38:02 +0000 (22:38 +0200)] 
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

3 weeks agocurl_osslq: fix missing include of url.h
Karthik Dasari [Tue, 8 Jul 2025 16:28:47 +0000 (21:58 +0530)] 
curl_osslq: fix missing include of url.h

Follow-up to 4ccf3a31f596b1055d9f128e45d0a647d59b6f53 #17783
Follow-up to b270fec68dc66c7a3d37a283cc147ba3c6fa7297 #17858
Ref: #17857
Closes #17864

3 weeks agowindows: drop redundant `curl_wcsdup_callback` callback
Viktor Szakats [Mon, 7 Jul 2025 09:46:26 +0000 (11:46 +0200)] 
windows: drop redundant `curl_wcsdup_callback` callback

This callback was permanently mapped to libcurl's internal
`Curl_wcsdup()`, which always uses the customizable malloc for
allocation, thus making a custom mapping redundant anyway.

To simplify, drop the callback and map `_tcsdup()` in Unicode mode
directly to `Curl_wcsdup()`.

Also fixes:
- `curl_global_init()` which, before this patch, (re)initialized its
  mapping to `_wcsdup()`, returning buffers potentially incompatible
  with a custom allocator.
  Bug: https://github.com/curl/curl/pull/17840#issuecomment-3044361245
  Bug: https://github.com/curl/curl/pull/7540#issuecomment-2380995349
Co-reported-by: Luca Kellermann
Follow-up to 76e047fc27b3a0b9e6d6d00cacf536e7b7c1b532 #7540
Assisted-by: Jay Satiro
Closes #17843

3 weeks agoexamples: beef up websocket.c
Stefan Eissing [Tue, 8 Jul 2025 10:05:09 +0000 (12:05 +0200)] 
examples: beef up websocket.c

Make `docs/examples/websocket.c more complete by showing how to handle
CURLE_AGAIN return codes and incomplete sends.

Reported-by: Markus Unterwaditzer
Fixes #13288
Closes #17860

3 weeks agoKNOWN_BUGS: 10.2 Does not acknowledge getaddrinfo sorting policy
Daniel Stenberg [Tue, 8 Jul 2025 10:47:58 +0000 (12:47 +0200)] 
KNOWN_BUGS: 10.2 Does not acknowledge getaddrinfo sorting policy

Closes #16718
Closes #17861

3 weeks agolibssh: fix readdir issues
Eshan Kelkar [Tue, 8 Jul 2025 07:12:29 +0000 (12:42 +0530)] 
libssh: fix readdir issues

Signed-off-by: Eshan Kelkar <eshankelkar@galorithm.com>
Closes #17856

3 weeks agoquiche: fix missing include of url.h
Stefan Eissing [Tue, 8 Jul 2025 08:47:51 +0000 (10:47 +0200)] 
quiche: fix missing include of url.h

Reported-by: Karthik Dasari
Fixes #17857
Closes #17858

3 weeks agoruntests: support memory-limits per test
Daniel Stenberg [Fri, 4 Jul 2025 21:57:03 +0000 (23:57 +0200)] 
runtests: support memory-limits per test

The idea here is to set limits per test how many allocations and maximum
amount of memory it is allowed to use. This is a means to make sure the
number and total size of allocations are kept in check and don't
mistakenly "blow up".

If runtests.pl detects that the given limits have been exceeded it fails
the test case with an error.

The `<verify>` part now supports `<limits>`, and in this section two
limits can be set for each test (verified in debug builds only):

    Allocations: [number of allocation calls]
    Maximum allocated: [maximum concurrent memory allocated]

Default limits (used if nothing is set in the test file):

    Allocations: 1000
    Maximum allocated: 1000000

Closes #17821

3 weeks agoGHA: update dependency cloudflare/quiche to v0.24.4
renovate[bot] [Mon, 7 Jul 2025 17:22:15 +0000 (17:22 +0000)] 
GHA: update dependency cloudflare/quiche to v0.24.4

Closes #17849

3 weeks agoGHA: update dependency nghttp2/nghttp2 to v1.66.0
renovate[bot] [Mon, 7 Jul 2025 15:40:47 +0000 (15:40 +0000)] 
GHA: update dependency nghttp2/nghttp2 to v1.66.0

Closes #17850

3 weeks agoGHA: update dependency awslabs/aws-lc to v1.55.0
renovate[bot] [Mon, 7 Jul 2025 15:40:02 +0000 (15:40 +0000)] 
GHA: update dependency awslabs/aws-lc to v1.55.0

Closes #17847

3 weeks agoGHA: update dependency Mbed-TLS/mbedtls to v3.6.4
renovate[bot] [Mon, 7 Jul 2025 15:39:58 +0000 (15:39 +0000)] 
GHA: update dependency Mbed-TLS/mbedtls to v3.6.4

Closes #17846

3 weeks agoGHA/distcheck: add missing timeout, reduce existing
Viktor Szakats [Mon, 7 Jul 2025 17:07:28 +0000 (19:07 +0200)] 
GHA/distcheck: add missing timeout, reduce existing

Also hung around an `apt update`:
https://github.com/curl/curl/actions/runs/16121486815/job/45488127176?pr=17847

Closes #17853

3 weeks agoGHA/curl-for-win: reduce job timeout to 10m, apply to Windows jobs
Viktor Szakats [Mon, 7 Jul 2025 16:51:15 +0000 (18:51 +0200)] 
GHA/curl-for-win: reduce job timeout to 10m, apply to Windows jobs

The timeout was missing from two Windows jobs, making them linger for
a long time due to a command waiting forever.

As seen today with/after `apt update`:
https://github.com/curl/curl/actions/runs/16121485403/job/45488122962?pr=17846

Closes #17852

4 weeks agoCI: sync curl download command-line options
Viktor Szakats [Mon, 7 Jul 2025 14:19:24 +0000 (16:19 +0200)] 
CI: sync curl download command-line options

- circleci: pipe to tar.
- use long options uniformly.
- sync option order.
- set timeout where missing.
- set retry where missing.
- set `--retry-connrefused` where missing.
- set `--disable` where missing.
- lower 999s timeouts to 120s.

Closes #17851

4 weeks agoGHA/linux: fix output in download-decompress commands
Viktor Szakats [Mon, 7 Jul 2025 14:13:04 +0000 (16:13 +0200)] 
GHA/linux: fix output in download-decompress commands

Regression from 17a669426f36b467dfd945b4b35f6211598b7977 #17537

Closes #17848

4 weeks agomemory: tidy up `_tcsdup()` override
Viktor Szakats [Mon, 7 Jul 2025 13:11:53 +0000 (15:11 +0200)] 
memory: tidy up `_tcsdup()` override

Follow-up to ef2ccf862f8fbfe5cb86cb716aead57694a95ef5 #17840
Closes #17845

4 weeks agorenovate.json: fix patterns for OpenSSL, QuicTLS and generic
Daniel Stenberg [Mon, 7 Jul 2025 11:03:14 +0000 (13:03 +0200)] 
renovate.json: fix patterns for OpenSSL, QuicTLS and generic

Follow-up to 17a669426f

Closes #17842

4 weeks agomemory: stop overriding unused `wcsdup()`/`_wcsdup()` system functions
Viktor Szakats [Mon, 7 Jul 2025 09:46:26 +0000 (11:46 +0200)] 
memory: stop overriding unused `wcsdup()`/`_wcsdup()` system functions

Also ban them via `checksrc`.

The code continues to use `_tcsdup()`.

Assisted-by: Daniel Stenberg
Closes #17840

4 weeks agoGHA: update cygwin/cygwin-install-action version number to v6
renovate[bot] [Mon, 7 Jul 2025 12:20:55 +0000 (12:20 +0000)] 
GHA: update cygwin/cygwin-install-action version number to v6

Existing hash received a release tag.

Follow-up to 4c20eb71083268c20f1018145e0de1dff18d5878 #17118
Closes #17844

4 weeks agocurl.h: make CURL_IPRESOLVE_* symbols defined as longs
Christian Hesse [Tue, 1 Jul 2025 08:29:13 +0000 (10:29 +0200)] 
curl.h: make CURL_IPRESOLVE_* symbols defined as longs

... as `curl_easy_setopt()` expects them to be.

Also remove some casting workarounds.

Closes #17790

4 weeks agoGHA: bump OpenSSL to 3.5.1
Daniel Stenberg [Mon, 7 Jul 2025 10:54:31 +0000 (12:54 +0200)] 
GHA: bump OpenSSL to 3.5.1

Closes #17841

4 weeks agolibssh2: remove use of 'initialised' for cleanup
Daniel Stenberg [Mon, 7 Jul 2025 06:23:15 +0000 (08:23 +0200)] 
libssh2: remove use of 'initialised' for cleanup

It could previously cause a memory-leak when the cleanup was not
performed because it was not set.

Reported-by: albrechtd on github
Fixes #17819
Closes #17837

4 weeks agoRELEASE-NOTES: synced
Daniel Stenberg [Mon, 7 Jul 2025 07:35:19 +0000 (09:35 +0200)] 
RELEASE-NOTES: synced

4 weeks agodocs,tests: fix english grammar "allow to" -> "allow <something> to"
Carlos Henrique Lima Melara [Wed, 2 Jul 2025 00:18:46 +0000 (21:18 -0300)] 
docs,tests: fix english grammar "allow to" -> "allow <something> to"

This was spotted by Debian's lintian tool. It adds an informational
warning at every run, so my OCD was kicking in and I had to fix it :-)

Closes #17787