Commit Graph

5930 Commits

Author SHA1 Message Date
Daniel Stenberg
439ff2052e
gen: escape more minus
Detected since it was still hard to search for option names using dashes
in the middle in the man page.

Closes #11660
2023-08-11 20:51:00 +02:00
Daniel Stenberg
00ac47bfaa
cookie-jar.d: enphasize that this option is ONLY writing cookies
Reported-by: Dan Jacobson
Tweaked-by: Jay Satiro
Ref: #11642
Closes #11661
2023-08-11 20:49:36 +02:00
Nicholas Nethercote
686951f7be
docs/HYPER.md: document a workaround for a link error
Closes #11653
2023-08-11 20:05:17 +02:00
Jay Satiro
889c071d3c schannel: verify hostname independent of verify cert
Prior to this change when CURLOPT_SSL_VERIFYPEER (verifypeer) was off
and CURLOPT_SSL_VERIFYHOST (verifyhost) was on we did not verify the
hostname in schannel code.

This fixes KNOWN_BUG 2.8 "Schannel disable CURLOPT_SSL_VERIFYPEER and
verify hostname". We discussed a fix several years ago in #3285 but it
went stale.

Assisted-by: Daniel Stenberg

Bug: https://curl.haxx.se/mail/lib-2018-10/0113.html
Reported-by: Martin Galvan

Ref: https://github.com/curl/curl/pull/3285

Fixes https://github.com/curl/curl/issues/3284
Closes https://github.com/curl/curl/pull/10056
2023-08-11 12:27:18 -04:00
Daniel Stenberg
b2118da399
docs/cmdline-opts/gen.pl: hide "added in" before 7.50.0
7.50.0 shipped on Jul 21 2016, over seven years ago. We no longer need
to specify version changes for earlier releases in the generated output.

This ups the limit from the previous 7.30.0 (Apr 12 2013)

This hides roughly 35 "added in" mentions.

Closes #11651
2023-08-10 16:26:31 +02:00
Daniel Stenberg
abd8f2b78b
gen.pl: replace all single quotes with aq
- this prevents man from using a unicode sequence for them
- which then allows search to work properly

Closes #11645
2023-08-09 17:58:35 +02:00
Daniel Stenberg
3ed637f757
page-header: move up a URL paragraph from GLOBBING to URL 2023-08-09 10:49:36 +02:00
Daniel Stenberg
bca286d9dc
variable.d: output the function names table style
Also correct the url function name in the header

Closes #11641
2023-08-09 10:44:10 +02:00
Daniel Stenberg
fa8265a466
haproxy-clientip.d: remove backticks
This is not markdown

Follow-up to 0a75964d0d

Closes #11639
2023-08-09 10:26:03 +02:00
Daniel Stenberg
6911fec8b2
gen.pl: escape all dashes (ascii minus) to avoid unicode hyphens
Reported-by: FC Stegerman
Fixes #11635
Closes #11637
2023-08-09 09:53:55 +02:00
Daniel Stenberg
a9c444d7f4
cmdline-opts/page-header: reorder, clean up
- removed some unnecessary blurb to focus
- moved up the more important URL details
- put "globbing" into its own subtitle and moved down a little
- mention the online man page in the version section

Closes #11638
2023-08-09 09:53:05 +02:00
eppesuig
a9c1e28160
list-only.d: mention SFTP as supported protocol
Closes #11628
2023-08-08 17:10:29 +02:00
Daniel Stenberg
1bd6d4dee1
request.d: use .TP for protocol "labels"
To render the section nicer in man page.

Closes #11630
2023-08-08 17:08:18 +02:00
Daniel Stenberg
d1f41d6ae7
page-footer: QLOGDIR works with ngtcp2 and quiche
It previously said "both" backends which is confusing as we currently
have three...

Closes #11631
2023-08-08 17:04:33 +02:00
Daniel Stenberg
78d6232f1f
gskit: remove
We remove support for building curl with gskit.

 - This is a niche TLS library, only running on some IBM systems
 - no regular curl contributors use this backend
 - no CI builds use or verify this backend
 - gskit, or the curl adaption for it, lacks many modern TLS features
   making it an inferior solution
 - build breakages in this code take weeks or more to get detected
 - fixing gskit code is mostly done "flying blind"

This removal has been advertized in DEPRECATED in Jan 2, 2023 and it has
been mentioned on the curl-library mailing list.

It could be brought back, this is not a ban. Given proper effort and
will, gskit support is welcome back into the curl TLS backend family.

Closes #11460
2023-08-07 20:57:48 +02:00
Dan Fandrich
0092e77632 THANKS-filter: add a name typo 2023-08-07 09:12:42 -07:00
Daniel Stenberg
95ca3c53d3
headers: accept leading whitespaces on first response header
This is a bad header fold but since the popular browsers accept this
violation, so does curl now. Unless built with hyper.

Add test 1473 to verify and adjust test 2306.

