Commit graph

2477 commits

Author SHA1 Message Date
Viktor Szakats
d09e14ed54
Revert "try dotdotdot"
This reverts commit ad12113958464285781936a75d1a8897c78ab880.
2025-08-01 23:59:01 +02:00
Viktor Szakats
435279c223
try dotdotdot 2025-08-01 23:59:01 +02:00
Viktor Szakats
22108e9c4c
test1119.pl skip symbol ending with _ 2025-08-01 23:59:01 +02:00
Viktor Szakats
062605a440
CURLOPT_TIMEVALUE.md try fix continue 2025-08-01 23:59:01 +02:00
Viktor Szakats
d3eb325cdc
CURLOPT_TIMEVALUE.md try fix 2025-08-01 23:59:01 +02:00
Viktor Szakats
04f23f4cad
CURLOPT_NETRC_FILE.md add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
492ab9434c
CURLOPT_NETRC.md add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
4156661cbe
CURLOPT_RTSP_TRANSPORT.md add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
9feffc82d4
CURLOPT_RTSP_REQUEST.md add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
318bfd846e
CURLOPT_HTTPAUTH.md add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
c9134a3bc6
CURLOPT_PROXYAUTH.md add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
a955af7d07
CURLOPT_POSTFIELDSIZE.md whitespace 2025-08-01 23:59:00 +02:00
Viktor Szakats
f387fd59d7
CURLOPT_HTTP_VERSION.md add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
87d5b138aa
CURLOPT_TIMEVALUE_LARGE.md add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
cb400a5001
CURLOPT_TIMEVALUE.md add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
987f13a23a
CURLOPT_TIMECONDITION.md drop long cast 2025-08-01 23:59:00 +02:00
Viktor Szakats
e5f1bd4555
CURLINFO_CONDITION_UNMET.md drop long cast 2025-08-01 23:59:00 +02:00
Viktor Szakats
fe3a2f86bf
CURLOPT_SOCKS5_AUTH.md drop cast, add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
398ef65d23
CURLOPT_USE_SSL.md drop cast, add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
9348e489a3
CURLOPT_SSL_OPTIONS.md sync formatting with counterpart in PROXY 2025-08-01 23:59:00 +02:00
Viktor Szakats
44834cd5ea
CURLOPT_PROXY_SSL_OPTIONS.md drop cast, add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
7d189f806e
CURLOPT_SSL_OPTIONS.md drop cast, add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
4232931f1b
CURLOPT_FTP_SSL_CCC.md drop cast, add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
ccabfeb15c
CURLOPT_FTP_FILEMETHOD.md drop cast, add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
d629d53e8c
CURLOPT_FTPSSLAUTH.md drop cast, add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
d4f10b54ea
CURLOPT_FTP_CREATE_MISSING_DIRS.md drop cast, add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
b71542e91f
CURLOPT_HSTS_CTRL.md drop cast, never needed it 2025-08-01 23:59:00 +02:00
Viktor Szakats
80fb94b35d
CURLOPT_ALTSVC.md drop cast, add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
55f236a89f
CURLOPT_IPRESOLVE.md drop cast, add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
1b3c1e44cb
CURLOPT_ALTSVC_CTRL.md drop cast, add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
1530bd2b5b
CURLOPT_PROXYTYPE.md drop cast, add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
bee5b178bc
CURLOPT_HEADEROPT.md drop cast, add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
7c20857793
CURLOPT_POSTREDIR.md drop cast, add note to history 2025-08-01 23:59:00 +02:00
Viktor Szakats
bec0aef775
CURLOPT_ALTSVC_CTRL.md bump local copy of defines to long 2025-08-01 23:59:00 +02:00
Viktor Szakats
d1da9543f8
CURLOPT: replace (long) cast with L suffix for CURLHSTS_* macros
In curl/curl.h and the man page. To match the rest of CURLOPT macros.

Cherry-picked from #18130
2025-08-01 23:58:17 +02:00
Daniel Stenberg
2bad773b30
urlapi: allow more path characters "raw" when asked to URL encode
Setting the path component to contain the letters:

    ! $ & ' ( ) { } [ ] * + , ; = : @

now leaves them un-encoded when CURLU_URLENCODE is used.

Amended test 1560 to verify.

Reported-by: Jeroen Ooms
Fixes #17977
Closes #18024
2025-08-01 23:22:32 +02:00
Stefan Eissing
077fd6aac8
curl_easy_ssls_export: make the example more clear
As mentioned in #18031
Closes #18117
2025-08-01 10:49:56 +02:00
Stefan Eissing
ba9ddb9357
tls: CURLINFO_TLS_SSL_PTR testing
Add tests of CURLINFO_TLS_SSL_PTR and its returned value in test client
'hx-download'. Use obtained pointer to look up the negotiated TLS
version.

Update manpage of CURLINFO_TLS_SSL_PTR to also describe the behaviour of
wolfSSL similar to OpenSSL. Fix the wolfSSl implementation for TCP to
behave like that. Update the QUIC queries.

Fix rustls `get_internals()` to return the rustls_connection* and not
the address of the pointer.

Assisted-by: Viktor Szakats
Closes #18066
2025-08-01 09:37:36 +02:00
Stefan Eissing
af69c9d636
ip happy eyeballing: keep attempts running
When `CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS` expires, start the next ip
connect attempt, but keep all ongoing attempts alive.

Separate happy-eyeballs connection filter into own source files.

Closes #18105
2025-08-01 09:30:59 +02:00
Daniel Stenberg
d21e75a6ae
curl_mime_data_cb.md: mention what datasize is for
Closes #18115
2025-07-31 10:48:53 +02:00
Dominik Tomecki
450c00f983
smtp: allow suffix behind a mail address for RFC 3461
Verified in test 3215

