Commit Graph

32392 Commits

Author SHA1 Message Date
Viktor Szakats
d927ab0ae9
reuse: migrate standalone license file to dep5
Follow-up to 73a3602120
Closes #13660
2024-05-15 14:15:25 +02:00
Viktor Szakats
ec498695fc
appveyor: guard against crash-build with VS2008
The combination of `-DDEBUGBUILD`, a shared `curl.exe`, and the VS2008
compiler creates a `curl.exe` segfaulting on startup:

```
+ _bld/src/curl.exe --version
./appveyor.sh: line 122:   793 Segmentation fault      "${curl}" --version
Command exited with code 139
```
Ref: https://ci.appveyor.com/project/curlorg/curl/builds/49817266/job/651iy6qn1e238pqj#L191

Add job that triggers the issue and add the necessary logic to skip
running the affected `curl.exe`.

Ref: #13592
Closes #13654
2024-05-15 14:15:24 +02:00
renovate[bot]
7398037abe
GHA: pin dependencies
Closes #13628
2024-05-15 13:35:45 +02:00
Orgad Shaneh
17fbed2008
socket: remove redundant call to getsockname
The result "add" is unused.

Closes #13655
2024-05-15 13:26:15 +02:00
renovate[bot]
6ce1d6f816
CI: renovate updates
- GHA: update actions/checkout action to v4
- GHA: update wolfSSL/wolfssh to v1.4.17
- GHA: update wolfSSL/wolfssl to v5.7.0
- Update the regex config in renovate.json

Closes #13632
Closes #13641
Closes #13658
Closes #13659
2024-05-15 11:38:28 +02:00
Max Dymond
2f50b2d9da
ci: fix renovate config for WolfSSL/WolfSSH tagging scheme
WolfSSL/WolfSSH use a different versioning scheme;
stable builds end with `-stable`. Renovate requires
some extra configuration to extract the version
from these types of tags.

Closes #13644
2024-05-15 11:12:12 +02:00
Max Dymond
a884885c21
ci: set semantic type as CI and include digests as CI operations
Replace "chore" with "ci" for renovate's semantic
type, and include digests with "pin" and
"pinDigest" as ci operations.

Closes #13644
2024-05-15 11:12:12 +02:00
Daniel Stenberg
27c9b375f6
DEPRECATE.md: TLS libraries without 1.3 support
curl drops support for TLS libraries without TLS 1.3 capability after
May 2025.

It requires that a curl build using the library should be able to
negotiate and use TLS 1.3, or else it is not good enough. We support a
vast amount of other TLS libraries that are likely to satisfy users
better.

Closes #13544
2024-05-15 10:32:55 +02:00
Daniel Stenberg
49140cd188
Revert "ci: update nghttp2/nghttp2 to v1.62.0"
This reverts commit 14f2c76755.

We need to also upgrade the C++ compiler for that bump to work.

Closes #13656
2024-05-15 09:46:35 +02:00
renovate[bot]
5111d6b7fd
Dockerfile: update debian digest to 911821c
Closes #13629
2024-05-15 08:16:49 +02:00
renovate[bot]
72e65b22c1
ci: update gnutls/gnutls to v3.8.5
Closes #13640
2024-05-15 08:08:18 +02:00
renovate[bot]
70b83061b4
ci: update awslabs/aws-lc to v1.26.0
Closes #13647
2024-05-15 08:01:21 +02:00
renovate[bot]
65d387ad1d
ci: update cloudflare/quiche to v0.21.0
Closes #13648
2024-05-15 08:00:25 +02:00
renovate[bot]
7b4f80ebae
ci: update libressl-portable/portable to v3.9.2
Closes #13649
2024-05-15 07:59:01 +02:00
renovate[bot]
14f2c76755
ci: update nghttp2/nghttp2 to v1.62.0
Closes #13650
2024-05-15 07:57:39 +02:00
renovate[bot]
69af91b88b
ci: update ngtcp2/nghttp3 to v1.3.0
Closes #13651
2024-05-15 07:57:13 +02:00
renovate[bot]
65855676b6
ci: update ngtcp2/ngtcp2 to v1.5.0
Closes #13652
2024-05-15 07:56:01 +02:00
Max Dymond
599fe1e4c5 ci: handle git submodules for mbedTLS 2024-05-14 16:26:11 +01:00
Max Dymond
443d29cc69 ci: reconfigure renovate
- set prefix for github actions updates to be gha:
- set prefix for other renovate actions to be ci:
- disable debian updates in linux-old.yml
2024-05-14 16:26:11 +01:00
Viktor Szakats
4eb4d660d6
tidy-up: whitespace [ci skip] 2024-05-14 16:49:47 +02:00
Viktor Szakats
0c890d93eb
warnless: delete orphan declarations
Follow-up to 358f7e7577 #11932
Closes #13639
2024-05-14 16:37:11 +02:00
Daniel Stenberg
87b6fe1695
BUG-BOUNTY.md: clarify the third party situation
We do not pay bounties for problems in other libraries.

