Commit Graph

32743 Commits

Author SHA1 Message Date
Viktor Szakats
767d5811b5
tidy-up: URL updates
Closes #14318
2024-07-30 21:27:12 +02:00
Viktor Szakats
b92ead34dd
cmake: drop if(PKG_CONFIG_FOUND) guard for pkg_check_modules()
The oldest cmake supported by curl is v3.7.0, which already has such
guard (using `PKG_CONFIG_EXECUTABLE`) inside `pkg_check_modules()`. The
advantage of leaving that guard to CMake is that it will define/reset
all output variables, while the manual guard doesn't do this and also
leaves for example `NETTLE_FOUND` undefined.

Delete the single use of this guard from the recently added `nettle`
detection, where I included it by accident. Then possibly re-introduce
it universally if we find it useful after more evaluation.

Follow-up to 669ce42275 #14285
Closes #14309
2024-07-30 14:33:50 +02:00
Daniel Stenberg
d40bba3ff9
mailmap: dedupe an author showing up twice in shortlog -s 2024-07-30 14:25:30 +02:00
Ivan Kuchin
b2696ac37a
misc: cleanup after removing years from copyright
- remove leftover copyright years from few test files
- fix email in copyright lines
- consistent format of copyright lines

Closes #14312
2024-07-30 14:11:48 +02:00
Alex Snast
f87a958e9e
wolfssl: avoid calling get_cached_x509_store if store is uncachable
There's no need for get_cached_x509_store call if the return value won't
be used for caching anyway.

Closes #14306
2024-07-30 13:02:17 +02:00
Daniel Stenberg
e358a6e542
contrithanks.sh: use -F with -v to match lines as strings
Makes names involving [brackets] work.
2024-07-30 12:17:00 +02:00
Viktor Szakats
f6f49a4627
GHA/non-native: bump FreeBSD/arm64 python modules
FreeBSD seems to upgrade their Python separately for arm64
and Intel. Today, arm64 caught up with the Intel packages.
Update our CI to reflect it.

Closes #14310
2024-07-30 12:10:29 +02:00
dependabot[bot]
fd1cee7752
GHA: bump github/codeql-action and msys2/setup-msys2
- bump github/codeql-action from 3.25.13 to 3.25.15

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.13 to 3.25.15.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](2d790406f5...afb54ba388)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Closes #14300

- bump msys2/setup-msys2 from 2.23.0 to 2.24.0

