Commit graph

2466 commits

Author SHA1 Message Date
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
Viktor Szakats
75395eb003
scripts: fix to quote the copyright email address
Also:
- fix the generated output in repo files.

Cherry-picked from #17877
Closes #17903
2025-07-12 08:59:44 +02:00
Viktor Szakats
ddcfd2d511
tidy-up: whitespace (more in Perl)
Follow-up to 8eab2b7086 #17896
Cherry-picked from #17877
Closes #17901
2025-07-12 08:59:44 +02:00
Viktor Szakats
8eab2b7086
tidy-up: whitespace
Cherry-picked from #17877
Cherry-picked from #17876

Closes #17896
2025-07-11 13:32:54 +02:00
Viktor Szakats
55509b045b
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 66ec950004 #12424
Follow-up to 74f441c6d3 #4628

Cherry-picked from #17877
Closes #17880
2025-07-11 12:28:46 +02:00
Daniel Stenberg
897633eb21
docs: mention the as-is concept generically
for curl command line options and for curl_easy_setopt

Closes #17829
2025-07-09 15:32:46 +02:00
Christian Hesse
7d73c712f0
curl.h: make CURL_IPRESOLVE_* symbols defined as longs
... as `curl_easy_setopt()` expects them to be.

Also remove some casting workarounds.

Closes #17790
2025-07-07 14:37:12 +02:00
Carlos Henrique Lima Melara
790153c927
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
2025-07-07 09:05:17 +02:00
Stefan Eissing
d9c2d4bc10
docs: warn about lifetime in CURLOPT_CLOSESOCKET*
Callback and data set via CURLOPT_CLOSESOCKETFUNCTION and
CURLOPT_CLOSESOCKETDATA may get used after the easy handle has been
cleaned up. Inform about that.

Closes #17816
2025-07-04 12:55:26 +02:00
Jay Satiro
cd9d791651 CURLSHOPT_SHARE.md: mention multi-threading requires callbacks
- Explain that if data is shared in multiple threads then the user must
  set mutex callbacks.

Reported-by: afengsoft@users.noreply.github.com

Fixes https://github.com/curl/curl/issues/17774
Closes https://github.com/curl/curl/pull/17782
2025-07-02 11:11:25 -04:00
Daniel Stenberg
2cdc02f49f
libcurl-env.md: drop LOGNAME, USER and NTLMUSER
They were used for NTLM-WB, which support was removed for back in 8.8.0

Closes #17713
2025-06-23 08:21:05 +02:00
Daniel Stenberg
bbadbd7795
docs: mention that the netrc file works without port numbers
Closes #17698
2025-06-21 23:46:14 +02:00