Closes #13560
2024-05-14 16:23:42 +02:00
Stefan Eissing
22d8ce1970
http tests: in CI skip test_02_23* for quiche
For unknown reasons, these tests fail in CI often, but run fine locally.
Skip them in CI to avoid unrelated PRs to have failures.

Closes #13638
2024-05-14 16:19:42 +02:00
Daniel Gustafsson
d84a95de11 hsts: explicitly skip blank lines
Keep blank lines or lines containing only whitespace to make it all
the way to the more expensive sscanf call in hsts_add.

Closes: #13603
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
2024-05-14 10:19:41 +02:00
Daniel Gustafsson
91908f66ad autotools: Only probe for SGI MIPS compilers on IRIX
MIPSPro and the predecessor compiler which was part of the IDO (IRIS
Development Option) were only ever shipped on the SGI IRIX operating
system (with MIPSPro on 6.0+ which was released in 1994).  Limit the
autoconf check to IRIX when probing for these compilers to save some
cycles on other platforms.

Closes: #13611
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
2024-05-14 10:04:27 +02:00
Viktor Szakats
17e51d2ec4
tests: fix test 1167 to skip digit-only symbols
This avoids mistaking symbols with their numeric value when using
certain C preprocessors which output these numeric values at the
beginning of the line as part of an expression.

Seen on OpenBSD 7.5 + clang.

Example `test1167.pl -v` output, before this patch:
```
Source: cpp /home/runner/work/curl/curl/tests/../include/curl/curl.h
Symbol: 20000
Line #3835:   20000 +  142,
[...]
Bad symbols in public header files:
   20000
   [...]
```
Ref: https://github.com/curl/curl/actions/runs/9069136530/job/24918015357#step:3:7513

Ref: #13583
Closes #13634
2024-05-14 09:58:34 +02:00
Daniel Stenberg
aef369867f
lib: call Curl_strntolower instead of doing crafted loops
Closes #13627
2024-05-14 08:00:19 +02:00
Daniel Stenberg
9d6d614264
setopt: acknowledge errors proper for CURLOPT_COOKIEJAR
Error out on error, do not continue.

Closes #13624
2024-05-14 07:59:43 +02:00
Daniel Stenberg
6080805daa
vtls: remove duplicate assign
Curl_ssl_peer_cleanup() already clears the ->sni field, no point in
assigning it again.

Spotted by CodeSonar

Closes #13626
2024-05-14 07:58:59 +02:00
Max Dymond
11e4ff5e26 Group all non-major updates together to reduce PR spam 2024-05-13 22:34:46 +01:00
Max Dymond
4f262ee0e1 Add the remainder of the workflows 2024-05-13 22:34:46 +01:00
Max Dymond
73a3602120 Add some basic versioning for some workflows to check whether this is detected properly 2024-05-13 22:34:46 +01:00
renovate[bot]
bdfe3dcd6c Add renovate.json 2024-05-13 22:34:46 +01:00
Daniel Stenberg
742196bd62
vauth: make two functions void that always just returned OK
Removes the need to check return values when they can never fail.

Pointed out by CodeSonar

Closes #13621
2024-05-13 22:38:25 +02:00
Daniel Stenberg
a11774776f
setopt: remove check for 'option' that is always true
- make sure that passing in option set to NULL clears the fields
  correctly

- remove the weird second take if Curl_parse_login_details() returns
  error

Follow-up to 7333faf00b

Spotted by CodeSonar

Closes #13619
2024-05-13 19:41:29 +02:00
Viktor Szakats
0c49ea4ff2
tests: tidy up types in server code
Cherry-picked from #13489
Closes #13610
2024-05-13 11:16:26 +02:00
Daniel Stenberg
7333faf00b
setopt: make the setstropt_userpwd args compulsory
They were always used so no point in allowing them to be optional.

follow-up to 0e37b42dc9

Closes #13608
Reviewed-by: Daniel Gustafsson
2024-05-13 10:24:01 +02:00
Daniel Stenberg
9f2dd222e3
RELEASE-NOTES: synced 2024-05-13 09:48:25 +02:00
Daniel Gustafsson
266baf2d34 websocket: Avoid memory leak in error path
In the errorpath for randstr being too long to copy into the buffer
we leak the randstr when returning CURLE_FAILED_INIT.  Fix by using
an explicit free on randstr in the errorpath.

Closes: #13602
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
2024-05-13 09:11:23 +02:00
Daniel Gustafsson
4d96873a4d hsts: Remove single-use single-line function
The hsts_entry() function contains of a single line and is only
used in a single place in the code, so move the allocation into
hsts_create instead to improve code readability. C code usually
don't use the factory abstraction for object creation, and this
small example wasn't following our usual code style.