Bumps [msys2/setup-msys2](https://github.com/msys2/setup-msys2) from 2.23.0 to 2.24.0.
- [Release notes](https://github.com/msys2/setup-msys2/releases)
- [Changelog](https://github.com/msys2/setup-msys2/blob/main/CHANGELOG.md)
- [Commits](d0e80f58df...5df0ca6cbf)

---
updated-dependencies:
- dependency-name: msys2/setup-msys2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Closes #14301
2024-07-30 11:59:02 +02:00
Daniel Stenberg
3c914bc680
x509asn1: clean up GTime2str
Co-authored-by: Stefan Eissing
Reported-by: Dov Murik

Closes #14307
2024-07-30 11:22:36 +02:00
Daniel Stenberg
abdf612221
tool_operate: more defensive socket code
- use 'struct sockaddr' to getsockname() and its sa_family member

- use 'curl_socklen_t' instead of 'socklen_t'

- check for AF_INET6 to exist instead assuming it does

Should be generally more portable.

Reported-by: Harry Sintonen
Closes #14304
2024-07-30 09:10:30 +02:00
Viktor Szakats
c879554b7d
configure: limit __builtin_available test to Darwin
This feature test always fails on non-Apple systems. (For Apple targets
it's supported by llvm and Apple clang.)

Syncs behaviour with CMake.

Follow-up to cfd6f43d6c #14127
Cherry-picked from #14097
Closes #14196
2024-07-29 21:39:17 +02:00
Daniel Stenberg
6821e54c08
RELEASE-NOTES: synced 2024-07-29 21:24:32 +02:00
Daniel Stenberg
674e102504
CURLOPT_SSL_CTX_FUNCTION.md: mention CA caching
and add a few more see-also

Closes #14302
2024-07-29 21:19:53 +02:00
Viktor Szakats
e8acb2e55a
cmake: detect libssh via pkg-config
Also:
- fix broken libssh `pkg-config` behaviour on old Linux.
  (when found, `LIBSSH_LINK_LIBRARIES` remains undefined.)

- delete manual libssh config from Old Linux CI job,
  it's no longer necessary.

Closes #14199
2024-07-29 21:08:17 +02:00
Viktor Szakats
efce544418
GHA/non-native: improve, migrate x86_64 FreeBSD with tests from Cirrus CI
- run tests via `make test-ci` instead of `make check` with autotools.
- add `x86_64` job for FreeBSD, with tests.
  It matches the existing Cirrus CI job, with these differences:
  - finishes 3x faster (thanks to parallel tests enabled).
  - librtmp is not enabled because it's slated for removal by FreeBSD.
    (already past the removal deadline, thought the package still
    installs.)
  - DICT and TELNET servers fail to start. Couldn't figure out why.
    It means skipping test 1450 and 1452.
  - it runs more tests, e.g. websockets and ip6-localhost.
  - no `pkg update -f`.
  - it misses the `CRYPTOGRAPHY_DONT_BUILD_RUST=1`, `pkg delete curl`,
    `chmod 777`, `sudo -u nobody` and `sysctl net.inet.tcp.blackhole`
    tricks. The latter is the default in these runners, the others did
    not affect results.
- set `-j0` for tests in the NetBSD job. Flaky otherwise.

Closes #14244
2024-07-29 20:46:40 +02:00
Viktor Szakats
669ce42275
cmake: detect nettle when building with GnuTLS
`nettle` is a direct dependency of curl, when building with GnuTLS.
Add a new `Find` module to detect it.

Also:
- GHA/macos: drop `nettle` hack no longer necessary.
- add `nettle` to `libcurl.pc`.
- also add `nettle` to `libcurl.pc` in autotools builds.

Follow-up to 781242ffa4 #11967
Closes #14285
2024-07-29 20:41:39 +02:00
Viktor Szakats
5f6b9244ce
macos: fix Apple SDK bug workaround for non-macOS targets
Turns out that MAC != OSX, despite what these names otherwise mean and
what's suggested by source code comments. "MAC" in fact means Darwin
(aka Apple), not macOS. "OSX" means macOS.

GitHub bumped the macos-14 runner default to Xcode 15.4, hitting the
llvm@15 incompatibility bug by default. Meaning the previous workaround
for the SDK bug is necessary.

This patch extend the workaround to not apply to mobile OS variants.

Follow-up to ff784af461 #14159
Reported-by: Sergey
Confirmed-by: Marcel Raad
Fixes #14269
Closes #14275
2024-07-29 20:41:39 +02:00
Stefan Eissing
0f2876b2c3
wolfssl: CA store share fix
When sharing the x509 store in wolfSSL, always use an explicitly
constructed one, as the SSLCTX might have "only" an internal one which
is not obeying reference count lifetimes.

Fixes #14278
Reported-by: Alex Snast
Closes #14279
2024-07-29 19:54:08 +02:00
Randall S. Becker
2f3e57b5dd
curl: support __ss_family use on NonStop platforms
The definition of sockaddr_storage incorrectly specifies the ss_family
field as __ss_family. This fix conditionally allows builds to succeed on
all NonStop platforms.

Signed-off-by: Randall S. Becker <randall.becker@nexbridge.ca>

Closes #14273
2024-07-29 18:53:24 +02:00
Daniel Stenberg
33826994e7
test993: list 1000 messages over POP3
Attempt to verify issue #14201

Closes #14297
2024-07-29 14:55:06 +02:00
Stefan Eissing
17e6f06ea3
connect: fix connection shutdown for event based processing
connections being shutdown would register sockets for events, but then
never remove these sockets again. Nor would the shutdown effectively
been performed.

- If a socket event involves a transfer, check if that is the
  connection cache internal handle and run its multi_perform()
  instead (the internal handle is used for all shutdowns).
- When a timer triggers for a transfer, check also if it is
  about the connection cache internal handle.
- During processing shutdowns in the connection cache, assess
  the shutdown timeouts. Register a Curl_expire() of the lowest
  value for the cache's internal handle.

Reported-by: Gordon Parke
Fixes #14280
Closes #14296
2024-07-29 14:53:43 +02:00
Daniel Stenberg
14f630ecf6
tests: provide FTP directory contents in the test file
Instead of providing a fixed single synthetic response in the test
server itself. To allow us to better use *different* directory listings
in different test cases. In this change, most listings remain the same
as before.

The wildcard match tests still use synthetic responses but we should fix
that as well.

Updated numerous test cases to use this.

Closes #14295
2024-07-29 13:04:24 +02:00
Daniel Stenberg
ae0b08ae6e
ftpserver.pl: make POP3 LIST serve content from the test file
instead of a fixed list in the test server.

Adjust test 853 accordingly.

Closes #14293
2024-07-29 10:41:26 +02:00
Daniel Stenberg
a62dbf2310
TODO: thread-safe sharing 2024-07-28 23:13:51 +02:00
Daniel Stenberg
79677caa33
CURLSHOPT_SHARE.md: mention sessions/cookies as not thread-safe
Sharing of these between threads are apparently also not done safely.

Ref: #14290
Reported-by: Aki Sakurai
Closes #14292
2024-07-28 23:13:44 +02:00
Daniel Stenberg
3af6a3a07a
RELEASE-NOTES: synced 2024-07-28 16:11:29 +02:00
Patrick Monnerat
d14149e3ea
os400: build cli manual.
Use PASE perl to run manual generation scripts.

As PASE perl is not aware of all possible input file encoding, convert
all files to UTF-8 upon build start (this might be lengthy).

OS/400 terminal emulation may only offer 76 columns, thus a new -c
parameter has been added to the managen program, defining the allowed
width.

If perl is not available, omit generation and disable online manual.

Closes #14289
2024-07-28 15:59:21 +02:00
Daniel Stenberg
b446802feb
example/multi-uv: remove the use of globals
- shows how to pass on local variables (better)

- start the transfers nicer (with curl_multi_socket_action)

- consistent and helpful function naming - to better show what functions
  and callbacks that are used for what

- build warning-free with gcc -W -Wall -pedantic

Closes #14287
2024-07-27 23:09:44 +02:00
Viktor Szakats
1565c02ab4
runtests: fold timing details with GHA, sync -r tflags
- move timing details into a foldable group when run in GitHub Actions.
  Spec:
  https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#grouping-log-lines

- enable `-r` (run time stats) option in autotools' `test-ci` target,
  syncing it with cmake.

Closes #14284
2024-07-27 19:17:31 +02:00
Viktor Szakats
417052e99a
GHA/windows: increase timeout for vcpkg build step [ci skip]
Examples:
https://github.com/curl/curl/actions/runs/10102112253/job/27937088909?pr=14274
https://github.com/curl/curl/actions/runs/10102112253/job/27937082353?pr=14274
https://github.com/curl/curl/actions/runs/10102112253/job/27937088478?pr=14274
2024-07-27 19:10:43 +02:00
Viktor Szakats
08a68e9a5a
GHA/macos: update comment about default Xcode on macos-14 runner [ci skip]
New default since:
https://github.com/actions/runner-images/blob/releases/macos-14-arm64/20240722/images/macos/macos-14-arm64-Readme.md
2024-07-27 10:20:53 +02:00
Patrick Monnerat
ad8c9a5807
os400: workaround an IBM ASCII run-time library bug
IBM-provided ASCII function puts() does not output an expected trailing
newline: emulate the correct behavior using other functions.

Closes #14281
2024-07-27 00:17:13 +02:00
Stefan Eissing
fc273027f1
transfer: speed limiting fix for 32bit systems
When checking if a speed limit on receives applies, compare the receive
sizes using the large int type to prevent an overflow on systems where
size_t is 32bit.

Fixes #14272
Reported-by: Mamoru Tasaka
Closes #14277
2024-07-27 00:00:43 +02:00
Anthony Hu
11e248b782
wolfSSL: allow wolfSSL's implementation of kyber to be used
Closes #14268
2024-07-26 00:03:21 +02:00
Daniel Stenberg
0795014caa
lib: survive some NULL input args
The input string pointer to:

curl_escape
curl_easy_escape
curl_unescape
curl_easy_unescape

The running_handles pointer to:

curl_multi_perform
curl_multi_socket_action
curl_multi_socket_all
curl_multi_socket

Reported-by: icy17 on github
Fixes #14247
Closes #14262
2024-07-26 00:01:54 +02:00
Daniel Stenberg
2a59c8d4ce
RELEASE-PROCEDURE.md: restore next release date
Pointed-out-by: extrimexxx on github
Bug: https://github.com/curl/curl/pull/14267#issuecomment-2247062235
2024-07-24 09:10:53 +02:00
Daniel Stenberg
517f454747
RELEASE-NOTES: synced
bumped to 8.9.1
2024-07-24 08:59:52 +02:00
Daniel Stenberg
cee3278286
RELEASE-PROCEDURE.md: remove the initial build step
Because it is no longer needed to be done by a person as the dmaketgz
script does it by itself.

Removed two past release dates, added two new future ones

Closes #14267
2024-07-24 08:54:29 +02:00
Daniel Stenberg
5040f7e94c
RELEASE-NOTES: synced 2024-07-24 08:20:43 +02:00
Daniel Stenberg
4997a44850
THANKS: updates from the 8.9.0 release 2024-07-23 23:37:09 +02:00
Daniel Stenberg
340ef55d97
curl_easy_escape.md: move historic details to HISTORY
Closes #14261
2024-07-23 11:24:19 +02:00
Daniel Stenberg
1e769526b4
docs/libcurl: add to cleanup docs that their inputs go invalid
Reported-by: icy17 on github
Fixes #14248
Closes #14258
2024-07-23 11:18:46 +02:00
dependabot[bot]
b0c1d1e133
GHA: bump github/codeql-action from 3.25.11 to 3.25.13
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.11 to 3.25.13.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](b611370bb5...2d790406f5)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Closes #14255
2024-07-23 10:48:19 +02:00
Stefan Eissing
ae620a70a0
conncache: connection shutdown, multi_socket handling
- implement the socket hash user/reader/writer processing also
  for connections that are being shut down by the connection cache.
- split out handling of current vs. last pollset socket event handling
  into a function available in other code parts
- add `shutdown_poll` pollset to `connectdata` struct so that changes
  in the pollset can be recorded during shutdown. (The internal handle
  cannot keep it since it might be used for many connections)

Reported-by: calvin2021y on github
Fixes #14252
Closes #14257
2024-07-23 10:29:07 +02:00
Daniel Stenberg
8193ca59e1
tool_cb_prg: output "flying saucers" with leading carriage return
Because that is how the progress-bar is output, so when the progress-bar
has been shown at least once and the information is reset, like for a
redirect, there might be a moment where the size goes from known to
unknown and then the flying saucerts are shown after a brief display of
the progress-bar.

It could previously cause accidental character leftovers on the right
side of the bar when using a narrow display.

Reported-by: Chris Webb
Fixes #14213
Closes #14246
2024-07-22 17:33:18 +02:00
Daniel Stenberg
eef17551ac
lib: Curl_posttransfer => multi_posttransfer
Moved from transfer.c to multi.c as it was only used within multi.c

Made a void, as it returned a fixed return code nothing checked.

Closes #14240
2024-07-21 00:46:50 +02:00
Daniel Stenberg
bb639db6fb
CURLOPT_SSL_VERIFYHOST.md: refresh
Move mentions of old behavior to the HISTORY section to make it easier
to read about modern behavior.

Added a MATCHING section.

Closes #14241
2024-07-20 17:30:26 +02:00
Daniel Stenberg
56493eea1c
multi: do a final progress update on connect failure
To fix timing metric etc

Co-authored-by: Justin Maggard
Fixes #14204
Closes #14239
2024-07-20 17:11:00 +02:00
Orgad Shaneh
1f877b0fba
md4: fix compilation with OpenSSL 1.x with md4 disabled
If OpenSSL 1.x is used, and it is configured with md4 disabled,
OPENSSL_NO_MD4 is defined in opensslconf.h, but this header was not
included before checking for this define.

Later in md4.c, openssl/md4.h is included, and it includes that header
indirectly, leading to inconsistency within md4.c.

Since the md4.h branch was taken, wincrypt.h (or others) is not
included, and later below the USE_WIN32_CRYPTO branch is taken, but the
types are not defined.

Closes #14218
2024-07-19 18:27:30 +02:00
martinevsky
8e13837e0e
ftp: remove redundant null pointer check in loop condition
Closes #14234
2024-07-19 18:24:45 +02:00