Commit Graph

32590 Commits

Author SHA1 Message Date
Stefan Eissing
18c61aa036
GHA: configure OpenSSL's libdir as 'lib' only
Also mention in HTTP3.md

OpenSSL has a bug that messes the config `--libdir=path` to become the
wrong path in its pkgconfig files. If we just pass `--libdir=lib` it
should avoid this.

Ref: #14099
See also: https://github.com/openssl/openssl/issues/23569

Closes #14102
2024-07-05 10:16:08 +02:00
Daniel Stenberg
655557f2b3
tool_operate: simplify return code handling from url_proto()
The additional checks were superfluous as it would only ever return
error if one of those protocols were set. Also: a returned error
*should* mean get out of there, without having to check more conditions.

Closes #14104
2024-07-05 08:56:22 +02:00
Daniel Stenberg
bf88cdb790
tool_operate: check for --disable case *sensitively*
curl command line options are specified with the correct casing or they
don't match

Closes #14103
2024-07-05 08:55:40 +02:00
Stefan Eissing
b8e098a057
transfer: avoid polling socket every transfer loop
Improve download performance, minimal effort.

Do not poll the socket for pending data every transfer loop iteration.
This gives 10-20% performance gains on large HTTP/1.1 downloads (on my
machine).

Closes #14098
2024-07-04 23:02:41 +02:00
Viktor Szakats
2583d11f22
tests: delete CharConv remains
Closes #14100
2024-07-04 18:12:40 +02:00
Viktor Szakats
b5d565faa8
GHA: bump macOS CMake job parallelism to 4 (nproc+1) [ci skip]
To match autotools ones and the rest of workflows.

Follow-up to 464282ddfb #13807
2024-07-04 18:04:02 +02:00
Yedaya Katsman
62bfcb0c44
help: add flags to output and ssh categories
- Add --output, --remove-on-error, --output-dir and --created-dirs to
  the output help category

- Add --hostpubmd5, --hostpubsha256, --insecure (-k), and --pubkey to
  the ssh help category

Closes #14076
2024-07-04 09:58:23 +02:00
Stefan Eissing
82b32b344e
TODO: remove item about 'SSL_peak'
GnuTLS todo item about using an equivalent of `SSL_peak()`, which
nicely escaped the word checks, is no longer relevant.

We do not use `SSL_peek()` anymore since connection filters were
introduced.

Closes #14091
2024-07-04 09:56:32 +02:00
renovate[bot]
465985291f
GHA: update dependency gnutls/gnutls to v3.8.6
Closes #14094
2024-07-04 09:55:41 +02:00
renovate[bot]
105be9dbc9
GHA: update fsfe/reuse-action action to v4
Closes #14095
2024-07-04 09:53:48 +02:00
Viktor Szakats
fa2c575617
GHA: Windows job exclusions tweaks
- disable SMTP tests in MSYS2/mingw-w64 and MSVC jobs.
  On the suspicion of sometimes hanging:
  https://github.com/curl/curl/actions/runs/9346162475/job/25720437944?pr=13855#step:14:2838
  https://github.com/curl/curl/actions/runs/9758011305/job/26931678639?pr=14084#step:14:2834
  https://github.com/curl/curl/actions/runs/9774468536/job/26982805294#step:11:4731

- run TFTP, MQTT, WebSockets tests in MSYS2/msys jobs again.

- switch hanging old-mingw-w64 7.3.0 job to Release (from Debug).
  Guessing here, 9.5.0 is more solid, and one difference is
  Debug/Release mode. Let's match 7.3.0 with that and see how it changes
  hangs and flakiness.
  The other difference is Unicode ON in 7.3.0. Flaky 6.3.0 was also
  Debug, with Unicode OFF:
  217878bade #13566.
  (Unicode unlikely to play a role here IMO.)
  If 7.3.0 keeps hanging / remains flaky I'll consider disabling its
  test runs.

- opt-out from vcpkg telemetry.

Ref: https://github.com/curl/curl/pull/13599#issuecomment-2119372376
Closes #14085
2024-07-03 23:54:56 +02:00
renovate[bot]
d4eeb3dd6c
Dockerfile: update debian:bookworm-slim to 39868a6
Closes #14083
2024-07-03 08:39:27 +02:00
Daniel Stenberg
38bdef0220
FEATURES.md: refresh
- added lots of missing stuff
- rearranged a little
- remove all footnotes

Closes #14086
2024-07-03 08:35:56 +02:00
Daniel Stenberg
9f968478f9
RELEASE-NOTES: synced 2024-07-03 00:27:32 +02:00
Daniel Stenberg
bf9b22a6f7
curl_easy_perform.md: call it network transfer, not file transfer 2024-07-02 22:55:04 +02:00
Viktor Szakats
092c07d119
winbuild: MS-DOS batch tidy-ups
- prefer `.bat` extension over `.cmd` for MS-DOS batch, which also
  avoids confusion with OS/400 `.cmd` files.