Reported-by: junsik on github
Fixes #11605
Closes #11607
2023-08-07 12:45:45 +02:00
Daniel Stenberg
90d0e0f83d
CURLOPT_SSL_VERIFYPEER.3: mention it does not load CA certs when disabled
Ref: #11457
Closes #11606
2023-08-07 10:40:19 +02:00
Daniel Stenberg
03c79448e0
CURLOPT_SSL_VERIFYPEER.3: add two more see also options
CURLINFO_CAINFO and CURLINFO_CAPATH

Closes #11603
2023-08-07 08:25:46 +02:00
Daniel Stenberg
bfc9d56a91
KNOWN_BUGS: aws-sigv4 does not behave well with AWS VPC Lattice
Closes #11007
2023-08-06 23:38:28 +02:00
Graham Campbell
8eda84bdc1
CI: use openssl 3.0.10+quic, nghttp3 0.14.0, ngtcp2 0.18.0
Closes #11585
2023-08-06 23:20:45 +02:00
Daniel Stenberg
8b12f9e203
TODO: add *5* entries for aws-sigv4
Closes #7559
Closes #8107
Closes #8810
Closes #9717
Closes #10129
2023-08-06 23:04:57 +02:00
Daniel Stenberg
26b437393e
TODO: LDAP Certificate-Based Authentication
Closes #9641
2023-08-06 22:58:42 +02:00
Daniel Stenberg
c71ce0007e
docs/cmdline: remove repeated working for negotiate + ntlm
The extra wording is added automatically by the gen.pl tool

Closes #11597
2023-08-06 17:19:37 +02:00
Daniel Stenberg
efb594daac
docs/cmdline: add small "warning" to verbose options
"Note that verbose output of curl activities and network traffic might
contain sensitive data, including user names, credentials or secret data
content. Be aware and be careful when sharing trace logs with others."

Closes #11596
2023-08-06 17:17:27 +02:00
Stefan Eissing
e12b39e133
trace: make tracing available in non-debug builds
Add --trace-config to curl

Add curl_global_trace() to libcurl

Closes #11421
2023-08-03 17:32:25 +02:00
Daniel Stenberg
0f49b5bacb
TODO: remove "Support intermediate & root pinning for PINNEDPUBLICKEY"
See also https://github.com/curl/curl/pull/7507
2023-08-03 17:28:27 +02:00
Daniel Stenberg
16d077330b
TODO: add "WebSocket read callback"
remove "Upgrade to websockets" as we already have this

Closes #11402
2023-08-03 17:21:38 +02:00
Daniel Stenberg
d135d040df
url: change default value for CURLOPT_MAXREDIRS to 30
It was previously unlimited by default, but that's not a sensible
default. While changing this has a remote risk of breaking an existing
use case, I figure it is more likely to actually save users from loops.

Closes #11581
2023-08-02 23:59:59 +02:00
Jay Satiro
b4f9ae5126 schannel: fix user-set legacy algorithms in Windows 10 & 11
- If the user set a legacy algorithm list (CURLOPT_SSL_CIPHER_LIST) then
  use the SCHANNEL_CRED legacy structure to pass the list to Schannel.

- If the user set both a legacy algorithm list and a TLS 1.3 cipher list
  then abort.

Although MS doesn't document it, Schannel will not negotiate TLS 1.3
when SCHANNEL_CRED is used. That means setting a legacy algorithm list
limits the user to earlier versions of TLS.

Prior to this change, since 8beff435 (precedes 7.85.0), libcurl would
ignore legacy algorithms in Windows 10 1809 and later.

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

Fixes https://github.com/curl/curl/pull/10741
Closes https://github.com/curl/curl/pull/10746
2023-08-02 03:43:13 -04:00
Daniel Stenberg
4169943d15
variable.d: setting a variable again overwrites it
Reported-by: Niall McGee
Bug: https://twitter.com/niallmcgee/status/1686523075423322113
Closes #11571
2023-08-02 09:32:08 +02:00
Jay Satiro
783e4714d9 CURLOPT_PROXY_SSL_OPTIONS.3: sync formatting
- Re-wrap CURLSSLOPT_ALLOW_BEAST description.
2023-08-02 03:19:29 -04:00
Daniel Stenberg
fc1e42190f
docs: link to the website versions instead of markdowns
... to make the links work when the markdown is converted to webpages on
https://curl.se

Reported-by: Maurício Meneghini Fauth
Fixes https://github.com/curl/curl-www/issues/272
Closes #11569
2023-08-02 00:47:41 +02:00
Daniel Stenberg
f4ff8072f2
docs/cmdline-opts: spellfixes, typos and polish
To make them accepted by the spell checker

Closes #11562
2023-08-01 14:12:22 +02:00
Alexander Jaeger
959e613e7c
misc: fix various typos
Closes #11561
2023-08-01 14:09:32 +02:00
Daniel Stenberg
15c40a32b7
Revert "KNOWN_BUGS: build for iOS simulator on macOS 13.2 with Xcode 14"
This reverts commit 2e8a3d7cb7.

