commit 57ae00d

hovercats  ·  2024-06-17 10:39:42 +0000 UTC
parent 441d601
curl: 8.8.0
7 files changed,  +705, -660
+1, -1
1@@ -1,3 +1,3 @@
2-/curl-8.7.1.tar.gz
3+/curl-8.8.0.tar.xz
4 /curl.1.gz
5 /src
+687, -643
   1@@ -24,7 +24,7 @@
   2 .\"
   3 .\" DO NOT EDIT. Generated by the curl project managen man page generator.
   4 .\"
   5-.TH curl 1 "March 28 2024" "curl 8.7.1" "curl Manual"
   6+.TH curl 1 "2024-06-17" "curl 8.8.0" "curl Manual"
   7 .SH NAME
   8 curl \- transfer a URL
   9 .SH SYNOPSIS
  10@@ -242,7 +242,7 @@ If you prefer a progress bar instead of the regular meter, \fI\-#, \-\-progress\
  11 your friend. You can also disable the progress meter completely with the
  12 \fI\-s, \-\-silent\fP option.
  13 .SH VERSION
  14-This man page describes curl 8.7.1. If you use a later version, chances
  15+This man page describes curl 8.8.0. If you use a later version, chances
  16 are this man page does not fully document it. If you use an earlier version,
  17 this document tries to include version information about which specific
  18 version that introduced changes.
  19@@ -456,41 +456,6 @@ Example:
  20 .fi
  21 
  22 See also \fI\-\-cacert\fP and \fI-k, \-\-insecure\fP.
  23-.IP "\-\-cert\-status"
  24-(TLS) Verify the status of the server certificate by using the Certificate Status
  25-Request (aka. OCSP stapling) TLS extension.
  26-
  27-If this option is enabled and the server sends an invalid (e.g. expired)
  28-response, if the response suggests that the server certificate has been
  29-revoked, or no response at all is received, the verification fails.
  30-
  31-This support is currently only implemented in the OpenSSL and GnuTLS backends.
  32-
  33-Providing --cert-status multiple times has no extra effect.
  34-Disable it again with \-\-no-cert-status.
  35-
  36-Example:
  37-.nf
  38- curl --cert-status https://example.com
  39-.fi
  40-
  41-See also \fI\-\-pinnedpubkey\fP.
  42-.IP "\-\-cert\-type <type>"
  43-(TLS) Set type of the provided client certificate. PEM, DER, ENG and P12 are
  44-recognized types.
  45-
  46-The default type depends on the TLS backend and is usually PEM, however for
  47-Secure Transport and Schannel it is P12. If \fI\-E, \-\-cert\fP is a pkcs11: URI then ENG is
  48-the default type.
  49-
  50-If --cert-type is provided several times, the last set value is used.
  51-
  52-Example:
  53-.nf
  54- curl --cert-type PEM --cert file https://example.com
  55-.fi
  56-
  57-See also \fI-E, \-\-cert\fP, \fI\-\-key\fP and \fI\-\-key\-type\fP.
  58 .IP "\-E, \-\-cert <certificate[:password]>"
  59 (TLS) Use the specified client certificate file when getting a file with HTTPS, FTPS
  60 or another SSL\-based protocol. The certificate must be in PKCS#12 format if
  61@@ -536,6 +501,41 @@ Example:
  62 .fi
  63 
  64 See also \fI\-\-cert\-type\fP, \fI\-\-key\fP and \fI\-\-key\-type\fP.
  65+.IP "\-\-cert\-status"
  66+(TLS) Verify the status of the server certificate by using the Certificate Status
  67+Request (aka. OCSP stapling) TLS extension.
  68+
  69+If this option is enabled and the server sends an invalid (e.g. expired)
  70+response, if the response suggests that the server certificate has been
  71+revoked, or no response at all is received, the verification fails.
  72+
  73+This support is currently only implemented in the OpenSSL and GnuTLS backends.
  74+
  75+Providing --cert-status multiple times has no extra effect.
  76+Disable it again with \-\-no-cert-status.
  77+
  78+Example:
  79+.nf
  80+ curl --cert-status https://example.com
  81+.fi
  82+
  83+See also \fI\-\-pinnedpubkey\fP.
  84+.IP "\-\-cert\-type <type>"
  85+(TLS) Set type of the provided client certificate. PEM, DER, ENG and P12 are
  86+recognized types.
  87+
  88+The default type depends on the TLS backend and is usually PEM, however for
  89+Secure Transport and Schannel it is P12. If \fI\-E, \-\-cert\fP is a pkcs11: URI then ENG is
  90+the default type.
  91+
  92+If --cert-type is provided several times, the last set value is used.
  93+
  94+Example:
  95+.nf
  96+ curl --cert-type PEM --cert file https://example.com
  97+.fi
  98+
  99+See also \fI-E, \-\-cert\fP, \fI\-\-key\fP and \fI\-\-key\-type\fP.
 100 .IP "\-\-ciphers <list of ciphers>"
 101 (TLS) Specifies which ciphers to use in the connection. The list of ciphers must
 102 specify valid ciphers. Read up on SSL cipher list details on this URL:
 103@@ -550,19 +550,6 @@ Example:
 104 .fi
 105 
 106 See also \fI\-\-tlsv1.3\fP, \fI\-\-tls13\-ciphers\fP and \fI\-\-proxy\-ciphers\fP.
 107-.IP "\-\-compressed\-ssh"
 108-(SCP SFTP) Enables built\-in SSH compression. This is a request, not an order; the server
 109-may or may not do it.
 110-
 111-Providing --compressed-ssh multiple times has no extra effect.
 112-Disable it again with \-\-no-compressed-ssh.
 113-
 114-Example:
 115-.nf
 116- curl --compressed-ssh sftp://example.com/
 117-.fi
 118-
 119-See also \fI\-\-compressed\fP. Added in 7.56.0.
 120 .IP "\-\-compressed"
 121 (HTTP) Request a compressed response using one of the algorithms curl supports, and
 122 automatically decompress the content.
 123@@ -584,6 +571,19 @@ Example:
 124 .fi
 125 
 126 See also \fI\-\-compressed\-ssh\fP.
 127+.IP "\-\-compressed\-ssh"
 128+(SCP SFTP) Enables built\-in SSH compression. This is a request, not an order; the server
 129+may or may not do it.
 130+
 131+Providing --compressed-ssh multiple times has no extra effect.
 132+Disable it again with \-\-no-compressed-ssh.
 133+
 134+Example:
 135+.nf
 136+ curl --compressed-ssh sftp://example.com/
 137+.fi
 138+
 139+See also \fI\-\-compressed\fP. Added in 7.56.0.
 140 .IP "\-K, \-\-config <file>"
 141 Specify a text file to read curl arguments from. The command line arguments
 142 found in the text file are used as if they were provided on the command
 143@@ -723,35 +723,6 @@ Examples:
 144 .fi
 145 
 146 See also \fI-r, \-\-range\fP.
 147-.IP "\-c, \-\-cookie\-jar <filename>"
 148-(HTTP) Specify to which file you want curl to write all cookies after a completed
 149-operation. Curl writes all cookies from its in\-memory cookie storage to the
 150-given file at the end of operations. Even if no cookies are known, a file is
 151-created so that it removes any formerly existing cookies from the file. The
 152-file uses the Netscape cookie file format. If you set the filename to a single
 153-minus, "\-", the cookies are written to stdout.
 154-
 155-The file specified with \fI\-c, \-\-cookie\-jar\fP is only used for output. No cookies are
 156-read from the file. To read cookies, use the \fI\-b, \-\-cookie\fP option. Both options
 157-can specify the same file.
 158-
 159-This command line option activates the cookie engine that makes curl record
 160-and use cookies. The \fI\-b, \-\-cookie\fP option also activates it.
 161-
 162-If the cookie jar cannot be created or written to, the whole curl operation
 163-does not fail or even report an error clearly. Using \fI\-v, \-\-verbose\fP gets a warning
 164-displayed, but that is the only visible feedback you get about this possibly
 165-lethal situation.
 166-
 167-If --cookie-jar is provided several times, the last set value is used.
 168-
 169-Examples:
 170-.nf
 171- curl -c store-here.txt https://example.com
 172- curl -c store-here.txt -b read-these https://example.com
 173-.fi
 174-
 175-See also \fI-b, \-\-cookie\fP.
 176 .IP "\-b, \-\-cookie <data|filename>"
 177 (HTTP) Pass the data to the HTTP server in the Cookie header. It is supposedly the
 178 data previously received from the server in a "Set\-Cookie:" line. The data
 179@@ -803,6 +774,35 @@ Examples:
 180 .fi
 181 
 182 See also \fI-c, \-\-cookie\-jar\fP and \fI-j, \-\-junk\-session\-cookies\fP.
 183+.IP "\-c, \-\-cookie\-jar <filename>"
 184+(HTTP) Specify to which file you want curl to write all cookies after a completed
 185+operation. Curl writes all cookies from its in\-memory cookie storage to the
 186+given file at the end of operations. Even if no cookies are known, a file is
 187+created so that it removes any formerly existing cookies from the file. The
 188+file uses the Netscape cookie file format. If you set the filename to a single
 189+minus, "\-", the cookies are written to stdout.
 190+
 191+The file specified with \fI\-c, \-\-cookie\-jar\fP is only used for output. No cookies are
 192+read from the file. To read cookies, use the \fI\-b, \-\-cookie\fP option. Both options
 193+can specify the same file.
 194+
 195+This command line option activates the cookie engine that makes curl record
 196+and use cookies. The \fI\-b, \-\-cookie\fP option also activates it.
 197+
 198+If the cookie jar cannot be created or written to, the whole curl operation
 199+does not fail or even report an error clearly. Using \fI\-v, \-\-verbose\fP gets a warning
 200+displayed, but that is the only visible feedback you get about this possibly
 201+lethal situation.
 202+
 203+If --cookie-jar is provided several times, the last set value is used.
 204+
 205+Examples:
 206+.nf
 207+ curl -c store-here.txt https://example.com
 208+ curl -c store-here.txt -b read-these https://example.com
 209+.fi
 210+
 211+See also \fI-b, \-\-cookie\fP.
 212 .IP "\-\-create\-dirs"
 213 When used in conjunction with the \fI\-o, \-\-output\fP option, curl creates the necessary
 214 local directory hierarchy as needed. This option creates the directories
 215@@ -885,6 +885,43 @@ Example:
 216 .fi
 217 
 218 See also \fI\-\-ciphers\fP. Added in 7.73.0.
 219+.IP "\-d, \-\-data <data>"
 220+(HTTP MQTT) Sends the specified data in a POST request to the HTTP server, in the same way
 221+that a browser does when a user has filled in an HTML form and presses the
 222+submit button. This option makes curl pass the data to the server using the
 223+content\-type application/x\-www\-form\-urlencoded. Compare to \fI\-F, \-\-form\fP.
 224+
 225+\fI\-\-data\-raw\fP is almost the same but does not have a special interpretation of
 226+the @ character. To post data purely binary, you should instead use the
 227+\fI\-\-data\-binary\fP option. To URL\-encode the value of a form field you may use
 228+\fI\-\-data\-urlencode\fP.
 229+
 230+If any of these options is used more than once on the same command line, the
 231+data pieces specified are merged with a separating &\-symbol. Thus, using
 232+\(aq\-d name=daniel \-d skill=lousy\(aq would generate a post chunk that looks like
 233+\(aqname=daniel&skill=lousy\(aq.
 234+
 235+If you start the data with the letter @, the rest should be a filename to read
 236+the data from, or \- if you want curl to read the data from stdin. Posting data
 237+from a file named \(aqfoobar\(aq would thus be done with \fI\-d, \-\-data\fP @foobar. When \fI\-d, \-\-data\fP
 238+is told to read from a file like that, carriage returns, newlines and null
 239+bytes are stripped out. If you do not want the @ character to have a special
 240+interpretation use \fI\-\-data\-raw\fP instead.
 241+
 242+The data for this option is passed on to the server exactly as provided on the
 243+command line. curl does not convert, change or improve it. It is up to the
 244+user to provide the data in the correct form.
 245+
 246+--data can be used several times in a command line
 247+
 248+Examples:
 249+.nf
 250+ curl -d "name=curl" https://example.com
 251+ curl -d "name=curl" -d "tool=cmdline" https://example.com
 252+ curl -d @filename https://example.com
 253+.fi
 254+
 255+See also \fI\-\-data\-binary\fP, \fI\-\-data\-urlencode\fP and \fI\-\-data\-raw\fP. This option is mutually exclusive to \fI-F, \-\-form\fP and \fI-I, \-\-head\fP and \fI-T, \-\-upload\-file\fP.
 256 .IP "\-\-data\-ascii <data>"
 257 (HTTP) This option is just an alias for \fI\-d, \-\-data\fP.
 258 
 259@@ -972,43 +1009,6 @@ Examples:
 260 .fi
 261 
 262 See also \fI-d, \-\-data\fP and \fI\-\-data\-raw\fP.
 263-.IP "\-d, \-\-data <data>"
 264-(HTTP MQTT) Sends the specified data in a POST request to the HTTP server, in the same way
 265-that a browser does when a user has filled in an HTML form and presses the
 266-submit button. This option makes curl pass the data to the server using the
 267-content\-type application/x\-www\-form\-urlencoded. Compare to \fI\-F, \-\-form\fP.
 268-
 269-\fI\-\-data\-raw\fP is almost the same but does not have a special interpretation of
 270-the @ character. To post data purely binary, you should instead use the
 271-\fI\-\-data\-binary\fP option. To URL\-encode the value of a form field you may use
 272-\fI\-\-data\-urlencode\fP.
 273-
 274-If any of these options is used more than once on the same command line, the
 275-data pieces specified are merged with a separating &\-symbol. Thus, using
 276-\(aq\-d name=daniel \-d skill=lousy\(aq would generate a post chunk that looks like
 277-\(aqname=daniel&skill=lousy\(aq.
 278-
 279-If you start the data with the letter @, the rest should be a filename to read
 280-the data from, or \- if you want curl to read the data from stdin. Posting data
 281-from a file named \(aqfoobar\(aq would thus be done with \fI\-d, \-\-data\fP @foobar. When \fI\-d, \-\-data\fP
 282-is told to read from a file like that, carriage returns, newlines and null
 283-bytes are stripped out. If you do not want the @ character to have a special
 284-interpretation use \fI\-\-data\-raw\fP instead.
 285-
 286-The data for this option is passed on to the server exactly as provided on the
 287-command line. curl does not convert, change or improve it. It is up to the
 288-user to provide the data in the correct form.
 289-
 290---data can be used several times in a command line
 291-
 292-Examples:
 293-.nf
 294- curl -d "name=curl" https://example.com
 295- curl -d "name=curl" -d "tool=cmdline" https://example.com
 296- curl -d @filename https://example.com
 297-.fi
 298-
 299-See also \fI\-\-data\-binary\fP, \fI\-\-data\-urlencode\fP and \fI\-\-data\-raw\fP. This option is mutually exclusive to \fI-F, \-\-form\fP and \fI-I, \-\-head\fP and \fI-T, \-\-upload\-file\fP.
 300 .IP "\-\-delegation <LEVEL>"
 301 (GSS/kerberos) Set LEVEL what curl is allowed to delegate when it comes to user credentials.
 302 .RS
 303@@ -1044,6 +1044,23 @@ Example:
 304 .fi
 305 
 306 See also \fI-u, \-\-user\fP, \fI\-\-proxy\-digest\fP and \fI\-\-anyauth\fP. This option is mutually exclusive to \fI\-\-basic\fP and \fI\-\-ntlm\fP and \fI\-\-negotiate\fP.
 307+.IP "\-q, \-\-disable"
 308+If used as the \fBfirst\fP parameter on the command line, the \fIcurlrc\fP config
 309+file is not read or used. See the \fI\-K, \-\-config\fP for details on the default config
 310+file search path.
 311+
 312+Prior to 7.50.0 curl supported the short option name \fIq\fP but not the long
 313+option name \fIdisable\fP.
 314+
 315+Providing --disable multiple times has no extra effect.
 316+Disable it again with \-\-no-disable.
 317+
 318+Example:
 319+.nf
 320+ curl -q https://example.com
 321+.fi
 322+
 323+See also \fI-K, \-\-config\fP.
 324 .IP "\-\-disable\-eprt"
 325 (FTP) Disable the use of the EPRT and LPRT commands when doing active FTP transfers.
 326 Curl normally first attempts to use EPRT before using PORT, but with this
 327@@ -1092,23 +1109,6 @@ Example:
 328 .fi
 329 
 330 See also \fI\-\-disable\-eprt\fP and \fI-P, \-\-ftp\-port\fP.
 331-.IP "\-q, \-\-disable"
 332-If used as the \fBfirst\fP parameter on the command line, the \fIcurlrc\fP config
 333-file is not read or used. See the \fI\-K, \-\-config\fP for details on the default config
 334-file search path.
 335-
 336-Prior to 7.50.0 curl supported the short option name \fIq\fP but not the long
 337-option name \fIdisable\fP.
 338-
 339-Providing --disable multiple times has no extra effect.
 340-Disable it again with \-\-no-disable.
 341-
 342-Example:
 343-.nf
 344- curl -q https://example.com
 345-.fi
 346-
 347-See also \fI-K, \-\-config\fP.
 348 .IP "\-\-disallow\-username\-in\-url"
 349 Exit with error if passed a URL containing a username. Probably most useful
 350 when the URL is being provided at runtime or similar.
 351@@ -1246,6 +1246,41 @@ Example:
 352 .fi
 353 
 354 See also \fI-o, \-\-output\fP.
 355+.IP "\-\-ech <config>"
 356+(HTTPS) Specifies how to do ECH (Encrypted Client Hello).
 357+
 358+The values allowed for <config> can be:
 359+.RS
 360+.IP false
 361+Do not attempt ECH
 362+.IP grease
 363+Send a GREASE ECH extension
 364+.IP true
 365+Attempt ECH if possible, but do not fail if ECH is not attempted.
 366+(The connection fails if ECH is attempted but fails.)
 367+.IP hard
 368+Attempt ECH and fail if that is not possible.
 369+ECH only works with TLS 1.3 and also requires using
 370+DoH or providing an ECHConfigList on the command line.
 371+.IP ecl:<b64val>
 372+A base64 encoded ECHConfigList that is used for ECH.
 373+.IP pn:<name>
 374+A name to use to over\-ride the "public_name" field of an ECHConfigList
 375+(only available with OpenSSL TLS support)
 376+.IP Errors
 377+Most errors cause error
 378+\fICURLE_ECH_REQUIRED\fP (101).
 379+.RE
 380+.IP
 381+
 382+If --ech is provided several times, the last set value is used.
 383+
 384+Example:
 385+.nf
 386+ curl --ech true https://example.com
 387+.fi
 388+
 389+See also \fI\-\-doh\-url\fP. Added in 8.8.0.
 390 .IP "\-\-egd\-file <file>"
 391 (TLS) Deprecated option (added in 7.84.0). Prior to that it only had an effect on
 392 curl if built to use old versions of OpenSSL.
 393@@ -1323,6 +1358,26 @@ Example:
 394 .fi
 395 
 396 See also \fI\-\-connect\-timeout\fP.
 397+.IP "\-f, \-\-fail"
 398+(HTTP) Fail fast with no output at all on server errors. This is useful to enable
 399+scripts and users to better deal with failed attempts. In normal cases when an
 400+HTTP server fails to deliver a document, it returns an HTML document stating
 401+so (which often also describes why and more). This command line option
 402+prevents curl from outputting that and return error 22.
 403+
 404+This method is not fail\-safe and there are occasions where non\-successful
 405+response codes slip through, especially when authentication is involved
 406+(response codes 401 and 407).
 407+
 408+Providing --fail multiple times has no extra effect.
 409+Disable it again with \-\-no-fail.
 410+
 411+Example:
 412+.nf
 413+ curl --fail https://example.com
 414+.fi
 415+
 416+See also \fI\-\-fail\-with\-body\fP and \fI\-\-fail\-early\fP. This option is mutually exclusive to \fI\-\-fail\-with\-body\fP.
 417 .IP "\-\-fail\-early"
 418 Fail and exit on the first detected transfer error.
 419 
 420@@ -1369,26 +1424,6 @@ Example:
 421 .fi
 422 
 423 See also \fI-f, \-\-fail\fP and \fI\-\-fail\-early\fP. This option is mutually exclusive to \fI-f, \-\-fail\fP. Added in 7.76.0.
 424-.IP "\-f, \-\-fail"
 425-(HTTP) Fail fast with no output at all on server errors. This is useful to enable
 426-scripts and users to better deal with failed attempts. In normal cases when an
 427-HTTP server fails to deliver a document, it returns an HTML document stating
 428-so (which often also describes why and more). This command line option
 429-prevents curl from outputting that and return error 22.
 430-
 431-This method is not fail\-safe and there are occasions where non\-successful
 432-response codes slip through, especially when authentication is involved
 433-(response codes 401 and 407).
 434-
 435-Providing --fail multiple times has no extra effect.
 436-Disable it again with \-\-no-fail.
 437-
 438-Example:
 439-.nf
 440- curl --fail https://example.com
 441-.fi
 442-
 443-See also \fI\-\-fail\-with\-body\fP and \fI\-\-fail\-early\fP. This option is mutually exclusive to \fI\-\-fail\-with\-body\fP.
 444 .IP "\-\-false\-start"
 445 (TLS) Use false start during the TLS handshake. False start is a mode where a TLS
 446 client starts sending application data before verifying the server\(aqs Finished
 447@@ -1406,33 +1441,6 @@ Example:
 448 .fi
 449 
 450 See also \fI\-\-tcp\-fastopen\fP.
 451-.IP "\-\-form\-escape"
 452-(HTTP) Pass on names of multipart form fields and files using backslash\-escaping
 453-instead of percent\-encoding.
 454-
 455-If --form-escape is provided several times, the last set value is used.
 456-
 457-Example:
 458-.nf
 459- curl --form-escape -F 'field\\name=curl' -F 'file=@load"this' https://example.com
 460-.fi
 461-
 462-See also \fI-F, \-\-form\fP. Added in 7.81.0.
 463-.IP "\-\-form\-string <name=string>"
 464-(HTTP SMTP IMAP) Similar to \fI\-F, \-\-form\fP except that the value string for the named parameter is used
 465-literally. Leading @ and < characters, and the ";type=" string in the value
 466-have no special meaning. Use this in preference to \fI\-F, \-\-form\fP if there is any
 467-possibility that the string value may accidentally trigger the @ or <
 468-features of \fI\-F, \-\-form\fP.
 469-
 470---form-string can be used several times in a command line
 471-
 472-Example:
 473-.nf
 474- curl --form-string "name=data" https://example.com
 475-.fi
 476-
 477-See also \fI-F, \-\-form\fP.
 478 .IP "\-F, \-\-form <name=content>"
 479 (HTTP SMTP IMAP) For the HTTP protocol family, emulate a filled\-in form in which a user has
 480 pressed the submit button. This makes curl POST data using the Content\-Type
 481@@ -1591,6 +1599,33 @@ Example:
 482 .fi
 483 
 484 See also \fI-d, \-\-data\fP, \fI\-\-form\-string\fP and \fI\-\-form\-escape\fP. This option is mutually exclusive to \fI-d, \-\-data\fP and \fI-I, \-\-head\fP and \fI-T, \-\-upload\-file\fP.
 485+.IP "\-\-form\-escape"
 486+(HTTP) Pass on names of multipart form fields and files using backslash\-escaping
 487+instead of percent\-encoding.
 488+
 489+If --form-escape is provided several times, the last set value is used.
 490+
 491+Example:
 492+.nf
 493+ curl --form-escape -F 'field\\name=curl' -F 'file=@load"this' https://example.com
 494+.fi
 495+
 496+See also \fI-F, \-\-form\fP. Added in 7.81.0.
 497+.IP "\-\-form\-string <name=string>"
 498+(HTTP SMTP IMAP) Similar to \fI\-F, \-\-form\fP except that the value string for the named parameter is used
 499+literally. Leading @ and < characters, and the ";type=" string in the value
 500+have no special meaning. Use this in preference to \fI\-F, \-\-form\fP if there is any
 501+possibility that the string value may accidentally trigger the @ or <
 502+features of \fI\-F, \-\-form\fP.
 503+
 504+--form-string can be used several times in a command line
 505+
 506+Example:
 507+.nf
 508+ curl --form-string "name=data" https://example.com
 509+.fi
 510+
 511+See also \fI-F, \-\-form\fP.
 512 .IP "\-\-ftp\-account <data>"
 513 (FTP) When an FTP server asks for "account data" after username and password has
 514 been provided, this data is sent off using the ACCT command.
 515@@ -1748,21 +1783,6 @@ Example:
 516 .fi
 517 
 518 See also \fI\-\-ftp\-pasv\fP.
 519-.IP "\-\-ftp\-ssl\-ccc\-mode <active/passive>"
 520-(FTP) Sets the CCC mode. The passive mode does not initiate the shutdown, but
 521-instead waits for the server to do it, and does not reply to the shutdown from
 522-the server. The active mode initiates the shutdown and waits for a reply from
 523-the server.
 524-
 525-Providing --ftp-ssl-ccc-mode multiple times has no extra effect.
 526-Disable it again with \-\-no-ftp-ssl-ccc-mode.
 527-
 528-Example:
 529-.nf
 530- curl --ftp-ssl-ccc-mode active --ftp-ssl-ccc ftps://example.com/
 531-.fi
 532-
 533-See also \fI\-\-ftp\-ssl\-ccc\fP.
 534 .IP "\-\-ftp\-ssl\-ccc"
 535 (FTP) Use CCC (Clear Command Channel) Shuts down the SSL/TLS layer after
 536 authenticating. The rest of the control channel communication is be
 537@@ -1778,6 +1798,21 @@ Example:
 538 .fi
 539 
 540 See also \fI\-\-ssl\fP and \fI\-\-ftp\-ssl\-ccc\-mode\fP.
 541+.IP "\-\-ftp\-ssl\-ccc\-mode <active/passive>"
 542+(FTP) Sets the CCC mode. The passive mode does not initiate the shutdown, but
 543+instead waits for the server to do it, and does not reply to the shutdown from
 544+the server. The active mode initiates the shutdown and waits for a reply from
 545+the server.
 546+
 547+Providing --ftp-ssl-ccc-mode multiple times has no extra effect.
 548+Disable it again with \-\-no-ftp-ssl-ccc-mode.
 549+
 550+Example:
 551+.nf
 552+ curl --ftp-ssl-ccc-mode active --ftp-ssl-ccc ftps://example.com/
 553+.fi
 554+
 555+See also \fI\-\-ftp\-ssl\-ccc\fP.
 556 .IP "\-\-ftp\-ssl\-control"
 557 (FTP) Require SSL/TLS for the FTP login, clear for transfer. Allows secure
 558 authentication, but non\-encrypted data transfers for efficiency. Fails the
 559@@ -2065,21 +2100,6 @@ Example:
 560 .fi
 561 
 562 See also \fI\-\-http1.0\fP and \fI\-\-http0.9\fP. This option is mutually exclusive to \fI\-\-http1.0\fP and \fI\-\-http2\fP and \fI\-\-http2\-prior\-knowledge\fP and \fI\-\-http3\fP.
 563-.IP "\-\-http2\-prior\-knowledge"
 564-(HTTP) Issue a non\-TLS HTTP requests using HTTP/2 directly without HTTP/1.1 Upgrade.
 565-It requires prior knowledge that the server supports HTTP/2 straight away.
 566-HTTPS requests still do HTTP/2 the standard way with negotiated protocol
 567-version in the TLS handshake.
 568-
 569-Providing --http2-prior-knowledge multiple times has no extra effect.
 570-Disable it again with \-\-no-http2-prior-knowledge.
 571-
 572-Example:
 573-.nf
 574- curl --http2-prior-knowledge https://example.com
 575-.fi
 576-
 577-See also \fI\-\-http2\fP and \fI\-\-http3\fP. \fI\-\-http2\-prior\-knowledge\fP requires that the underlying libcurl was built to support HTTP/2. This option is mutually exclusive to \fI\-\-http1.1\fP and \fI\-\-http1.0\fP and \fI\-\-http2\fP and \fI\-\-http3\fP.
 578 .IP "\-\-http2"
 579 (HTTP) Use HTTP/2.
 580 
 581@@ -2101,26 +2121,21 @@ Example:
 582 .fi
 583 
 584 See also \fI\-\-http1.1\fP, \fI\-\-http3\fP and \fI\-\-no\-alpn\fP. \fI\-\-http2\fP requires that the underlying libcurl was built to support HTTP/2. This option is mutually exclusive to \fI\-\-http1.1\fP and \fI\-\-http1.0\fP and \fI\-\-http2\-prior\-knowledge\fP and \fI\-\-http3\fP.
 585-.IP "\-\-http3\-only"
 586-(HTTP) Instructs curl to use HTTP/3 to the host in the URL, with no fallback to
 587-earlier HTTP versions. HTTP/3 can only be used for HTTPS and not for HTTP
 588-URLs. For HTTP, this option triggers an error.
 589-
 590-This option allows a user to avoid using the Alt\-Svc method of upgrading to
 591-HTTP/3 when you know that the target speaks HTTP/3 on the given host and port.
 592-
 593-This option makes curl fail if a QUIC connection cannot be established, it
 594-does not attempt any other HTTP versions on its own. Use \fI\-\-http3\fP for similar
 595-functionality \fIwith\fP a fallback.
 596+.IP "\-\-http2\-prior\-knowledge"
 597+(HTTP) Issue a non\-TLS HTTP requests using HTTP/2 directly without HTTP/1.1 Upgrade.
 598+It requires prior knowledge that the server supports HTTP/2 straight away.
 599+HTTPS requests still do HTTP/2 the standard way with negotiated protocol
 600+version in the TLS handshake.
 601 
 602-Providing --http3-only multiple times has no extra effect.
 603+Providing --http2-prior-knowledge multiple times has no extra effect.
 604+Disable it again with \-\-no-http2-prior-knowledge.
 605 
 606 Example:
 607 .nf
 608- curl --http3-only https://example.com
 609+ curl --http2-prior-knowledge https://example.com
 610 .fi
 611 
 612-See also \fI\-\-http1.1\fP, \fI\-\-http2\fP and \fI\-\-http3\fP. \fI\-\-http3\-only\fP requires that the underlying libcurl was built to support HTTP/3. This option is mutually exclusive to \fI\-\-http1.1\fP and \fI\-\-http1.0\fP and \fI\-\-http2\fP and \fI\-\-http2\-prior\-knowledge\fP and \fI\-\-http3\fP. Added in 7.88.0.
 613+See also \fI\-\-http2\fP and \fI\-\-http3\fP. \fI\-\-http2\-prior\-knowledge\fP requires that the underlying libcurl was built to support HTTP/2. This option is mutually exclusive to \fI\-\-http1.1\fP and \fI\-\-http1.0\fP and \fI\-\-http2\fP and \fI\-\-http3\fP.
 614 .IP "\-\-http3"
 615 (HTTP) Attempt HTTP/3 to the host in the URL, but fallback to earlier HTTP versions
 616 if the HTTP/3 connection establishment fails. HTTP/3 is only available for
 617@@ -2143,6 +2158,26 @@ Example:
 618 .fi
 619 
 620 See also \fI\-\-http1.1\fP and \fI\-\-http2\fP. \fI\-\-http3\fP requires that the underlying libcurl was built to support HTTP/3. This option is mutually exclusive to \fI\-\-http1.1\fP and \fI\-\-http1.0\fP and \fI\-\-http2\fP and \fI\-\-http2\-prior\-knowledge\fP and \fI\-\-http3\-only\fP. Added in 7.66.0.
 621+.IP "\-\-http3\-only"
 622+(HTTP) Instructs curl to use HTTP/3 to the host in the URL, with no fallback to
 623+earlier HTTP versions. HTTP/3 can only be used for HTTPS and not for HTTP
 624+URLs. For HTTP, this option triggers an error.
 625+
 626+This option allows a user to avoid using the Alt\-Svc method of upgrading to
 627+HTTP/3 when you know that the target speaks HTTP/3 on the given host and port.
 628+
 629+This option makes curl fail if a QUIC connection cannot be established, it
 630+does not attempt any other HTTP versions on its own. Use \fI\-\-http3\fP for similar
 631+functionality \fIwith\fP a fallback.
 632+
 633+Providing --http3-only multiple times has no extra effect.
 634+
 635+Example:
 636+.nf
 637+ curl --http3-only https://example.com
 638+.fi
 639+
 640+See also \fI\-\-http1.1\fP, \fI\-\-http2\fP and \fI\-\-http3\fP. \fI\-\-http3\-only\fP requires that the underlying libcurl was built to support HTTP/3. This option is mutually exclusive to \fI\-\-http1.1\fP and \fI\-\-http1.0\fP and \fI\-\-http2\fP and \fI\-\-http2\-prior\-knowledge\fP and \fI\-\-http3\fP. Added in 7.88.0.
 641 .IP "\-\-ignore\-content\-length"
 642 (FTP HTTP) For HTTP, Ignore the Content\-Length header. This is particularly useful for
 643 servers running Apache 1.x, which reports incorrect Content\-Length for
 644@@ -2360,18 +2395,6 @@ Example:
 645 .fi
 646 
 647 See also \fI\-\-no\-keepalive\fP and \fI-m, \-\-max\-time\fP.
 648-.IP "\-\-key\-type <type>"
 649-(TLS) Private key file type. Specify which type your \fI\-\-key\fP provided private key
 650-is. DER, PEM, and ENG are supported. If not specified, PEM is assumed.
 651-
 652-If --key-type is provided several times, the last set value is used.
 653-
 654-Example:
 655-.nf
 656- curl --key-type DER --key here https://example.com
 657-.fi
 658-
 659-See also \fI\-\-key\fP.
 660 .IP "\-\-key <key>"
 661 (TLS SSH) Private key filename. Allows you to provide your private key in this separate
 662 file. For SSH, if not specified, curl tries the following candidates in order:
 663@@ -2397,6 +2420,18 @@ Example:
 664 .fi
 665 
 666 See also \fI\-\-key\-type\fP and \fI-E, \-\-cert\fP.
 667+.IP "\-\-key\-type <type>"
 668+(TLS) Private key file type. Specify which type your \fI\-\-key\fP provided private key
 669+is. DER, PEM, and ENG are supported. If not specified, PEM is assumed.
 670+
 671+If --key-type is provided several times, the last set value is used.
 672+
 673+Example:
 674+.nf
 675+ curl --key-type DER --key here https://example.com
 676+.fi
 677+
 678+See also \fI\-\-key\fP.
 679 .IP "\-\-krb <level>"
 680 (FTP) Enable Kerberos authentication and use. The level must be entered and should
 681 be one of \(aqclear\(aq, \(aqsafe\(aq, \(aqconfidential\(aq, or \(aqprivate\(aq. Should you use a
 682@@ -2454,7 +2489,7 @@ Examples:
 683 
 684 See also \fI\-\-rate\fP, \fI-Y, \-\-speed\-limit\fP and \fI-y, \-\-speed\-time\fP.
 685 .IP "\-l, \-\-list\-only"
 686-(FTP POP3 SFTP) When listing an FTP directory, force a name\-only view. Maybe particularly
 687+(FTP POP3 SFTP FILE) When listing an FTP directory, force a name\-only view. Maybe particularly
 688 useful if the user wants to machine\-parse the contents of an FTP directory
 689 since the normal directory view does not use a standard look or format. When
 690 used like this, the option causes an NLST command to be sent to the server
 691@@ -2472,6 +2507,9 @@ When retrieving a specific email from POP3, this switch forces a LIST command
 692 to be performed instead of RETR. This is particularly useful if the user wants
 693 to see if a specific message\-id exists on the server and what size it is.
 694 
 695+For FILE, this option has no effect yet as directories are always listed in
 696+this mode.
 697+
 698 Note: When combined with \fI\-X, \-\-request\fP, this option can be used to send a UIDL
 699 command instead, so the user may use the email\(aqs unique identifier rather than
 700 its message\-id to make the request.
 701@@ -2499,21 +2537,6 @@ Example:
 702 .fi
 703 
 704 See also \fI-g, \-\-globoff\fP.
 705-.IP "\-\-location\-trusted"
 706-(HTTP) Like \fI\-L, \-\-location\fP, but allows sending the name + password to all hosts that the
 707-site may redirect to. This may or may not introduce a security breach if the
 708-site redirects you to a site to which you send your authentication info (which
 709-is clear\-text in the case of HTTP Basic authentication).
 710-
 711-Providing --location-trusted multiple times has no extra effect.
 712-Disable it again with \-\-no-location-trusted.
 713-
 714-Example:
 715-.nf
 716- curl --location-trusted -u user:password https://example.com
 717-.fi
 718-
 719-See also \fI-u, \-\-user\fP.
 720 .IP "\-L, \-\-location"
 721 (HTTP) If the server reports that the requested page has moved to a different
 722 location (indicated with a Location: header and a 3XX response code), this
 723@@ -2546,6 +2569,21 @@ Example:
 724 .fi
 725 
 726 See also \fI\-\-resolve\fP and \fI\-\-alt\-svc\fP.
 727+.IP "\-\-location\-trusted"
 728+(HTTP) Like \fI\-L, \-\-location\fP, but allows sending the name + password to all hosts that the
 729+site may redirect to. This may or may not introduce a security breach if the
 730+site redirects you to a site to which you send your authentication info (which
 731+is clear\-text in the case of HTTP Basic authentication).
 732+
 733+Providing --location-trusted multiple times has no extra effect.
 734+Disable it again with \-\-no-location-trusted.
 735+
 736+Example:
 737+.nf
 738+ curl --location-trusted -u user:password https://example.com
 739+.fi
 740+
 741+See also \fI-u, \-\-user\fP.
 742 .IP "\-\-login\-options <options>"
 743 (IMAP LDAP POP3 SMTP) Specify the login options to use during server authentication.
 744 
 745@@ -2593,6 +2631,26 @@ Example:
 746 .fi
 747 
 748 See also \fI\-\-mail\-rcpt\fP and \fI\-\-mail\-auth\fP.
 749+.IP "\-\-mail\-rcpt <address>"
 750+(SMTP) Specify a single email address, username or mailing list name. Repeat this
 751+option several times to send to multiple recipients.
 752+
 753+When performing an address verification (\fBVRFY\fP command), the recipient
 754+should be specified as the username or username and domain (as per Section 3.5
 755+of RFC 5321).
 756+
 757+When performing a mailing list expand (EXPN command), the recipient should be
 758+specified using the mailing list name, such as "Friends" or "London\-Office".
 759+
 760+
 761+--mail-rcpt can be used several times in a command line
 762+
 763+Example:
 764+.nf
 765+ curl --mail-rcpt user@example.net smtp://example.com
 766+.fi
 767+
 768+See also \fI\-\-mail\-rcpt\-allowfails\fP.
 769 .IP "\-\-mail\-rcpt\-allowfails"
 770 (SMTP) When sending data to multiple recipients, by default curl aborts SMTP
 771 conversation if at least one of the recipients causes RCPT TO command to
 772@@ -2615,26 +2673,6 @@ Example:
 773 .fi
 774 
 775 See also \fI\-\-mail\-rcpt\fP. Added in 7.69.0.
 776-.IP "\-\-mail\-rcpt <address>"
 777-(SMTP) Specify a single email address, username or mailing list name. Repeat this
 778-option several times to send to multiple recipients.
 779-
 780-When performing an address verification (\fBVRFY\fP command), the recipient
 781-should be specified as the username or username and domain (as per Section 3.5
 782-of RFC 5321).
 783-
 784-When performing a mailing list expand (EXPN command), the recipient should be
 785-specified using the mailing list name, such as "Friends" or "London\-Office".
 786-
 787-
 788---mail-rcpt can be used several times in a command line
 789-
 790-Example:
 791-.nf
 792- curl --mail-rcpt user@example.net smtp://example.com
 793-.fi
 794-
 795-See also \fI\-\-mail\-rcpt\-allowfails\fP.
 796 .IP "\-M, \-\-manual"
 797 Manual. Display the huge help text.
 798 
 799@@ -2732,33 +2770,6 @@ Example:
 800 .fi
 801 
 802 See also \fI\-\-basic\fP, \fI\-\-ntlm\fP, \fI\-\-anyauth\fP and \fI\-\-proxy\-negotiate\fP.
 803-.IP "\-\-netrc\-file <filename>"
 804-Set the netrc file to use. Similar to \fI\-n, \-\-netrc\fP, except that you also provide
 805-the path (absolute or relative).
 806-
 807-It abides by \fI\-\-netrc\-optional\fP if specified.
 808-
 809-If --netrc-file is provided several times, the last set value is used.
 810-
 811-Example:
 812-.nf
 813- curl --netrc-file netrc https://example.com
 814-.fi
 815-
 816-See also \fI-n, \-\-netrc\fP, \fI-u, \-\-user\fP and \fI-K, \-\-config\fP. This option is mutually exclusive to \fI-n, \-\-netrc\fP.
 817-.IP "\-\-netrc\-optional"
 818-Similar to \fI\-n, \-\-netrc\fP, but this option makes the .netrc usage \fBoptional\fP
 819-and not mandatory as the \fI\-n, \-\-netrc\fP option does.
 820-
 821-Providing --netrc-optional multiple times has no extra effect.
 822-Disable it again with \-\-no-netrc-optional.
 823-
 824-Example:
 825-.nf
 826- curl --netrc-optional https://example.com
 827-.fi
 828-
 829-See also \fI\-\-netrc\-file\fP. This option is mutually exclusive to \fI-n, \-\-netrc\fP.
 830 .IP "\-n, \-\-netrc"
 831 Make curl scan the \fI.netrc\fP file in the user\(aqs home directory for login name
 832 and password. This is typically used for FTP on Unix. If used with HTTP, curl
 833@@ -2789,6 +2800,33 @@ Example:
 834 .fi
 835 
 836 See also \fI\-\-netrc\-file\fP, \fI-K, \-\-config\fP and \fI-u, \-\-user\fP. This option is mutually exclusive to \fI\-\-netrc\-file\fP and \fI\-\-netrc\-optional\fP.
 837+.IP "\-\-netrc\-file <filename>"
 838+Set the netrc file to use. Similar to \fI\-n, \-\-netrc\fP, except that you also provide
 839+the path (absolute or relative).
 840+
 841+It abides by \fI\-\-netrc\-optional\fP if specified.
 842+
 843+If --netrc-file is provided several times, the last set value is used.
 844+
 845+Example:
 846+.nf
 847+ curl --netrc-file netrc https://example.com
 848+.fi
 849+
 850+See also \fI-n, \-\-netrc\fP, \fI-u, \-\-user\fP and \fI-K, \-\-config\fP. This option is mutually exclusive to \fI-n, \-\-netrc\fP.
 851+.IP "\-\-netrc\-optional"
 852+Similar to \fI\-n, \-\-netrc\fP, but this option makes the .netrc usage \fBoptional\fP
 853+and not mandatory as the \fI\-n, \-\-netrc\fP option does.
 854+
 855+Providing --netrc-optional multiple times has no extra effect.
 856+Disable it again with \-\-no-netrc-optional.
 857+
 858+Example:
 859+.nf
 860+ curl --netrc-optional https://example.com
 861+.fi
 862+
 863+See also \fI\-\-netrc\-file\fP. This option is mutually exclusive to \fI-n, \-\-netrc\fP.
 864 .IP "\-:, \-\-next"
 865 Use a separate operation for the following URL and associated options. This
 866 allows you to send several URL requests, each with their own specific options,
 867@@ -2960,18 +2998,6 @@ Example:
 868 .fi
 869 
 870 See also \fI-x, \-\-proxy\fP.
 871-.IP "\-\-ntlm\-wb"
 872-(HTTP) Enables NTLM much in the style \fI\-\-ntlm\fP does, but hand over the authentication
 873-to the separate binary "ntlmauth" application that is executed when needed.
 874-
 875-Providing --ntlm-wb multiple times has no extra effect.
 876-
 877-Example:
 878-.nf
 879- curl --ntlm-wb -u user:password https://example.com
 880-.fi
 881-
 882-See also \fI\-\-ntlm\fP and \fI\-\-proxy\-ntlm\fP.
 883 .IP "\-\-ntlm"
 884 (HTTP) Use NTLM authentication. The NTLM authentication method was designed by
 885 Microsoft and is used by IIS web servers. It is a proprietary protocol,
 886@@ -2991,6 +3017,20 @@ Example:
 887 .fi
 888 
 889 See also \fI\-\-proxy\-ntlm\fP. \fI\-\-ntlm\fP requires that the underlying libcurl was built to support TLS. This option is mutually exclusive to \fI\-\-basic\fP and \fI\-\-negotiate\fP and \fI\-\-digest\fP and \fI\-\-anyauth\fP.
 890+.IP "\-\-ntlm\-wb"
 891+(HTTP) Deprecated option (added in 8.8.0).
 892+
 893+Enabled NTLM much in the style \fI\-\-ntlm\fP does, but handed over the authentication
 894+to a separate executable that was executed when needed.
 895+
 896+Providing --ntlm-wb multiple times has no extra effect.
 897+
 898+Example:
 899+.nf
 900+ curl --ntlm-wb -u user:password https://example.com
 901+.fi
 902+
 903+See also \fI\-\-ntlm\fP and \fI\-\-proxy\-ntlm\fP.
 904 .IP "\-\-oauth2\-bearer <token>"
 905 (IMAP LDAP POP3 SMTP HTTP) Specify the Bearer Token for OAUTH 2.0 server authentication. The Bearer Token
 906 is used in conjunction with the username which can be specified as part of the
 907@@ -3006,24 +3046,6 @@ Example:
 908 .fi
 909 
 910 See also \fI\-\-basic\fP, \fI\-\-ntlm\fP and \fI\-\-digest\fP.
 911-.IP "\-\-output\-dir <dir>"
 912-Specify the directory in which files should be stored, when \fI\-O, \-\-remote\-name\fP or
 913-\fI\-o, \-\-output\fP are used.
 914-
 915-The given output directory is used for all URLs and output options on the
 916-command line, up until the first \fI\-:, \-\-next\fP.
 917-
 918-If the specified target directory does not exist, the operation fails unless
 919-\fI\-\-create\-dirs\fP is also used.
 920-
 921-If --output-dir is provided several times, the last set value is used.
 922-
 923-Example:
 924-.nf
 925- curl --output-dir "tmp" -O https://example.com
 926-.fi
 927-
 928-See also \fI-O, \-\-remote\-name\fP and \fI-J, \-\-remote\-header\-name\fP. Added in 7.73.0.
 929 .IP "\-o, \-\-output <file>"
 930 Write output to the given file instead of stdout. If you are using globbing to
 931 fetch multiple documents, you should quote the URL and you can use "#"
 932@@ -3089,6 +3111,39 @@ Examples:
 933 .fi
 934 
 935 See also \fI-O, \-\-remote\-name\fP, \fI\-\-remote\-name\-all\fP and \fI-J, \-\-remote\-header\-name\fP.
 936+.IP "\-\-output\-dir <dir>"
 937+Specify the directory in which files should be stored, when \fI\-O, \-\-remote\-name\fP or
 938+\fI\-o, \-\-output\fP are used.
 939+
 940+The given output directory is used for all URLs and output options on the
 941+command line, up until the first \fI\-:, \-\-next\fP.
 942+
 943+If the specified target directory does not exist, the operation fails unless
 944+\fI\-\-create\-dirs\fP is also used.
 945+
 946+If --output-dir is provided several times, the last set value is used.
 947+
 948+Example:
 949+.nf
 950+ curl --output-dir "tmp" -O https://example.com
 951+.fi
 952+
 953+See also \fI-O, \-\-remote\-name\fP and \fI-J, \-\-remote\-header\-name\fP. Added in 7.73.0.
 954+.IP "\-Z, \-\-parallel"
 955+Makes curl perform its transfers in parallel as compared to the regular serial
 956+manner.
 957+
 958+This option is global and does not need to be specified for each use of --next.
 959+
 960+Providing --parallel multiple times has no extra effect.
 961+Disable it again with \-\-no-parallel.
 962+
 963+Example:
 964+.nf
 965+ curl --parallel https://example.com -o file1 https://example.com -o file2
 966+.fi
 967+
 968+See also \fI-:, \-\-next\fP and \fI-v, \-\-verbose\fP. Added in 7.66.0.
 969 .IP "\-\-parallel\-immediate"
 970 When doing parallel transfers, this option instructs curl that it should
 971 rather prefer opening up more connections in parallel at once rather than
 972@@ -3123,21 +3178,6 @@ Example:
 973 .fi
 974 
 975 See also \fI-Z, \-\-parallel\fP. Added in 7.66.0.
 976-.IP "\-Z, \-\-parallel"
 977-Makes curl perform its transfers in parallel as compared to the regular serial
 978-manner.
 979-
 980-This option is global and does not need to be specified for each use of --next.
 981-
 982-Providing --parallel multiple times has no extra effect.
 983-Disable it again with \-\-no-parallel.
 984-
 985-Example:
 986-.nf
 987- curl --parallel https://example.com -o file1 https://example.com -o file2
 988-.fi
 989-
 990-See also \fI-:, \-\-next\fP and \fI-v, \-\-verbose\fP. Added in 7.66.0.
 991 .IP "\-\-pass <phrase>"
 992 (SSH TLS) Passphrase for the private key.
 993 
 994@@ -3291,6 +3331,43 @@ Example:
 995 .fi
 996 
 997 See also \fI\-\-styled\-output\fP.
 998+.IP "\-\-proto <protocols>"
 999+Limit what protocols to allow for transfers. Protocols are evaluated left to
1000+right, are comma separated, and are each a protocol name or \(aqall\(aq, optionally
1001+prefixed by zero or more modifiers. Available modifiers are:
1002+.RS
1003+.IP +
1004+Permit this protocol in addition to protocols already permitted (this is
1005+the default if no modifier is used).
1006+.IP -
1007+Deny this protocol, removing it from the list of protocols already permitted.
1008+.IP =
1009+Permit only this protocol (ignoring the list already permitted), though
1010+subject to later modification by subsequent entries in the comma separated
1011+list.
1012+.RE
1013+.IP
1014+For example: \fI\-\-proto\fP \-ftps uses the default protocols, but disables ftps
1015+
1016+\fI\-\-proto\fP \-all,https,+http only enables http and https
1017+
1018+\fI\-\-proto\fP =http,https also only enables http and https
1019+
1020+Unknown and disabled protocols produce a warning. This allows scripts to
1021+safely rely on being able to disable potentially dangerous protocols, without
1022+relying upon support for that protocol being built into curl to avoid an error.
1023+
1024+This option can be used multiple times, in which case the effect is the same
1025+as concatenating the protocols into one instance of the option.
1026+
1027+If --proto is provided several times, the last set value is used.
1028+
1029+Example:
1030+.nf
1031+ curl --proto =http,https,sftp https://example.com
1032+.fi
1033+
1034+See also \fI\-\-proto\-redir\fP and \fI\-\-proto\-default\fP.
1035 .IP "\-\-proto\-default <protocol>"
1036 Use \fIprotocol\fP for any provided URL missing a scheme.
1037 
1038@@ -3331,43 +3408,55 @@ Example:
1039 .fi
1040 
1041 See also \fI\-\-proto\fP.
1042-.IP "\-\-proto <protocols>"
1043-Limit what protocols to allow for transfers. Protocols are evaluated left to
1044-right, are comma separated, and are each a protocol name or \(aqall\(aq, optionally
1045-prefixed by zero or more modifiers. Available modifiers are:
1046-.RS
1047-.IP +
1048-Permit this protocol in addition to protocols already permitted (this is
1049-the default if no modifier is used).
1050-.IP -
1051-Deny this protocol, removing it from the list of protocols already permitted.
1052-.IP =
1053-Permit only this protocol (ignoring the list already permitted), though
1054-subject to later modification by subsequent entries in the comma separated
1055-list.
1056-.RE
1057-.IP
1058-For example: \fI\-\-proto\fP \-ftps uses the default protocols, but disables ftps
1059+.IP "\-x, \-\-proxy [protocol://]host[:port]"
1060+Use the specified proxy.
1061+
1062+The proxy string can be specified with a protocol:// prefix. No protocol
1063+specified or http:// it is treated as an HTTP proxy. Use socks4://,
1064+socks4a://, socks5:// or socks5h:// to request a specific SOCKS version to be
1065+used.
1066+
1067+Unix domain sockets are supported for socks proxy. Set localhost for the host
1068+part. e.g. socks5h://localhost/path/to/socket.sock
1069+
1070+HTTPS proxy support works set with the https:// protocol prefix for OpenSSL
1071+and GnuTLS (added in 7.52.0). It also works for BearSSL, mbedTLS, rustls,
1072+Schannel, Secure Transport and wolfSSL (added in 7.87.0).
1073+
1074+Unrecognized and unsupported proxy protocols cause an error (added in 7.52.0).
1075+Ancient curl versions ignored unknown schemes and used http:// instead.
1076+
1077+If the port number is not specified in the proxy string, it is assumed to be
1078+1080.
1079 
1080-\fI\-\-proto\fP \-all,https,+http only enables http and https
1081+This option overrides existing environment variables that set the proxy to
1082+use. If there is an environment variable setting a proxy, you can set proxy to
1083+\&"" to override it.
1084 
1085-\fI\-\-proto\fP =http,https also only enables http and https
1086+All operations that are performed over an HTTP proxy are transparently
1087+converted to HTTP. It means that certain protocol specific operations might
1088+not be available. This is not the case if you can tunnel through the proxy, as
1089+one with the \fI\-p, \-\-proxytunnel\fP option.
1090 
1091-Unknown and disabled protocols produce a warning. This allows scripts to
1092-safely rely on being able to disable potentially dangerous protocols, without
1093-relying upon support for that protocol being built into curl to avoid an error.
1094+User and password that might be provided in the proxy string are URL decoded
1095+by curl. This allows you to pass in special characters such as @ by using %40
1096+or pass in a colon with %3a.
1097 
1098-This option can be used multiple times, in which case the effect is the same
1099-as concatenating the protocols into one instance of the option.
1100+The proxy host can be specified the same way as the proxy environment
1101+variables, including the protocol prefix (http://) and the embedded user +
1102+password.
1103 
1104-If --proto is provided several times, the last set value is used.
1105+When a proxy is used, the active FTP mode as set with \fI\-P, \-\-ftp\-port\fP, cannot be
1106+used.
1107+
1108+If --proxy is provided several times, the last set value is used.
1109 
1110 Example:
1111 .nf
1112- curl --proto =http,https,sftp https://example.com
1113+ curl --proxy http://proxy.example https://example.com
1114 .fi
1115 
1116-See also \fI\-\-proto\-redir\fP and \fI\-\-proto\-default\fP.
1117+See also \fI\-\-socks5\fP and \fI\-\-proxy\-basic\fP.
1118 .IP "\-\-proxy\-anyauth"
1119 Automatically pick a suitable authentication method when communicating with
1120 the given HTTP proxy. This might cause an extra request/response round\-trip.
1121@@ -3444,28 +3533,28 @@ Example:
1122 .fi
1123 
1124 See also \fI\-\-proxy\-cacert\fP, \fI-x, \-\-proxy\fP and \fI\-\-capath\fP. Added in 7.52.0.
1125-.IP "\-\-proxy\-cert\-type <type>"
1126-Same as \fI\-\-cert\-type\fP but used in HTTPS proxy context.
1127+.IP "\-\-proxy\-cert <cert[:passwd]>"
1128+Same as \fI\-E, \-\-cert\fP but used in HTTPS proxy context.
1129 
1130-If --proxy-cert-type is provided several times, the last set value is used.
1131+If --proxy-cert is provided several times, the last set value is used.
1132 
1133 Example:
1134 .nf
1135- curl --proxy-cert-type PEM --proxy-cert file -x https://proxy https://example.com
1136+ curl --proxy-cert file -x https://proxy https://example.com
1137 .fi
1138 
1139-See also \fI\-\-proxy\-cert\fP. Added in 7.52.0.
1140-.IP "\-\-proxy\-cert <cert[:passwd]>"
1141-Same as \fI\-E, \-\-cert\fP but used in HTTPS proxy context.
1142+See also \fI\-\-proxy\-cert\-type\fP. Added in 7.52.0.
1143+.IP "\-\-proxy\-cert\-type <type>"
1144+Same as \fI\-\-cert\-type\fP but used in HTTPS proxy context.
1145 
1146-If --proxy-cert is provided several times, the last set value is used.
1147+If --proxy-cert-type is provided several times, the last set value is used.
1148 
1149 Example:
1150 .nf
1151- curl --proxy-cert file -x https://proxy https://example.com
1152+ curl --proxy-cert-type PEM --proxy-cert file -x https://proxy https://example.com
1153 .fi
1154 
1155-See also \fI\-\-proxy\-cert\-type\fP. Added in 7.52.0.
1156+See also \fI\-\-proxy\-cert\fP. Added in 7.52.0.
1157 .IP "\-\-proxy\-ciphers <list>"
1158 Same as \fI\-\-ciphers\fP but used in HTTPS proxy context.
1159 
1160@@ -3575,28 +3664,28 @@ Example:
1161 .fi
1162 
1163 See also \fI-x, \-\-proxy\fP and \fI-k, \-\-insecure\fP. Added in 7.52.0.
1164-.IP "\-\-proxy\-key\-type <type>"
1165-Same as \fI\-\-key\-type\fP but used in HTTPS proxy context.
1166+.IP "\-\-proxy\-key <key>"
1167+Same as \fI\-\-key\fP but used in HTTPS proxy context.
1168 
1169-If --proxy-key-type is provided several times, the last set value is used.
1170+If --proxy-key is provided several times, the last set value is used.
1171 
1172 Example:
1173 .nf
1174- curl --proxy-key-type DER --proxy-key here -x https://proxy https://example.com
1175+ curl --proxy-key here -x https://proxy https://example.com
1176 .fi
1177 
1178-See also \fI\-\-proxy\-key\fP and \fI-x, \-\-proxy\fP. Added in 7.52.0.
1179-.IP "\-\-proxy\-key <key>"
1180-Same as \fI\-\-key\fP but used in HTTPS proxy context.
1181+See also \fI\-\-proxy\-key\-type\fP and \fI-x, \-\-proxy\fP. Added in 7.52.0.
1182+.IP "\-\-proxy\-key\-type <type>"
1183+Same as \fI\-\-key\-type\fP but used in HTTPS proxy context.
1184 
1185-If --proxy-key is provided several times, the last set value is used.
1186+If --proxy-key-type is provided several times, the last set value is used.
1187 
1188 Example:
1189 .nf
1190- curl --proxy-key here -x https://proxy https://example.com
1191+ curl --proxy-key-type DER --proxy-key here -x https://proxy https://example.com
1192 .fi
1193 
1194-See also \fI\-\-proxy\-key\-type\fP and \fI-x, \-\-proxy\fP. Added in 7.52.0.
1195+See also \fI\-\-proxy\-key\fP and \fI-x, \-\-proxy\fP. Added in 7.52.0.
1196 .IP "\-\-proxy\-negotiate"
1197 Use HTTP Negotiate (SPNEGO) authentication when communicating with the given
1198 proxy. Use \fI\-\-negotiate\fP for enabling HTTP Negotiate (SPNEGO) with a remote
1199@@ -3774,55 +3863,6 @@ Example:
1200 .fi
1201 
1202 See also \fI\-\-proxy\-pass\fP.
1203-.IP "\-x, \-\-proxy [protocol://]host[:port]"
1204-Use the specified proxy.
1205-
1206-The proxy string can be specified with a protocol:// prefix. No protocol
1207-specified or http:// it is treated as an HTTP proxy. Use socks4://,
1208-socks4a://, socks5:// or socks5h:// to request a specific SOCKS version to be
1209-used.
1210-
1211-Unix domain sockets are supported for socks proxy. Set localhost for the host
1212-part. e.g. socks5h://localhost/path/to/socket.sock
1213-
1214-HTTPS proxy support works set with the https:// protocol prefix for OpenSSL
1215-and GnuTLS (added in 7.52.0). It also works for BearSSL, mbedTLS, rustls,
1216-Schannel, Secure Transport and wolfSSL (added in 7.87.0).
1217-
1218-Unrecognized and unsupported proxy protocols cause an error (added in 7.52.0).
1219-Ancient curl versions ignored unknown schemes and used http:// instead.
1220-
1221-If the port number is not specified in the proxy string, it is assumed to be
1222-1080.
1223-
1224-This option overrides existing environment variables that set the proxy to
1225-use. If there is an environment variable setting a proxy, you can set proxy to
1226-\&"" to override it.
1227-
1228-All operations that are performed over an HTTP proxy are transparently
1229-converted to HTTP. It means that certain protocol specific operations might
1230-not be available. This is not the case if you can tunnel through the proxy, as
1231-one with the \fI\-p, \-\-proxytunnel\fP option.
1232-
1233-User and password that might be provided in the proxy string are URL decoded
1234-by curl. This allows you to pass in special characters such as @ by using %40
1235-or pass in a colon with %3a.
1236-
1237-The proxy host can be specified the same way as the proxy environment
1238-variables, including the protocol prefix (http://) and the embedded user +
1239-password.
1240-
1241-When a proxy is used, the active FTP mode as set with \fI\-P, \-\-ftp\-port\fP, cannot be
1242-used.
1243-
1244-If --proxy is provided several times, the last set value is used.
1245-
1246-Example:
1247-.nf
1248- curl --proxy http://proxy.example https://example.com
1249-.fi
1250-
1251-See also \fI\-\-socks5\fP and \fI\-\-proxy\-basic\fP.
1252 .IP "\-\-proxy1.0 <host[:port]>"
1253 Use the specified HTTP 1.0 proxy. If the port number is not specified, it is
1254 assumed at port 1080.
1255@@ -4098,21 +4138,6 @@ Example:
1256  curl -OJ https://example.com/file
1257 .fi
1258 
1259-See also \fI-O, \-\-remote\-name\fP.
1260-.IP "\-\-remote\-name\-all"
1261-Change the default action for all given URLs to be dealt with as if
1262-\fI\-O, \-\-remote\-name\fP were used for each one. If you want to disable that for a
1263-specific URL after \fI\-\-remote\-name\-all\fP has been used, you must use "\-o \-" or
1264-\fI\-\-no\-remote\-name\fP.
1265-
1266-Providing --remote-name-all multiple times has no extra effect.
1267-Disable it again with \-\-no-remote-name-all.
1268-
1269-Example:
1270-.nf
1271- curl --remote-name-all ftp://example.com/file1 ftp://example.com/file2
1272-.fi
1273-
1274 See also \fI-O, \-\-remote\-name\fP.
1275 .IP "\-O, \-\-remote\-name"
1276 Write output to a local file named like the remote file we get. (Only the file
1277@@ -4141,6 +4166,21 @@ Example:
1278 .fi
1279 
1280 See also \fI\-\-remote\-name\-all\fP, \fI\-\-output\-dir\fP and \fI-J, \-\-remote\-header\-name\fP.
1281+.IP "\-\-remote\-name\-all"
1282+Change the default action for all given URLs to be dealt with as if
1283+\fI\-O, \-\-remote\-name\fP were used for each one. If you want to disable that for a
1284+specific URL after \fI\-\-remote\-name\-all\fP has been used, you must use "\-o \-" or
1285+\fI\-\-no\-remote\-name\fP.
1286+
1287+Providing --remote-name-all multiple times has no extra effect.
1288+Disable it again with \-\-no-remote-name-all.
1289+
1290+Example:
1291+.nf
1292+ curl --remote-name-all ftp://example.com/file1 ftp://example.com/file2
1293+.fi
1294+
1295+See also \fI-O, \-\-remote\-name\fP.
1296 .IP "\-R, \-\-remote\-time"
1297 Makes curl attempt to figure out the timestamp of the remote file that is
1298 getting downloaded, and if that is available make the local file get that same
1299@@ -4171,23 +4211,6 @@ Example:
1300 .fi
1301 
1302 See also \fI-f, \-\-fail\fP. Added in 7.83.0.
1303-.IP "\-\-request\-target <path>"
1304-(HTTP) Use an alternative target (path) instead of using the path as provided in the
1305-URL. Particularly useful when wanting to issue HTTP requests without leading
1306-slash or other data that does not follow the regular URL pattern, like
1307-\&"OPTIONS *".
1308-
1309-curl passes on the verbatim string you give it its the request without any
1310-filter or other safe guards. That includes white space and control characters.
1311-
1312-If --request-target is provided several times, the last set value is used.
1313-
1314-Example:
1315-.nf
1316- curl --request-target "*" -X OPTIONS https://example.com
1317-.fi
1318-
1319-See also \fI-X, \-\-request\fP. Added in 7.55.0.
1320 .IP "\-X, \-\-request <method>"
1321 Change the method to use when starting the transfer.
1322 
1323@@ -4235,6 +4258,23 @@ Examples:
1324 .fi
1325 
1326 See also \fI\-\-request\-target\fP.
1327+.IP "\-\-request\-target <path>"
1328+(HTTP) Use an alternative target (path) instead of using the path as provided in the
1329+URL. Particularly useful when wanting to issue HTTP requests without leading
1330+slash or other data that does not follow the regular URL pattern, like
1331+\&"OPTIONS *".
1332+
1333+curl passes on the verbatim string you give it its the request without any
1334+filter or other safe guards. That includes white space and control characters.
1335+
1336+If --request-target is provided several times, the last set value is used.
1337+
1338+Example:
1339+.nf
1340+ curl --request-target "*" -X OPTIONS https://example.com
1341+.fi
1342+
1343+See also \fI-X, \-\-request\fP. Added in 7.55.0.
1344 .IP "\-\-resolve <[+]host:port:addr[,addr]...>"
1345 Provide a custom address for a specific host and port pair. Using this, you
1346 can make the curl requests(s) use a specified address and prevent the
1347@@ -4273,6 +4313,30 @@ Example:
1348 .fi
1349 
1350 See also \fI\-\-connect\-to\fP and \fI\-\-alt\-svc\fP.
1351+.IP "\-\-retry <num>"
1352+If a transient error is returned when curl tries to perform a transfer, it
1353+retries this number of times before giving up. Setting the number to 0
1354+makes curl do no retries (which is the default). Transient error means either:
1355+a timeout, an FTP 4xx response code or an HTTP 408, 429, 500, 502, 503 or 504
1356+response code.
1357+
1358+When curl is about to retry a transfer, it first waits one second and then for
1359+all forthcoming retries it doubles the waiting time until it reaches 10
1360+minutes which then remains delay between the rest of the retries. By using
1361+\fI\-\-retry\-delay\fP you disable this exponential backoff algorithm. See also
1362+\fI\-\-retry\-max\-time\fP to limit the total time allowed for retries.
1363+
1364+curl complies with the Retry\-After: response header if one was present to know
1365+when to issue the next retry (added in 7.66.0).
1366+
1367+If --retry is provided several times, the last set value is used.
1368+
1369+Example:
1370+.nf
1371+ curl --retry 7 https://example.com
1372+.fi
1373+
1374+See also \fI\-\-retry\-max\-time\fP.
1375 .IP "\-\-retry\-all\-errors"
1376 Retry on any error. This option is used together with \fI\-\-retry\fP.
1377 
1378@@ -4351,30 +4415,6 @@ Example:
1379 .fi
1380 
1381 See also \fI\-\-retry\fP.
1382-.IP "\-\-retry <num>"
1383-If a transient error is returned when curl tries to perform a transfer, it
1384-retries this number of times before giving up. Setting the number to 0
1385-makes curl do no retries (which is the default). Transient error means either:
1386-a timeout, an FTP 4xx response code or an HTTP 408, 429, 500, 502, 503 or 504
1387-response code.
1388-
1389-When curl is about to retry a transfer, it first waits one second and then for
1390-all forthcoming retries it doubles the waiting time until it reaches 10
1391-minutes which then remains delay between the rest of the retries. By using
1392-\fI\-\-retry\-delay\fP you disable this exponential backoff algorithm. See also
1393-\fI\-\-retry\-max\-time\fP to limit the total time allowed for retries.
1394-
1395-curl complies with the Retry\-After: response header if one was present to know
1396-when to issue the next retry (added in 7.66.0).
1397-
1398-If --retry is provided several times, the last set value is used.
1399-
1400-Example:
1401-.nf
1402- curl --retry 7 https://example.com
1403-.fi
1404-
1405-See also \fI\-\-retry\-max\-time\fP.
1406 .IP "\-\-sasl\-authzid <identity>"
1407 Use this authorization identity (\fBauthzid\fP), during SASL PLAIN
1408 authentication, in addition to the authentication identity (\fBauthcid\fP) as
1409@@ -4492,14 +4532,42 @@ used with an HTTP/HTTPS proxy (added in 7.52.0). In such a case, curl first
1410 connects to the SOCKS proxy and then connects (through SOCKS) to the HTTP or
1411 HTTPS proxy.
1412 
1413-If --socks4a is provided several times, the last set value is used.
1414+If --socks4a is provided several times, the last set value is used.
1415+
1416+Example:
1417+.nf
1418+ curl --socks4a hostname:4096 https://example.com
1419+.fi
1420+
1421+See also \fI\-\-socks4\fP, \fI\-\-socks5\fP and \fI\-\-socks5\-hostname\fP.
1422+.IP "\-\-socks5 <host[:port]>"
1423+Use the specified SOCKS5 proxy \- but resolve the hostname locally. If the
1424+port number is not specified, it is assumed at port 1080.
1425+
1426+To specify proxy on a unix domain socket, use localhost for host, e.g.
1427+\&"socks5://localhost/path/to/socket.sock"
1428+
1429+This option overrides any previous use of \fI\-x, \-\-proxy\fP, as they are mutually
1430+exclusive.
1431+
1432+This option is superfluous since you can specify a socks5 proxy with \fI\-x, \-\-proxy\fP
1433+using a socks5:// protocol prefix.
1434+
1435+\fI\-\-preproxy\fP can be used to specify a SOCKS proxy at the same time \fI\-x, \-\-proxy\fP is
1436+used with an HTTP/HTTPS proxy (added in 7.52.0). In such a case, curl first
1437+connects to the SOCKS proxy and then connects (through SOCKS) to the HTTP or
1438+HTTPS proxy.
1439+
1440+This option (as well as \fI\-\-socks4\fP) does not work with IPV6, FTPS or LDAP.
1441+
1442+If --socks5 is provided several times, the last set value is used.
1443 
1444 Example:
1445 .nf
1446- curl --socks4a hostname:4096 https://example.com
1447+ curl --socks5 proxy.example:7000 https://example.com
1448 .fi
1449 
1450-See also \fI\-\-socks4\fP, \fI\-\-socks5\fP and \fI\-\-socks5\-hostname\fP.
1451+See also \fI\-\-socks5\-hostname\fP and \fI\-\-socks4a\fP.
1452 .IP "\-\-socks5\-basic"
1453 Use username/password authentication when connecting to a SOCKS5 proxy. The
1454 username/password authentication is enabled by default. Use \fI\-\-socks5\-gssapi\fP to
1455@@ -4512,6 +4580,21 @@ Example:
1456  curl --socks5-basic --socks5 hostname:4096 https://example.com
1457 .fi
1458 
1459+See also \fI\-\-socks5\fP. Added in 7.55.0.
1460+.IP "\-\-socks5\-gssapi"
1461+Use GSS\-API authentication when connecting to a SOCKS5 proxy. The GSS\-API
1462+authentication is enabled by default (if curl is compiled with GSS\-API
1463+support). Use \fI\-\-socks5\-basic\fP to force username/password authentication to
1464+SOCKS5 proxies.
1465+
1466+Providing --socks5-gssapi multiple times has no extra effect.
1467+Disable it again with \-\-no-socks5-gssapi.
1468+
1469+Example:
1470+.nf
1471+ curl --socks5-gssapi --socks5 hostname:4096 https://example.com
1472+.fi
1473+
1474 See also \fI\-\-socks5\fP. Added in 7.55.0.
1475 .IP "\-\-socks5\-gssapi\-nec"
1476 As part of the GSS\-API negotiation a protection mode is negotiated. RFC 1961
1477@@ -4539,21 +4622,6 @@ Example:
1478 .fi
1479 
1480 See also \fI\-\-socks5\fP.
1481-.IP "\-\-socks5\-gssapi"
1482-Use GSS\-API authentication when connecting to a SOCKS5 proxy. The GSS\-API
1483-authentication is enabled by default (if curl is compiled with GSS\-API
1484-support). Use \fI\-\-socks5\-basic\fP to force username/password authentication to
1485-SOCKS5 proxies.
1486-
1487-Providing --socks5-gssapi multiple times has no extra effect.
1488-Disable it again with \-\-no-socks5-gssapi.
1489-
1490-Example:
1491-.nf
1492- curl --socks5-gssapi --socks5 hostname:4096 https://example.com
1493-.fi
1494-
1495-See also \fI\-\-socks5\fP. Added in 7.55.0.
1496 .IP "\-\-socks5\-hostname <host[:port]>"
1497 Use the specified SOCKS5 proxy (and let the proxy resolve the hostname). If
1498 the port number is not specified, it is assumed at port 1080.
1499@@ -4580,34 +4648,6 @@ Example:
1500 .fi
1501 
1502 See also \fI\-\-socks5\fP and \fI\-\-socks4a\fP.
1503-.IP "\-\-socks5 <host[:port]>"
1504-Use the specified SOCKS5 proxy \- but resolve the hostname locally. If the
1505-port number is not specified, it is assumed at port 1080.
1506-
1507-To specify proxy on a unix domain socket, use localhost for host, e.g.
1508-\&"socks5://localhost/path/to/socket.sock"
1509-
1510-This option overrides any previous use of \fI\-x, \-\-proxy\fP, as they are mutually
1511-exclusive.
1512-
1513-This option is superfluous since you can specify a socks5 proxy with \fI\-x, \-\-proxy\fP
1514-using a socks5:// protocol prefix.
1515-
1516-\fI\-\-preproxy\fP can be used to specify a SOCKS proxy at the same time \fI\-x, \-\-proxy\fP is
1517-used with an HTTP/HTTPS proxy (added in 7.52.0). In such a case, curl first
1518-connects to the SOCKS proxy and then connects (through SOCKS) to the HTTP or
1519-HTTPS proxy.
1520-
1521-This option (as well as \fI\-\-socks4\fP) does not work with IPV6, FTPS or LDAP.
1522-
1523-If --socks5 is provided several times, the last set value is used.
1524-
1525-Example:
1526-.nf
1527- curl --socks5 proxy.example:7000 https://example.com
1528-.fi
1529-
1530-See also \fI\-\-socks5\-hostname\fP and \fI\-\-socks4a\fP.
1531 .IP "\-Y, \-\-speed\-limit <speed>"
1532 If a transfer is slower than this set speed (in bytes per second) for a given
1533 number of seconds, it gets aborted. The time period is set with \fI\-y, \-\-speed\-time\fP
1534@@ -4637,6 +4677,33 @@ Example:
1535 .fi
1536 
1537 See also \fI-Y, \-\-speed\-limit\fP and \fI\-\-limit\-rate\fP.
1538+.IP "\-\-ssl"
1539+(FTP IMAP POP3 SMTP LDAP) Warning: this is considered an insecure option. Consider using \fI\-\-ssl\-reqd\fP
1540+instead to be sure curl upgrades to a secure connection.
1541+
1542+Try to use SSL/TLS for the connection \- often referred to as STARTTLS or STLS
1543+because of the involved commands. Reverts to a non\-secure connection if the
1544+server does not support SSL/TLS. See also \fI\-\-ftp\-ssl\-control\fP and \fI\-\-ssl\-reqd\fP for
1545+different levels of encryption required.
1546+
1547+This option is handled in LDAP (added in 7.81.0). It is fully supported by the
1548+OpenLDAP backend and ignored by the generic ldap backend.
1549+
1550+Please note that a server may close the connection if the negotiation does
1551+not succeed.
1552+
1553+This option was formerly known as \fI\-\-ftp\-ssl\fP. That option
1554+name can still be used but might be removed in a future version.
1555+
1556+Providing --ssl multiple times has no extra effect.
1557+Disable it again with \-\-no-ssl.
1558+
1559+Example:
1560+.nf
1561+ curl --ssl pop3://example.com/
1562+.fi
1563+
1564+See also \fI\-\-ssl\-reqd\fP, \fI-k, \-\-insecure\fP and \fI\-\-ciphers\fP.
1565 .IP "\-\-ssl\-allow\-beast"
1566 (TLS) Do not work around a security flaw in the SSL3 and TLS1.0 protocols known as
1567 BEAST. If this option is not used, the SSL layer may use workarounds known to
1568@@ -4683,7 +4750,8 @@ Example:
1569 
1570 See also \fI\-\-crlfile\fP.
1571 .IP "\-\-ssl\-reqd"
1572-(FTP IMAP POP3 SMTP LDAP) Require SSL/TLS for the connection. Terminates the connection if the transfer
1573+(FTP IMAP POP3 SMTP LDAP) Require SSL/TLS for the connection \- often referred to as STARTTLS or STLS
1574+because of the involved commands. Terminates the connection if the transfer
1575 cannot be upgraded to use SSL/TLS.
1576 
1577 This option is handled in LDAP (added in 7.81.0). It is fully supported by the
1578@@ -4718,32 +4786,6 @@ Example:
1579 .fi
1580 
1581 See also \fI\-\-crlfile\fP and \fI-k, \-\-insecure\fP. Added in 7.70.0.
1582-.IP "\-\-ssl"
1583-(FTP IMAP POP3 SMTP LDAP) Warning: this is considered an insecure option. Consider using \fI\-\-ssl\-reqd\fP
1584-instead to be sure curl upgrades to a secure connection.
1585-
1586-Try to use SSL/TLS for the connection. Reverts to a non\-secure connection if
1587-the server does not support SSL/TLS. See also \fI\-\-ftp\-ssl\-control\fP and \fI\-\-ssl\-reqd\fP
1588-for different levels of encryption required.
1589-
1590-This option is handled in LDAP (added in 7.81.0). It is fully supported by the
1591-OpenLDAP backend and ignored by the generic ldap backend.
1592-
1593-Please note that a server may close the connection if the negotiation does
1594-not succeed.
1595-
1596-This option was formerly known as \fI\-\-ftp\-ssl\fP. That option
1597-name can still be used but might be removed in a future version.
1598-
1599-Providing --ssl multiple times has no extra effect.
1600-Disable it again with \-\-no-ssl.
1601-
1602-Example:
1603-.nf
1604- curl --ssl pop3://example.com/
1605-.fi
1606-
1607-See also \fI\-\-ssl\-reqd\fP, \fI-k, \-\-insecure\fP and \fI\-\-ciphers\fP.
1608 .IP "\-2, \-\-sslv2"
1609 (SSL) This option previously asked curl to use SSLv2, but is now ignored
1610 (added in 7.77.0). SSLv2 is widely considered insecure (see RFC 6176).
1611@@ -5007,6 +5049,18 @@ Example:
1612 .fi
1613 
1614 See also \fI\-\-tlspassword\fP.
1615+.IP "\-1, \-\-tlsv1"
1616+(TLS) Use at least TLS version 1.x when negotiating with a remote TLS server. That
1617+means TLS version 1.0 or higher
1618+
1619+Providing --tlsv1 multiple times has no extra effect.
1620+
1621+Example:
1622+.nf
1623+ curl --tlsv1 https://example.com
1624+.fi
1625+
1626+See also \fI\-\-http1.1\fP and \fI\-\-http2\fP. \fI-1, \-\-tlsv1\fP requires that the underlying libcurl was built to support TLS. This option is mutually exclusive to \fI\-\-tlsv1.1\fP and \fI\-\-tlsv1.2\fP and \fI\-\-tlsv1.3\fP.
1627 .IP "\-\-tlsv1.0"
1628 (TLS) Forces curl to use TLS version 1.0 or later when connecting to a remote TLS server.
1629 
1630@@ -5069,18 +5123,6 @@ Example:
1631 .fi
1632 
1633 See also \fI\-\-tlsv1.2\fP and \fI\-\-tls\-max\fP. Added in 7.52.0.
1634-.IP "\-1, \-\-tlsv1"
1635-(TLS) Use at least TLS version 1.x when negotiating with a remote TLS server. That
1636-means TLS version 1.0 or higher
1637-
1638-Providing --tlsv1 multiple times has no extra effect.
1639-
1640-Example:
1641-.nf
1642- curl --tlsv1 https://example.com
1643-.fi
1644-
1645-See also \fI\-\-http1.1\fP and \fI\-\-http2\fP. \fI-1, \-\-tlsv1\fP requires that the underlying libcurl was built to support TLS. This option is mutually exclusive to \fI\-\-tlsv1.1\fP and \fI\-\-tlsv1.2\fP and \fI\-\-tlsv1.3\fP.
1646 .IP "\-\-tr\-encoding"
1647 (HTTP) Request a compressed Transfer\-Encoding response using one of the algorithms
1648 curl supports, and uncompress the data while receiving it.
1649@@ -5094,6 +5136,26 @@ Example:
1650 .fi
1651 
1652 See also \fI\-\-compressed\fP.
1653+.IP "\-\-trace <file>"
1654+Save a full trace dump of all incoming and outgoing data, including
1655+descriptive information, in the given output file. Use "\-" as filename to have
1656+the output sent to stdout. Use "%" as filename to have the output sent to
1657+stderr.
1658+
1659+Note that verbose output of curl activities and network traffic might contain
1660+sensitive data, including usernames, credentials or secret data content. Be
1661+aware and be careful when sharing trace logs with others.
1662+
1663+This option is global and does not need to be specified for each use of --next.
1664+
1665+If --trace is provided several times, the last set value is used.
1666+
1667+Example:
1668+.nf
1669+ curl --trace log.txt https://example.com
1670+.fi
1671+
1672+See also \fI\-\-trace\-ascii\fP, \fI\-\-trace\-config\fP, \fI\-\-trace\-ids\fP and \fI\-\-trace\-time\fP. This option is mutually exclusive to \fI-v, \-\-verbose\fP and \fI\-\-trace\-ascii\fP.
1673 .IP "\-\-trace\-ascii <file>"
1674 Save a full trace dump of all incoming and outgoing data, including
1675 descriptive information, in the given output file. Use "\-" as filename to have
1676@@ -5165,26 +5227,6 @@ Example:
1677 .fi
1678 
1679 See also \fI\-\-trace\fP and \fI-v, \-\-verbose\fP.
1680-.IP "\-\-trace <file>"
1681-Save a full trace dump of all incoming and outgoing data, including
1682-descriptive information, in the given output file. Use "\-" as filename to have
1683-the output sent to stdout. Use "%" as filename to have the output sent to
1684-stderr.
1685-
1686-Note that verbose output of curl activities and network traffic might contain
1687-sensitive data, including usernames, credentials or secret data content. Be
1688-aware and be careful when sharing trace logs with others.
1689-
1690-This option is global and does not need to be specified for each use of --next.
1691-
1692-If --trace is provided several times, the last set value is used.
1693-
1694-Example:
1695-.nf
1696- curl --trace log.txt https://example.com
1697-.fi
1698-
1699-See also \fI\-\-trace\-ascii\fP, \fI\-\-trace\-config\fP, \fI\-\-trace\-ids\fP and \fI\-\-trace\-time\fP. This option is mutually exclusive to \fI-v, \-\-verbose\fP and \fI\-\-trace\-ascii\fP.
1700 .IP "\-\-unix\-socket <path>"
1701 (HTTP) Connect through this Unix domain socket, instead of using the network.
1702 
1703@@ -5237,29 +5279,6 @@ Examples:
1704 .fi
1705 
1706 See also \fI-G, \-\-get\fP, \fI-I, \-\-head\fP, \fI-X, \-\-request\fP and \fI-d, \-\-data\fP.
1707-.IP "\-\-url\-query <data>"
1708-(all) Add a piece of data, usually a name + value pair, to the end of the URL query
1709-part. The syntax is identical to that used for \fI\-\-data\-urlencode\fP with one
1710-extension:
1711-
1712-If the argument starts with a \(aq+\(aq (plus), the rest of the string is provided
1713-as\-is unencoded.
1714-
1715-The query part of a URL is the one following the question mark on the right
1716-end.
1717-
1718---url-query can be used several times in a command line
1719-
1720-Examples:
1721-.nf
1722- curl --url-query name=val https://example.com
1723- curl --url-query =encodethis http://example.net/foo
1724- curl --url-query name@file https://example.com
1725- curl --url-query @fileonly https://example.com
1726- curl --url-query "+name=%20foo" https://example.com
1727-.fi
1728-
1729-See also \fI\-\-data\-urlencode\fP and \fI-G, \-\-get\fP. Added in 7.87.0.
1730 .IP "\-\-url <url>"
1731 Specify a URL to fetch.
1732 
1733@@ -5284,6 +5303,29 @@ Example:
1734 .fi
1735 
1736 See also \fI-:, \-\-next\fP and \fI-K, \-\-config\fP.
1737+.IP "\-\-url\-query <data>"
1738+(all) Add a piece of data, usually a name + value pair, to the end of the URL query
1739+part. The syntax is identical to that used for \fI\-\-data\-urlencode\fP with one
1740+extension:
1741+
1742+If the argument starts with a \(aq+\(aq (plus), the rest of the string is provided
1743+as\-is unencoded.
1744+
1745+The query part of a URL is the one following the question mark on the right
1746+end.
1747+
1748+--url-query can be used several times in a command line
1749+
1750+Examples:
1751+.nf
1752+ curl --url-query name=val https://example.com
1753+ curl --url-query =encodethis http://example.net/foo
1754+ curl --url-query name@file https://example.com
1755+ curl --url-query @fileonly https://example.com
1756+ curl --url-query "+name=%20foo" https://example.com
1757+.fi
1758+
1759+See also \fI\-\-data\-urlencode\fP and \fI-G, \-\-get\fP. Added in 7.87.0.
1760 .IP "\-B, \-\-use\-ascii"
1761 (FTP LDAP) Enable ASCII transfer mode. For FTP, this can also be enforced by using a URL
1762 that ends with ";type=A". This option causes data sent to stdout to be in text
1763@@ -5298,23 +5340,6 @@ Example:
1764 .fi
1765 
1766 See also \fI\-\-crlf\fP and \fI\-\-data\-ascii\fP.
1767-.IP "\-A, \-\-user\-agent <name>"
1768-(HTTP) Specify the User\-Agent string to send to the HTTP server. To encode blanks in
1769-the string, surround the string with single quote marks. This header can also
1770-be set with the \fI\-H, \-\-header\fP or the \fI\-\-proxy\-header\fP options.
1771-
1772-If you give an empty argument to \fI\-A, \-\-user\-agent\fP (""), it removes the header
1773-completely from the request. If you prefer a blank header, you can set it to a
1774-single space (" ").
1775-
1776-If --user-agent is provided several times, the last set value is used.
1777-
1778-Example:
1779-.nf
1780- curl -A "Agent 007" https://example.com
1781-.fi
1782-
1783-See also \fI-H, \-\-header\fP and \fI\-\-proxy\-header\fP.
1784 .IP "\-u, \-\-user <user:password>"
1785 Specify the username and password to use for server authentication. Overrides
1786 \fI\-n, \-\-netrc\fP and \fI\-\-netrc\-optional\fP.
1787@@ -5356,6 +5381,23 @@ Example:
1788 .fi
1789 
1790 See also \fI-n, \-\-netrc\fP and \fI-K, \-\-config\fP.
1791+.IP "\-A, \-\-user\-agent <name>"
1792+(HTTP) Specify the User\-Agent string to send to the HTTP server. To encode blanks in
1793+the string, surround the string with single quote marks. This header can also
1794+be set with the \fI\-H, \-\-header\fP or the \fI\-\-proxy\-header\fP options.
1795+
1796+If you give an empty argument to \fI\-A, \-\-user\-agent\fP (""), it removes the header
1797+completely from the request. If you prefer a blank header, you can set it to a
1798+single space (" ").
1799+
1800+If --user-agent is provided several times, the last set value is used.
1801+
1802+Example:
1803+.nf
1804+ curl -A "Agent 007" https://example.com
1805+.fi
1806+
1807+See also \fI-H, \-\-header\fP and \fI\-\-proxy\-header\fP.
1808 .IP "\-\-variable <[%]name=text/@file>"
1809 Set a variable with "name=content" or "name@file" (where "file" can be stdin
1810 if set to a single dash ("\-")). The name is a case sensitive identifier that
1811@@ -5459,6 +5501,8 @@ curl was built with support for character set conversions (like EBCDIC)
1812 .IP `Debug`
1813 This curl uses a libcurl built with Debug. This enables more error\-tracking
1814 and memory debugging etc. For curl\-developers only!
1815+.IP `ECH`
1816+ECH support is present.
1817 .IP `gsasl`
1818 The built\-in SASL authentication includes extensions to support SCRAM because
1819 libcurl was built with libgsasl.
1820@@ -5862,8 +5906,8 @@ if Schannel is used as the TLS backend.
1821 If you set this environment variable to a filename, curl stores TLS secrets
1822 from its connections in that file when invoked to enable you to analyze the
1823 TLS traffic in real time using network analyzing tools such as Wireshark. This
1824-works with the following TLS backends: OpenSSL, libressl, BoringSSL, GnuTLS
1825-and wolfSSL.
1826+works with the following TLS backends: OpenSSL, LibreSSL (TLS 1.2 max),
1827+BoringSSL, GnuTLS and wolfSSL.
1828 .IP "`USERPROFILE` <dir>"
1829 On Windows, this variable is used when trying to find the home directory. If
1830 the other, primary, variable are all unset. If set, curl uses the path
+11, -10
  1@@ -1,3 +1,4 @@
  2+/* #undef CARES_NO_DEPRECATED */
  3 /* #undef CURLDEBUG */
  4 #define CURL_CA_BUNDLE "/etc/ssl/cert.pem"
  5 /* #undef CURL_CA_FALLBACK */
  6@@ -48,7 +49,6 @@
  7 #define CURL_SA_FAMILY_T sa_family_t
  8 /* #undef CURL_WITH_MULTI_SSL */
  9 /* #undef DEBUGBUILD */
 10-/* #undef ENABLE_IPV6 */
 11 #define GETHOSTNAME_TYPE_ARG2 size_t
 12 #define HAVE_ALARM 1
 13 /* #undef HAVE_ARC4RANDOM */
 14@@ -67,6 +67,7 @@
 15 #define HAVE_DECL_FSEEKO 1
 16 #define HAVE_DECL_GETPWUID_R 1
 17 /* #undef HAVE_DECL_GETPWUID_R_MISSING */
 18+#define HAVE_DIRENT_H 1
 19 #define HAVE_DLFCN_H 1
 20 /* #undef HAVE_ERR_H */
 21 #define HAVE_FCNTL 1
 22@@ -77,7 +78,7 @@
 23 #define HAVE_FSEEKO 1
 24 #define HAVE_FSETXATTR 1
 25 #define HAVE_FSETXATTR_5 1
 26-/* #undef HAVE_FSETXATTR_5 */
 27+/* #undef HAVE_FSETXATTR_6 */
 28 #define HAVE_FTRUNCATE 1
 29 #define HAVE_GETADDRINFO 1
 30 #define HAVE_GETADDRINFO_THREADSAFE 1
 31@@ -156,6 +157,7 @@
 32 /* #undef HAVE_NGTCP2_NGTCP2_CRYPTO_H */
 33 /* #undef HAVE_NGTCP2_NGTCP2_H */
 34 /* #undef HAVE_OLD_GSSMIT */
 35+#define HAVE_OPENDIR 1
 36 /* #undef HAVE_OPENSSL3 */
 37 /* #undef HAVE_OPENSSL_CRYPTO_H */
 38 /* #undef HAVE_OPENSSL_ERR_H */
 39@@ -194,9 +196,10 @@
 40 #define HAVE_SOCKET 1
 41 #define HAVE_SOCKETPAIR 1
 42 /* #undef HAVE_SOCKET_H */
 43-/* #undef HAVE_SSL_GET_ECH_STATUS */
 44+/* #undef HAVE_SSL_ECH_SET1_ECHCONFIG */
 45 /* #undef HAVE_SSL_H */
 46 /* #undef HAVE_SSL_SET0_WBIO */
 47+/* #undef HAVE_SSL_SET1_ECH_CONFIG_LIST */
 48 /* #undef HAVE_SSL_SET_QUIC_USE_LEGACY_CODEPOINT */
 49 #define HAVE_STDATOMIC_H 1
 50 #define HAVE_STDBOOL_H 1
 51@@ -239,6 +242,7 @@
 52 #define HAVE_UTIMES 1
 53 #define HAVE_UTIME_H 1
 54 /* #undef HAVE_WOLFSSH_SSH_H */
 55+/* #undef HAVE_WOLFSSL_CTX_GENERATEECHCONFIG */
 56 /* #undef HAVE_WOLFSSL_DES_ECB_ENCRYPT */
 57 /* #undef HAVE_WOLFSSL_FULL_BIO */
 58 /* #undef HAVE_WOLFSSL_GET_PEER_CERTIFICATE */
 59@@ -252,8 +256,6 @@
 60 /* #undef NEED_LBER_H */
 61 /* #undef NEED_REENTRANT */
 62 /* #undef NEED_THREAD_SAFE */
 63-/* #undef NTLM_WB_ENABLED */
 64-/* #undef NTLM_WB_FILE */
 65 #define OS "x86_64-pc-linux-musl"
 66 #define PACKAGE "curl"
 67 #define PACKAGE_BUGREPORT "a suitable curl mailing list: https://curl.se/mail/"
 68@@ -261,7 +263,7 @@
 69 #define PACKAGE_STRING "curl -"
 70 #define PACKAGE_TARNAME "curl"
 71 #define PACKAGE_URL ""
 72-#define PACKAGE_VERSION "-"
 73+#define PACKAGE_VERSION "8.8.0"
 74 /* #undef RANDOM_FILE */
 75 #define SIZEOF_CURL_OFF_T 8
 76 #define SIZEOF_CURL_SOCKET_T 4
 77@@ -278,7 +280,9 @@
 78 /* #undef USE_ECH */
 79 /* #undef USE_GNUTLS */
 80 /* #undef USE_GSASL */
 81+/* #undef USE_HTTPSRR */
 82 /* #undef USE_HYPER */
 83+/* #undef USE_IPV6 */
 84 /* #undef USE_LIBPSL */
 85 /* #undef USE_LIBRTMP */
 86 /* #undef USE_LIBSSH */
 87@@ -315,7 +319,7 @@
 88 /* #undef USE_WINDOWS_SSPI */
 89 /* #undef USE_WOLFSSH */
 90 /* #undef USE_WOLFSSL */
 91-#define VERSION "-"
 92+#define VERSION "8.8.0"
 93 #ifndef _ALL_SOURCE
 94 /* #  undef _ALL_SOURCE */
 95 #endif
 96@@ -323,8 +327,5 @@
 97 /* #undef _LARGE_FILES */
 98 /* #undef const */
 99 /* #undef in_addr_t */
100-#ifndef __cplusplus
101-/* #undef inline */
102-#endif
103 /* #undef size_t */
104 /* #undef ssize_t */
+3, -3
 1@@ -43,8 +43,8 @@ lib('libcurl.a', [[
 2 		content_encoding.c cookie.c curl_addrinfo.c curl_des.c
 3 		curl_endian.c curl_fnmatch.c curl_get_line.c curl_gethostname.c
 4 		curl_gssapi.c curl_memrchr.c curl_multibyte.c curl_ntlm_core.c
 5-		curl_ntlm_wb.c curl_path.c curl_range.c curl_rtmp.c curl_sasl.c
 6-		curl_sha512_256.c curl_sspi.c curl_threads.c curl_trc.c cw-out.c
 7+		curl_path.c curl_range.c curl_rtmp.c curl_sasl.c curl_sha512_256.c
 8+		curl_sspi.c curl_threads.c curl_trc.c cw-out.c dllmain.c
 9 		dict.c doh.c dynbuf.c dynhds.c easy.c easygetopt.c easyoptions.c
10 		escape.c file.c fileinfo.c fopen.c formdata.c ftp.c
11 		ftplistparser.c getenv.c getinfo.c gopher.c hash.c headers.c
12@@ -66,7 +66,7 @@ lib('libcurl.a', [[
13 			spnego_sspi.c vauth.c
14 		)
15 		vtls/(
16-			bearssl.c gtls.c hostcheck.c keylog.c mbedtls.c
17+			bearssl.c cipher_suite.c gtls.c hostcheck.c keylog.c mbedtls.c
18 			mbedtls_threadlock.c openssl.c rustls.c schannel.c
19 			schannel_verify.c sectransp.c vtls.c wolfssl.c x509asn1.c
20 		)
+1, -1
1@@ -1 +1 @@
2-f91249c87f68ea00cf27c44fdfa5a78423e41e71b7d408e5901a9896d905c495  curl-8.7.1.tar.gz
3+0f58bb95fc330c8a46eeb3df5701b0d90c9d9bfcc42bd1cd08791d12551d4400  curl-8.8.0.tar.xz
+1, -1
1@@ -1 +1 @@
2-url = "https://curl.se/download/curl-8.7.1.tar.gz"
3+url = "https://curl.se/download/curl-8.8.0.tar.xz"
+1, -1
1@@ -1 +1 @@
2-8.7.1 r0
3+8.8.0 r0