- cleanup `echo` quotes, drop them consistently.
- delete empty output line from one of the error branches.
- prefer lowercase commands like the rest of MS-DOS batches.
- delete a contraction.
- drop backticks from error message.
- use `nmake.exe` consistently.
- use equal/not-equal operator style consistently.
- inline a single-line `if` branch.
- delete exceptions and rules dealing with Windows `.cmd` extension.

Closes #14084
2024-07-02 19:26:15 +02:00
Stefan Eissing
480883cf27
multi: fix pollset during RESOLVING phase
- add a DEBUGASSERT for when a transfer's pollset should not be empty.
- move write unpausing from transfer loop into curl_easy_pause. This
  make sure that the url_updatesocket() finds the correct state when
  updating socket events.
- fix HTTP/2 proxy during connect phase to set sockets correctly
- fix test2600 to simulate a socket set
- move write unpausing from transfer loop into curl_easy_pause. This
  make sure that the url_updatesocket() finds the correct state when
  updating socket events.
- waiting for the resolver to deliver might not involve any sockets to
  wait for. Do not generate a warning.

Fixes #14047
Closes #14074
2024-07-02 11:17:38 +02:00
Daniel Stenberg
75763a3e88
cmdline-opts: shorten six help texts
o --location-trusted
 o --next
 o --parallel-immmediate
 o --pinnedpubkey
 o --proxy-pass
 o --proxy-ssl-allow-beast

Closes #14075
2024-07-02 07:51:57 +02:00
Daniel Stenberg
9784f9acf3
managen: fix removing backticks from subtitles
It erroneously removed them from the wrong variable.

Closes #14081
2024-07-02 07:47:49 +02:00
Viktor Szakats
80769b9c9e
cmake: show protocols, then features
To match the order used by `curl -V` and `./configure`.

Closes #14082
2024-07-02 01:03:09 +02:00
Viktor Szakats
9484beaa49
cmdline-docs: fix --proxy-ca-native example + tidy-ups
Also:
- fix an indentation.
- fix capitalized option in comment.

Closes #14078
2024-07-02 00:09:13 +02:00
Viktor Szakats
6b10edb764
cmake: sync protocol/feature list with curl -V output
- sort features case-insensitively.
  Requires CMake v3.13.0.
  Follow-up to 0f26abeef1 #14063

- convert protocol list to lowercase.
  But leave it uppercase in `curl-config`.