It's a user error for supplying incomplete information to the build system.

Reported-by: Ryan Schmidt
Ref: https://github.com/curl/curl/issues/11215#issuecomment-1658729367
2023-08-01 10:22:39 +02:00
Pablo Busse
11d46bcfb2 openssl: Support async cert verify callback
- Update the OpenSSL connect state machine to handle
  SSL_ERROR_WANT_RETRY_VERIFY.

This allows libcurl users that are using custom certificate validation
to suspend processing while waiting for external I/O during certificate
validation.

Closes https://github.com/curl/curl/pull/11499
2023-08-01 03:49:07 -04:00
Daniel Stenberg
1032f56efa
curl: make %output{} in -w specify a file to write to
It can be used multiple times. Use %output{>>name} to append.

Add docs. Test 990 and 991 verify.

Idea: #11400
Suggested-by: ed0d2b2ce19451f2
Closes #11416
2023-07-31 23:10:59 +02:00
Daniel Stenberg
2e160c9c65
tool: add "variable" support
Add support for command line variables. Set variables with --variable
name=content or --variable name@file (where "file" can be stdin if set
to a single dash (-)).

Variable content is expanded in option parameters using "{{name}}"
(without the quotes) if the option name is prefixed with
"--expand-". This gets the contents of the variable "name" inserted, or
a blank if the name does not exist as a variable. Insert "{{" verbatim
in the string by prefixing it with a backslash, like "\\{{".

Import an environment variable with --variable %name. It makes curl exit
with an error if the environment variable is not set. It can also rather
get a default value if the variable does not exist, using =content or
@file like shown above.

Example: get the USER environment variable into the URL:

 --variable %USER
 --expand-url = "https://example.com/api/{{USER}}/method"

When expanding variables, curl supports a set of functions that can make
the variable contents more convenient to use. It can trim leading and
trailing white space with "trim", output the contents as a JSON quoted
string with "json", URL encode it with "url" and base 64 encode it with
"b64". To apply functions to a variable expansion, add them colon
separated to the right side of the variable. They are then performed in
a left to right order.

Example: get the contents of a file called $HOME/.secret into a variable
called "fix". Make sure that the content is trimmed and percent-encoded
sent as POST data:

  --variable %HOME=/home/default
  --expand-variable fix@{{HOME}}/.secret
  --expand-data "{{fix:trim:url}}"
  https://example.com/

Documented. Many new test cases.

Co-brainstormed-by: Emanuele Torre
Assisted-by: Jat Satiro
Closes #11346
2023-07-31 11:51:34 +02:00
Daniel Stenberg
47a3e6e577
KNOWN_BUGS: cygwin: make install installs curl-config.1 twice
Closes #8839
2023-07-31 08:55:26 +02:00
Daniel Stenberg
2e8a3d7cb7
KNOWN_BUGS: build for iOS simulator on macOS 13.2 with Xcode 14
Closes #11215
2023-07-31 08:53:55 +02:00
Daniel Stenberg
75afa92dc7
KNOWN_BUGS: cmake outputs: no version information available
Closes #11158
2023-07-31 08:51:32 +02:00
Daniel Stenberg
403e4dc1ed
KNOWN_BUGS: APOP authentication fails on POP3
Closes #10073
2023-07-31 08:47:22 +02:00
Daniel Stenberg
d54d5bfcbf
KNOWN_BUGS: hyper is slow
Closes #11203
2023-07-31 08:45:33 +02:00
Patrick Monnerat
038c46f61f
configure, cmake, lib: more form api deprecation
Introduce a --enable-form-api configure option to control its inclusion
in builds. The condition name defined for it is CURL_DISABLE_FORM_API.

Form api code is dependent of MIME: configure and CMake handle this
dependency automatically: CMake by making it a dependent option
explicitly, configure by inheriting the MIME value by default and
rejecting explicit incompatible values.

"form-api" is now a new hidden test feature.

Update libcurl modules to respect this option and adjust tests
accordingly.

Closes #9621
2023-07-31 08:31:38 +02:00
Disyer
4f9c20d49f
wolfssl: support loading system CA certificates
Closes #11452
2023-07-31 08:27:50 +02:00
Viktor Szakats
86eff0b0d5
nss: delete more NSS references
Fix the distcheck CI failure and delete more NSS references.

Follow-up to 7c8bae0d9c

Reviewed-by: Marcel Raad
Reviewed-by: Daniel Stenberg
Closes #11548
2023-07-30 21:55:29 +00:00
Daniel Stenberg
7c8bae0d9c
nss: remove support for this TLS library
Closes #11459
2023-07-29 23:44:28 +02:00
Daniel Stenberg
775018d273
KNOWN_BUGS: cygwin: "WARNING: UNPROTECTED PRIVATE KEY FILE!"
Closes #11244
2023-07-27 23:43:28 +02:00
Daniel Stenberg
a01f89d7d9
THANKS: add contributors from 8.2.1 2023-07-26 08:10:40 +02:00