Closes #16643
2025-07-30 09:52:34 +02:00
Stefan Eissing
55c045c863
multi: add CURLMOPT_NETWORK_CHANGED to signal network changed
New multi option CURLMOPT_NETWORK_CHANGED with a long bitmask value:

- CURLM_NWCOPT_CLEAR_CONNS: do not reuse existing connections, close all
  idle connections.

- CURLM_NWCOPT_CLEAR_DNS: clear the multi's DNS cache.

All other bits reserved for future extensions.

Fixes #17225
Reported-by: ウさん
Closes #17613
2025-07-29 11:18:26 +02:00
Viktor Szakats
430f9b03fd
CURLOPT: bump CURLFTP* enums to long, drop casts
This patch bumps the size of these constants from `int` to `long`, while
keeping their actual values the same. It may cause incompatibilities in
user code, requiring the bump of holder variables and/or adding casts:

- CURLFTP_CREATE_DIR
- CURLFTP_CREATE_DIR_NONE
- CURLFTP_CREATE_DIR_RETRY
- CURLFTPAUTH_DEFAULT
- CURLFTPAUTH_SSL
- CURLFTPAUTH_TLS
- CURLFTPMETHOD_DEFAULT
- CURLFTPMETHOD_MULTICWD
- CURLFTPMETHOD_NOCWD
- CURLFTPMETHOD_SINGLECWD
- CURLFTPSSL_CCC_ACTIVE
- CURLFTPSSL_CCC_NONE
- CURLFTPSSL_CCC_PASSIVE

Also:
- keep existing casts within the documentation to make sure it applies
  to older curl versions as well.

Closes #17797
2025-07-28 10:32:13 +02:00
Viktor Szakats
5debe7cb34
CURLOPT: drop redundant long casts
Also:
- CURLOPT_HSTS_CTRL.md: sync macro definitions with `curl/curl.h`.
  Perhaps it'd be better to delete copies like this?
- keep existing casts within the documentation to make sure it applies
  to older curl versions as well.
- CURLOPT_IPRESOLVE.md: re-add a long cast to man page, for consistency
  with the above.

Closes #17791
2025-07-28 10:32:13 +02:00
Viktor Szakats
2ec54556d4
scripts: enable strict warnings in Perl where missing, fix fallouts
- add 'use warnings' and 'use strict' where missing from Perl scripts.
- fix 'Use of uninitialized value'.
- fix missing declarations.
- test1140.pl: fix 'Possible precedence issue with control flow operator'.
- fix other misc issues.

Most actual errors found during this PR were fixed and merged via
separate PRs.

Likely there are remaining warnings not found and fixed in this PR.

Closes #17877
2025-07-27 22:35:18 +02:00
Daniel Stenberg
378713deb2
netrc: use the NETRC environment variable (first) if set
Add test 755 to verify.

Proposed-by: Berthin Torres Callañaupa
URL: https://curl.se/mail/lib-2025-06/0015.html

Closes #17712
2025-07-27 18:26:43 +02:00
Daniel Stenberg
9d8998c994
tls: make default TLS version be minimum 1.2
This still allows users to explictily ask for 1.0 or 1.1 as the minimum
version. If the TLS library allows it.

Starting with this change, the CURL_SSLVERSION_DEFAULT value is no
longer used as minimum version when the TLS backend are called.

This also makes curl set the minimum version to 1.2 independently of
libcurl for the rare case where a newer curl tool would use an older
libcurl.

URL: https://curl.se/mail/lib-2025-07/0007.html
Assisted-by: Stefan Eissing
Closes #17894
2025-07-27 18:23:04 +02:00
Stefan Eissing
338f7e9e89
docs: fix name in curl_easy_ssls_export man page
The name of the man page was wrongly given as curl_easy_sssl_export
which seems to have confused our HTTML man page generation.

Reported-by: Qriist on github
Ref: https://github.com/curl/curl-www/issues/458

Closes #17995
2025-07-23 00:56:11 +02:00
Viktor Szakats
0260e8465a
GHA/checksrc: expand spellcheck, fix issues found
- codespell: break logic out into its own runnable script. Allowing
  to run it on local machines.
- codespell: install via `pip`, bump to latest version.
- codespell: show version number in CI log.
- codespell: drop no longer needed word exception: `msdos`.
- codespell: include all curl source tree, except `packages` and
  `winbuild`. Drop an obsolete file exclusion.
- add new spellchecker job using the `typos` tool. It includes
  the codespell dictionary and a couple more. Use linuxbrew to install
  it. This takes 10 seconds, while installing via `cargo` from source
  would take over a minute.
- codespell: introduce an inline ignore filter compatible with `cspell`
  Make `typos` recognize it, too. Move single exceptions inline.

Fix new typos found. Also rename variables and words to keep
spellchecking exceptions at minumum. This involves touching some tests.
Also switch base64 strings to `%b64[]` to avoid false positives.

Ref: https://github.com/crate-ci/typos/blob/master/docs/reference.md
Ref: https://github.com/codespell-project/codespell?tab=readme-ov-file#inline-ignore
Ref: https://github.com/codespell-project/codespell/issues/1212#issuecomment-1721152455
Ref: https://cspell.org/docs/Configuration/document-settings

Closes #17905
2025-07-21 16:09:01 +02:00
Viktor Szakats
99f0ebc508
libcurl.m4: fix indentation
Closes #17913
2025-07-13 11:52:07 +02:00