Closes #14066
2024-07-01 23:24:46 +02:00
Viktor Szakats
a3e613a84f
GHA/badwords.yml: fixup indent for yamllint [ci skip] 2024-07-01 23:24:11 +02:00
renovate[bot]
e0b1ed9098
GHA: update dependency awslabs/aws-lc to v1.31.0
Closes #14080
2024-07-01 23:10:41 +02:00
Daniel Stenberg
ca6b05b6dc
GHA/badwords.yml: check source code wording
Closes #14073
2024-07-01 22:59:19 +02:00
Daniel Stenberg
c074ba64a8
code: language cleanup in comments
Based on the standards and guidelines we use for our documentation.

 - expand contractions (they're => they are etc)
 - host name = > hostname
 - file name => filename
 - user name = username
 - man page => manpage
 - run-time => runtime
 - set-up => setup
 - back-end => backend
 - a HTTP => an HTTP
 - Two spaces after a period => one space after period

Closes #14073
2024-07-01 22:58:55 +02:00
Yedaya Katsman
9b683577e1
docs: add RELEASE-TOOLS.md.dist to .gitignore
Closes #14079
2024-07-01 22:49:55 +02:00
Viktor Szakats
6c3a91ed66
libcurl.pc: add more Requires.private/Requires dependencies
- add `libmsh3` reference from cmake and autotools.

- add `mit-krb5-gssapi` reference from cmake.

It leaves GSS not set from autotools. The handling of heimdal in cmake
is fuzzy, that's probably missing too.

Follow-up to f057de5a1a #13911
Closes #14072
2024-07-01 17:49:14 +02:00
Viktor Szakats
d68a121266
cmake: improve wolfSSL detection
- support detecting wolfSSL via pkg-config (like autotools.)

- detect wolfSSL version.

- detect `HAVE_WOLFSSL_DES_ECB_ENCRYPT`.
  (needs e.g. `--enable-curl` when building wolfSSL)

- detect `HAVE_WOLFSSL_FULL_BIO` and enable HTTPS-proxy feature.
  (needs e.g. `--enable-opensslall` when building wolfSSL)

- fix to show `HTTPS-proxy` in cmake feature list.
  Ref: 55807e6c05 #9962

- fix to show `NTLM` in cmake feature list.

- fix to show `smb` and `smbs` in cmake protocol list.

- add wolfSSL CMake job to GHA (for macOS).

- fix mqtt and wolfSSL symbol clash.
  ```
  ./curl/lib/mqtt.c: In function 'mqtt_doing':
  ./curl/lib/mqtt.c:746:17: error: declaration of 'byte' shadows a global declaration [-Werror=shadow]
    746 |   unsigned char byte;
        |                 ^~~~
  /opt/homebrew/Cellar/wolfssl/5.7.0_1/include/wolfssl/wolfcrypt/types.h:85:36: note: shadowed declaration is here
     85 |             typedef unsigned char  byte;
        |                                    ^~~~
  ```

- format `FindWolfSSL.cmake` closer to neighbours.

Closes #14064
2024-07-01 17:49:14 +02:00
Daniel Stenberg
babaf1cbc3
curl_url_set: elaborate on scheme guessing
Explain a little more and refer to the CURLU_NO_GUESS_SCHEME flag
for getting scheme or URL.

Closes #14071
2024-07-01 16:45:58 +02:00
Daniel Stenberg
816ac2a866
docs: misc language polish
- CURLINFO_FILETIME*: improve language
- add '32bit' and '64bit' as bad words, use 32-bit and 64-bit
- mksymbolsmanpage.pl: avoid "will"

Closes #14070
2024-07-01 16:45:17 +02:00
Daniel Stenberg
ecd654e12e
curl_easy_escape: elaborate a little on encoding a URL
Closes #14069
2024-07-01 10:45:59 +02:00
Viktor Szakats
5942b7934d
cmake: fix feature and protocol lists for SecureTransport
NTLM was missing from the features list, and SMB/SMBS from
the protocols list in SecureTransport builds.

Follow-up to 76a9c3c4be #3619

Reported-by: Tal Regev
Bug: https://github.com/curl/curl/pull/13963#issuecomment-2178791390
Closes #14065
2024-07-01 10:31:19 +02:00
Daniel Stenberg
582429ed47
curl_str[n]equal.md: tidy up text to make them stand-alone
Previously this was one single manpage for two functions but as they are
two separate ones since a while back, they should each clearly document
their single specific functions.

Follow-up to eefcc1bda4

Closes #14068
2024-07-01 09:38:52 +02:00
Daniel Stenberg
0cc4b3ab0b
RELEASE-NOTES: synced 2024-06-30 23:16:54 +02:00
Tal Regev
e26cbe20cb
GHA: use vcpkg to install packages for MSVC jobs
- enable new dependencies for existing jobs.

- add cache for vcpkg packages.

- tidy-up CMake options and environment for vcpkg.

Closes #13979
2024-06-30 23:10:24 +02:00
Daniel Stenberg
e02b43ecf3
curl_mprintf.md: add missing comma 2024-06-30 16:11:52 +02:00
Daniel Stenberg
08fa47317a
CURLOPT_TLSAUTH_PASSWORD/USERNAME.md: language fixups
- relies *on* TLS SRP
- *for* the specific TLS backends

Closes #14061
2024-06-30 16:04:15 +02:00
Daniel Stenberg
29789ae312
docs/libcurl: polish the single-line descriptions
- use imperative form
- use lowercase
- no period
- unify some phrases
- fix curl_multi_socket and curl_multi_socket_all to keep their own
  descriptions

Closes #14062
2024-06-30 16:03:03 +02:00
Viktor Szakats
0f26abeef1
cmake: alpha-sort feature list
Like autotools does.

Closes #14063
2024-06-30 11:19:37 +02:00
renovate[bot]
93a28232d3
GHA: update github/codeql-action digest to b611370
Closes #14058
2024-06-29 22:51:26 +02:00
Tatsuhiro Tsujikawa
9feb85a1e3
vquic: fix UDP_GRO struct cmsghdr data type
The data type for UDP_GRO in struct cmsghdr is int. Limit the usage of
UDP_GRO to linux only because it is not portable.

Closes #14056
2024-06-29 22:28:22 +02:00
Sertonix
4fab113d4e
mk-ca-bundle.pl: delay 'curl -V' execution until it is needed
Avoid an `Can't exec "curl"` message when curl is not actually needed.

Closes #14060
2024-06-29 22:26:19 +02:00
Daniel Stenberg
5c873da92a
src/Makefile.am: remove SUBDIRS assignment
It was once used to continue into ../docs but is just leftovers now.

Closes #14054
2024-06-29 22:22:23 +02:00
z2_
3a537a4db9
x509asn1: remove superfluous free() 2024-06-28 14:45:47 +02:00
Stefan Eissing
185a05e943
ngtcp2+quictls: fix cert-status use
- add test for --cert-status on all http versions

Reported-by: Dexter Gerig
Fixes #14049
Closes #14050
2024-06-28 14:34:51 +02:00
Daniel Stenberg
6e95e3f7af
RELEASE-PROCEDURE.md: update release date 2024-06-28 14:30:04 +02:00
Daniel Stenberg
e63e0d60b5
managen: insert final .fi for files ending with a quote
When an individual file ended with a quote (typically an example), the
render function would return without ending the quote correctly with a
".fi" (fill in) in the manpage output.

This made the additional text provided below to render wrongly.

Closes #14048
2024-06-28 12:30:55 +02:00
Junho Choi
ad7a20d506
quic: update to quiche 0.22.0
quiche 0.22.0 will set SONAME in libquiche.so (libquiche.so.0) for
linux/BSDs. Install a symlink with SONAME.

Closes #14030
Closes #14046
2024-06-28 09:16:30 +02:00
Daniel Stenberg
2d3a51e367
managen: introduce "Multi: per-URL"
For -O, -o and -T that are used once per specified URL.

Closes #14045
2024-06-28 08:42:47 +02:00