Closes: #13604
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
2024-05-13 09:07:30 +02:00
Viktor Szakats
a35bbe8977
lib: bump hash sizes to size_t
Follow-up to cc907e80a2 #13502
Cherry-picked from #13489
Closes #13601
2024-05-12 18:53:09 +02:00
Viktor Szakats
25cbc2f79a
tests: make the unit test result type CURLcode
Before this patch, the result code was a mixture of `int` and
`CURLcode`.

Also adjust casts and fix a couple of minor issues found along the way.

Cherry-picked from #13489
Closes #13600
2024-05-12 18:53:07 +02:00
Viktor Szakats
dad03dc593
appveyor: tidy-ups
- delete a duplicate line.
- simplify a `make` call.
- merge two `if` branches.
- reorder autotools options for clarity.
- add `--enable-warnings` where missing (it's also the default.)
- add empty lines to YAML for readability.
- use lowercase install prefix/directory.

Closes #13598
2024-05-12 18:53:04 +02:00
Daniel Stenberg
7d8d25174c
docs/cmdline-opts: mention STARTTLS for --ssl and --ssl-reqd
... since users might look for those terms in the manpage.

Closes #13590
2024-05-12 17:39:20 +02:00
Daniel Stenberg
efe93019a7
setopt: warn on Curl_set*opt() uses not using the return value
And switch the invokes that would "set" NULL to instead just plainly
free the pointer, as those were otherwise the invokes that would ignore
the return code. And possibly confuse static code analyzers.

Closes #13591
2024-05-12 17:27:51 +02:00
Orgad Shaneh
c8925f3ec3
autotools: delete unused functions
Closes #13605
2024-05-12 17:26:29 +02:00
Viktor Szakats
5b9955e0bd
examples: fix/silence -Wsign-conversion
- extend `FD_SET()` hack to all platforms (was only Cygwin).
  Warnings may also happen in other envs, e.g. OmniOS.
  Ref: https://github.com/libssh2/libssh2/actions/runs/8854199687/job/24316762831#step:3:2021

- tidy-up `CURLcode` vs `int` use.

- cast an unsigned to `long` before passing to `curl_easy_setopt()`.

Cherry-picked from #13489
Follow-up to 3829759bd0 #12489
Closes #13501
2024-05-11 11:11:32 +02:00
Orgad Shaneh
7ca0a3791b
cmake: fix HAVE_IOCTLSOCKET_FIONBIO test with gcc 14
The function signature has had u_long flags since ever. This is how it
is defined in the documentation, and implemented in MinGW.

The code that uses ioctlsocket in nonblock.c also has unsigned long.

Error:
CurlTests.c:275:41: error: passing argument 3 of 'ioctlsocket' from incompatible pointer type [-Wincompatible-pointer-types]
  275 |         if(0 != ioctlsocket(0, FIONBIO, &flags))
      |                                         ^~~~~~
      |                                         |
      |                                         int *
In file included from CurlTests.c:266:
/opt/mxe/usr/i686-w64-mingw32.static/include/winsock2.h:1007:76: note: expected 'u_long *' {aka 'long unsigned int *'} but argument is of type 'int *'
 1007 |   WINSOCK_API_LINKAGE int WSAAPI ioctlsocket(SOCKET s,__LONG32 cmd,u_long *argp);
      |                                                                    ~~~~~~~~^~~~

Closes #13578
2024-05-11 10:56:37 +02:00
Jay Satiro
3a564fecab ftp: fix build for CURL_DISABLE_VERBOSE_STRINGS
This is a follow-up to b7c7dffe which changed the FTP state change
verbose debug text (aka infof) to tracing debug text (aka trc).

Prior to this change if libcurl was without DEBUGBUILD and built with
CURL_DISABLE_VERBOSE_STRINGS (ie --disable-verbose) the build would
error.

Caught by Circle CI job openssl-no-verbose.
2024-05-10 19:14:29 -04:00
Jay Satiro
798a37b25e lib: clear the easy handle's saved errno before transfer
- Clear data->state.os_errno before transfer.

- Explain the change in behavior in the CURLINFO_OS_ERRNO doc.

- Add to the CURLINFO_OS_ERRNO doc the list of libcurl network-related
  errors that may cause the errno to be saved.

data->state.os_errno is saved before libcurl returns a network-related
failure such as connection failure. It is accessible to the user via
CURLINFO_OS_ERRNO so they can get more information about the failure.

Prior to this change it wasn't cleared before transfer, so if a user
retrieved the saved errno it could be from a previous transfer. That is
because an errno is not always saved for network-related errors.

Closes https://github.com/curl/curl/pull/13574
2024-05-10 18:26:32 -04:00