]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
cmdline/docs: add a required 'multi' keyword for each option
authorDaniel Stenberg <daniel@haxx.se>
Tue, 18 Oct 2022 08:39:43 +0000 (10:39 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 18 Oct 2022 16:50:25 +0000 (18:50 +0200)
The keyword specifies how option works when specified multiple times:

 - single: the last provided value replaces the earlier ones
 - append: it supports being provided multiple times
 - boolean: on/off values
 - mutex: flag-like option that disable anoter flag

The 'gen.pl' script then outputs the proper and unified language for
each option's multi-use behavior in the generated man page.

The multi: header is requires in each .d file and will cause build error
if missing or set to an unknown value.

Closes #9759

250 files changed:
docs/cmdline-opts/MANPAGE.md
docs/cmdline-opts/abstract-unix-socket.d
docs/cmdline-opts/alt-svc.d
docs/cmdline-opts/anyauth.d
docs/cmdline-opts/append.d
docs/cmdline-opts/aws-sigv4.d
docs/cmdline-opts/basic.d
docs/cmdline-opts/cacert.d
docs/cmdline-opts/capath.d
docs/cmdline-opts/cert-status.d
docs/cmdline-opts/cert-type.d
docs/cmdline-opts/cert.d
docs/cmdline-opts/ciphers.d
docs/cmdline-opts/compressed-ssh.d
docs/cmdline-opts/compressed.d
docs/cmdline-opts/config.d
docs/cmdline-opts/connect-timeout.d
docs/cmdline-opts/connect-to.d
docs/cmdline-opts/continue-at.d
docs/cmdline-opts/cookie-jar.d
docs/cmdline-opts/cookie.d
docs/cmdline-opts/create-dirs.d
docs/cmdline-opts/create-file-mode.d
docs/cmdline-opts/crlf.d
docs/cmdline-opts/crlfile.d
docs/cmdline-opts/curves.d
docs/cmdline-opts/data-ascii.d
docs/cmdline-opts/data-binary.d
docs/cmdline-opts/data-raw.d
docs/cmdline-opts/data-urlencode.d
docs/cmdline-opts/data.d
docs/cmdline-opts/delegation.d
docs/cmdline-opts/digest.d
docs/cmdline-opts/disable-eprt.d
docs/cmdline-opts/disable-epsv.d
docs/cmdline-opts/disable.d
docs/cmdline-opts/disallow-username-in-url.d
docs/cmdline-opts/dns-interface.d
docs/cmdline-opts/dns-ipv4-addr.d
docs/cmdline-opts/dns-ipv6-addr.d
docs/cmdline-opts/dns-servers.d
docs/cmdline-opts/doh-cert-status.d
docs/cmdline-opts/doh-insecure.d
docs/cmdline-opts/doh-url.d
docs/cmdline-opts/dump-header.d
docs/cmdline-opts/egd-file.d
docs/cmdline-opts/engine.d
docs/cmdline-opts/etag-compare.d
docs/cmdline-opts/etag-save.d
docs/cmdline-opts/expect100-timeout.d
docs/cmdline-opts/fail-early.d
docs/cmdline-opts/fail-with-body.d
docs/cmdline-opts/fail.d
docs/cmdline-opts/false-start.d
docs/cmdline-opts/form-escape.d
docs/cmdline-opts/form-string.d
docs/cmdline-opts/form.d
docs/cmdline-opts/ftp-account.d
docs/cmdline-opts/ftp-alternative-to-user.d
docs/cmdline-opts/ftp-create-dirs.d
docs/cmdline-opts/ftp-method.d
docs/cmdline-opts/ftp-pasv.d
docs/cmdline-opts/ftp-port.d
docs/cmdline-opts/ftp-pret.d
docs/cmdline-opts/ftp-skip-pasv-ip.d
docs/cmdline-opts/ftp-ssl-ccc-mode.d
docs/cmdline-opts/ftp-ssl-ccc.d
docs/cmdline-opts/ftp-ssl-control.d
docs/cmdline-opts/gen.pl
docs/cmdline-opts/get.d
docs/cmdline-opts/globoff.d
docs/cmdline-opts/happy-eyeballs-timeout-ms.d
docs/cmdline-opts/haproxy-protocol.d
docs/cmdline-opts/head.d
docs/cmdline-opts/header.d
docs/cmdline-opts/help.d
docs/cmdline-opts/hostpubmd5.d
docs/cmdline-opts/hostpubsha256.d
docs/cmdline-opts/hsts.d
docs/cmdline-opts/http0.9.d
docs/cmdline-opts/http1.0.d
docs/cmdline-opts/http1.1.d
docs/cmdline-opts/http2-prior-knowledge.d
docs/cmdline-opts/http2.d
docs/cmdline-opts/http3.d
docs/cmdline-opts/ignore-content-length.d
docs/cmdline-opts/include.d
docs/cmdline-opts/insecure.d
docs/cmdline-opts/interface.d
docs/cmdline-opts/ipv4.d
docs/cmdline-opts/ipv6.d
docs/cmdline-opts/json.d
docs/cmdline-opts/junk-session-cookies.d
docs/cmdline-opts/keepalive-time.d
docs/cmdline-opts/key-type.d
docs/cmdline-opts/key.d
docs/cmdline-opts/krb.d
docs/cmdline-opts/libcurl.d
docs/cmdline-opts/limit-rate.d
docs/cmdline-opts/list-only.d
docs/cmdline-opts/local-port.d
docs/cmdline-opts/location-trusted.d
docs/cmdline-opts/location.d
docs/cmdline-opts/login-options.d
docs/cmdline-opts/mail-auth.d
docs/cmdline-opts/mail-from.d
docs/cmdline-opts/mail-rcpt-allowfails.d
docs/cmdline-opts/mail-rcpt.d
docs/cmdline-opts/manual.d
docs/cmdline-opts/max-filesize.d
docs/cmdline-opts/max-redirs.d
docs/cmdline-opts/max-time.d
docs/cmdline-opts/metalink.d
docs/cmdline-opts/negotiate.d
docs/cmdline-opts/netrc-file.d
docs/cmdline-opts/netrc-optional.d
docs/cmdline-opts/netrc.d
docs/cmdline-opts/next.d
docs/cmdline-opts/no-alpn.d
docs/cmdline-opts/no-buffer.d
docs/cmdline-opts/no-clobber.d
docs/cmdline-opts/no-keepalive.d
docs/cmdline-opts/no-npn.d
docs/cmdline-opts/no-progress-meter.d
docs/cmdline-opts/no-sessionid.d
docs/cmdline-opts/noproxy.d
docs/cmdline-opts/ntlm-wb.d
docs/cmdline-opts/ntlm.d
docs/cmdline-opts/oauth2-bearer.d
docs/cmdline-opts/output-dir.d
docs/cmdline-opts/output.d
docs/cmdline-opts/parallel-immediate.d
docs/cmdline-opts/parallel-max.d
docs/cmdline-opts/parallel.d
docs/cmdline-opts/pass.d
docs/cmdline-opts/path-as-is.d
docs/cmdline-opts/pinnedpubkey.d
docs/cmdline-opts/post301.d
docs/cmdline-opts/post302.d
docs/cmdline-opts/post303.d
docs/cmdline-opts/preproxy.d
docs/cmdline-opts/progress-bar.d
docs/cmdline-opts/proto-default.d
docs/cmdline-opts/proto-redir.d
docs/cmdline-opts/proto.d
docs/cmdline-opts/proxy-anyauth.d
docs/cmdline-opts/proxy-basic.d
docs/cmdline-opts/proxy-cacert.d
docs/cmdline-opts/proxy-capath.d
docs/cmdline-opts/proxy-cert-type.d
docs/cmdline-opts/proxy-cert.d
docs/cmdline-opts/proxy-ciphers.d
docs/cmdline-opts/proxy-crlfile.d
docs/cmdline-opts/proxy-digest.d
docs/cmdline-opts/proxy-header.d
docs/cmdline-opts/proxy-insecure.d
docs/cmdline-opts/proxy-key-type.d
docs/cmdline-opts/proxy-key.d
docs/cmdline-opts/proxy-negotiate.d
docs/cmdline-opts/proxy-ntlm.d
docs/cmdline-opts/proxy-pass.d
docs/cmdline-opts/proxy-pinnedpubkey.d
docs/cmdline-opts/proxy-service-name.d
docs/cmdline-opts/proxy-ssl-allow-beast.d
docs/cmdline-opts/proxy-ssl-auto-client-cert.d
docs/cmdline-opts/proxy-tls13-ciphers.d
docs/cmdline-opts/proxy-tlsauthtype.d
docs/cmdline-opts/proxy-tlspassword.d
docs/cmdline-opts/proxy-tlsuser.d
docs/cmdline-opts/proxy-tlsv1.d
docs/cmdline-opts/proxy-user.d
docs/cmdline-opts/proxy.d
docs/cmdline-opts/proxy1.0.d
docs/cmdline-opts/proxytunnel.d
docs/cmdline-opts/pubkey.d
docs/cmdline-opts/quote.d
docs/cmdline-opts/random-file.d
docs/cmdline-opts/range.d
docs/cmdline-opts/rate.d
docs/cmdline-opts/raw.d
docs/cmdline-opts/referer.d
docs/cmdline-opts/remote-header-name.d
docs/cmdline-opts/remote-name-all.d
docs/cmdline-opts/remote-name.d
docs/cmdline-opts/remote-time.d
docs/cmdline-opts/remove-on-error.d
docs/cmdline-opts/request-target.d
docs/cmdline-opts/request.d
docs/cmdline-opts/resolve.d
docs/cmdline-opts/retry-all-errors.d
docs/cmdline-opts/retry-connrefused.d
docs/cmdline-opts/retry-delay.d
docs/cmdline-opts/retry-max-time.d
docs/cmdline-opts/retry.d
docs/cmdline-opts/sasl-authzid.d
docs/cmdline-opts/sasl-ir.d
docs/cmdline-opts/service-name.d
docs/cmdline-opts/show-error.d
docs/cmdline-opts/silent.d
docs/cmdline-opts/socks4.d
docs/cmdline-opts/socks4a.d
docs/cmdline-opts/socks5-basic.d
docs/cmdline-opts/socks5-gssapi-nec.d
docs/cmdline-opts/socks5-gssapi-service.d
docs/cmdline-opts/socks5-gssapi.d
docs/cmdline-opts/socks5-hostname.d
docs/cmdline-opts/socks5.d
docs/cmdline-opts/speed-limit.d
docs/cmdline-opts/speed-time.d
docs/cmdline-opts/ssl-allow-beast.d
docs/cmdline-opts/ssl-auto-client-cert.d
docs/cmdline-opts/ssl-no-revoke.d
docs/cmdline-opts/ssl-reqd.d
docs/cmdline-opts/ssl-revoke-best-effort.d
docs/cmdline-opts/ssl.d
docs/cmdline-opts/sslv2.d
docs/cmdline-opts/sslv3.d
docs/cmdline-opts/stderr.d
docs/cmdline-opts/styled-output.d
docs/cmdline-opts/suppress-connect-headers.d
docs/cmdline-opts/tcp-fastopen.d
docs/cmdline-opts/tcp-nodelay.d
docs/cmdline-opts/telnet-option.d
docs/cmdline-opts/tftp-blksize.d
docs/cmdline-opts/tftp-no-options.d
docs/cmdline-opts/time-cond.d
docs/cmdline-opts/tls-max.d
docs/cmdline-opts/tls13-ciphers.d
docs/cmdline-opts/tlsauthtype.d
docs/cmdline-opts/tlspassword.d
docs/cmdline-opts/tlsuser.d
docs/cmdline-opts/tlsv1.0.d
docs/cmdline-opts/tlsv1.1.d
docs/cmdline-opts/tlsv1.2.d
docs/cmdline-opts/tlsv1.3.d
docs/cmdline-opts/tlsv1.d
docs/cmdline-opts/tr-encoding.d
docs/cmdline-opts/trace-ascii.d
docs/cmdline-opts/trace-time.d
docs/cmdline-opts/trace.d
docs/cmdline-opts/unix-socket.d
docs/cmdline-opts/upload-file.d
docs/cmdline-opts/url.d
docs/cmdline-opts/use-ascii.d
docs/cmdline-opts/user-agent.d
docs/cmdline-opts/user.d
docs/cmdline-opts/verbose.d
docs/cmdline-opts/version.d
docs/cmdline-opts/write-out.d
docs/cmdline-opts/xattr.d

index e35c826cd801238bfaafb06e4feda94892056559..b760a9ad82821ce1cf988a52790f92bdd97a1d9a 100644 (file)
@@ -23,20 +23,22 @@ Each file has a set of meta-data and a body of text.
 
 ### Meta-data
 
-    Short: (single letter, without dash)
-    Long: (long form name, without dashes)
+    Added: (version number in which this was added)
     Arg: (the argument the option takes)
+    c: (copyright line)
+    Example: (example command line, without "curl" and can use `$URL`)
+    Experimental: yes (if so)
+    Help: (short text for the --help output for this option)
+    Long: (long form name, without dashes)
     Magic: (description of "magic" options)
-    Tags: (space separated list)
-    Protocols: (space separated list for which protocols this option works)
-    Added: (version number in which this was added)
+    Multi: single/append/boolean/mutex (if used more than once)
     Mutexed: (space separated list of options this overrides, no dashes)
+    Protocols: (space separated list for which protocols this option works)
     Requires: (space separated list of features this requires, no dashes)
     See-also: (space separated list of related options, no dashes)
-    Help: (short text for the --help output for this option)
-    Example: (example command line, without "curl" and can use `$URL`)
-    c: (copyright line)
+    Short: (single letter, without dash)
     SPDX-License-Identifier: curl
+    Tags: (space separated list)
     --- (end of meta-data)
 
 ### Body
index 820dd16c30480a4deb0835f152ce3c789f35cdd8..32cd5e2099a7d1e254efb7cf3043c987cd2afa71 100644 (file)
@@ -8,6 +8,7 @@ Protocols: HTTP
 Category: connection
 See-also: unix-socket
 Example: --abstract-unix-socket socketpath $URL
+Multi: single
 ---
 Connect through an abstract Unix domain socket, instead of using the network.
 Note: netstat shows the path of an abstract socket prefixed with '@', however
index c1dcd2bdcb140a96d84408267713b200834ea5e1..6689d605ca584bcc8715b0a5bd6bea0477afcb16 100644 (file)
@@ -8,6 +8,7 @@ Added: 7.64.1
 Category: http
 See-also: resolve connect-to
 Example: --alt-svc svc.txt $URL
+Multi: append
 ---
 This option enables the alt-svc parser in curl. If the file name points to an
 existing alt-svc cache file, that will be used. After a completed transfer,
index 8641904cfe8a973a98c86a90f031df884e58ab41..cc871b6e2f34ad9f963e2f8613c3be80101c8422 100644 (file)
@@ -7,6 +7,7 @@ See-also: proxy-anyauth basic digest
 Category: http proxy auth
 Example: --anyauth --user me:pwd $URL
 Added: 7.10.6
+Multi: mutex
 ---
 Tells curl to figure out authentication method by itself, and use the most
 secure one the remote site claims to support. This is done by first doing a
index e6e6ef2318a962f12f5cbb930485599db2873ea0..b1eab78cfe5c0961dc1c1705bd66c28bb3bdf99a 100644 (file)
@@ -8,6 +8,7 @@ Category: ftp sftp
 See-also: range continue-at
 Example: --upload-file local --append ftp://example.com/
 Added: 4.8
+Multi: boolean
 ---
 When used in an upload, this makes curl append to the target file instead of
 overwriting it. If the remote file does not exist, it will be created. Note
index 9859722690a090fe8a163bc67721a22e4b924027..7f69c03ab426ca246e2b7b86a1ff91d8764476cf 100644 (file)
@@ -7,6 +7,7 @@ Category: auth http
 Added: 7.75.0
 See-also: basic user
 Example: --aws-sigv4 "aws:amz:east-2:es" --user "key:secret" $URL
+Multi: single
 ---
 Use AWS V4 signature authentication in the transfer.
 
index 4def3cddc752ecb8c059f6f2d186b8c5ef3e1011..ca873b8bb62dece2afabadbb124a308d9aba85fb 100644 (file)
@@ -7,6 +7,7 @@ Protocols: HTTP
 Category: auth
 Example: -u name:password --basic $URL
 Added: 7.10.6
+Multi: mutex
 ---
 Tells curl to use HTTP Basic authentication with the remote host. This is the
 default and this option is usually pointless, unless you use it to override a
index f950b6c7f6a3129edb5aaaf306d3590af4bbedc1..1f86b0e967026b6a6283b17bbe6fbf250960e55a 100644 (file)
@@ -8,6 +8,7 @@ Category: tls
 See-also: capath insecure
 Example: --cacert CA-file.txt $URL
 Added: 7.5
+Multi: single
 ---
 Tells curl to use the specified certificate file to verify the peer. The file
 may contain multiple CA certificates. The certificate(s) must be in PEM
@@ -35,5 +36,3 @@ preferred method of verifying the peer's certificate chain.
 with libcurl 7.60 or later. This option is supported for backward
 compatibility with other SSL engines; instead it is recommended to use
 Windows' store of root certificates (the default for Schannel).
-
-If this option is used several times, the last one will be used.
index eb8cd9f633f7022f89debd2e30df13f3852a28d2..552c05a3cfb8e92619dce0bf45cc5f61af909cec 100644 (file)
@@ -8,6 +8,7 @@ Category: tls
 See-also: cacert insecure
 Example: --capath /local/directory $URL
 Added: 7.9.8
+Multi: single
 ---
 Tells curl to use the specified certificate directory to verify the
 peer. Multiple paths can be provided by separating them with ":" (e.g.
@@ -17,5 +18,4 @@ c_rehash utility supplied with OpenSSL. Using --capath can allow
 OpenSSL-powered curl to make SSL-connections much more efficiently than using
 --cacert if the --cacert file contains many CA certificates.
 
-If this option is set, the default capath value will be ignored, and if it is
-used several times, the last one will be used.
+If this option is set, the default capath value will be ignored.
index 73e82525b34617f1c963391b1e45417dbe302de5..83241dba2fc82728f5a126e2d84fb99ca804b8c8 100644 (file)
@@ -7,12 +7,13 @@ Help: Verify the status of the server cert via OCSP-staple
 Category: tls
 See-also: pinnedpubkey
 Example: --cert-status $URL
+Multi: boolean
 ---
 Tells curl to verify the status of the server certificate by using the
 Certificate Status Request (aka. OCSP stapling) TLS extension.
 
 If this option is enabled and the server sends an invalid (e.g. expired)
-response, if the response suggests that the server certificate has been revoked,
-or no response at all is received, the verification fails.
+response, if the response suggests that the server certificate has been
+revoked, or no response at all is received, the verification fails.
 
 This is currently only implemented in the OpenSSL, GnuTLS and NSS backends.
index 8dd767ad73c64add6659e5a7493abde3f2e3d762..13643fb53bbdc8562a1cfd7130e8c74e1f39cf44 100644 (file)
@@ -8,6 +8,7 @@ See-also: cert key key-type
 Category: tls
 Example: --cert-type PEM --cert file $URL
 Added: 7.9.3
+Multi: single
 ---
 Tells curl what type the provided client certificate is using. PEM, DER, ENG
 and P12 are recognized types.
@@ -15,5 +16,3 @@ and P12 are recognized types.
 The default type depends on the TLS backend and is usually PEM, however for
 Secure Transport and Schannel it is P12. If --cert is a pkcs11: URI then ENG is
 the default type.
-
-If this option is used several times, the last one will be used.
index 27690eb97a44beda2d34a833cbc1f8d2b3b4a921..54c5cb0a0c5d54152a56105060b6ef791a999fa8 100644 (file)
@@ -9,6 +9,7 @@ See-also: cert-type key key-type
 Category: tls
 Example: --cert certfile --key keyfile $URL
 Added: 5.0
+Multi: single
 ---
 Tells curl to use the specified client certificate file when getting a file
 with HTTPS, FTPS or another SSL-based protocol. The certificate must be in
@@ -55,5 +56,3 @@ usually a SHA-1 hex string which you can see in certificate details. Following
 store locations are supported: CurrentUser, LocalMachine, CurrentService,
 Services, CurrentUserGroupPolicy, LocalMachineGroupPolicy,
 LocalMachineEnterprise.
-
-If this option is used several times, the last one will be used.
index a5bc90738abdda4de0d0666bccde572a716f1b07..e64a3f6a0110a77770b7b4e5e81e48bf0d4424de 100644 (file)
@@ -8,10 +8,9 @@ Category: tls
 See-also: tlsv1.3
 Example: --ciphers ECDHE-ECDSA-AES256-CCM8 $URL
 Added: 7.9
+Multi: single
 ---
 Specifies which ciphers to use in the connection. The list of ciphers must
 specify valid ciphers. Read up on SSL cipher list details on this URL:
 
  https://curl.se/docs/ssl-ciphers.html
-
-If this option is used several times, the last one will be used.
index 5aa2310f29f86519fba12cd00b0f948262f0af41..0521a2ba4bc4a1447ca347986902ece8e8fbbdac 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.56.0
 Category: scp ssh
 See-also: compressed
 Example: --compressed-ssh sftp://example.com/
+Multi: boolean
 ---
 Enables built-in SSH compression.
 This is a request, not an order; the server may or may not do it.
index c7e2ff9dd5f52025597cfe05d63cc28269098f25..f3b03c6728b59dfa7d8471a3b0b9021cf1560723 100644 (file)
@@ -7,6 +7,7 @@ Category: http
 Example: --compressed $URL
 See-also: compressed-ssh
 Added: 7.10
+Multi: boolean
 ---
 Request a compressed response using one of the algorithms curl supports, and
 automatically decompress the content. Headers are not modified.
index 5ca71a58657f026ec77ea8bb25b3270bacbf99b6..84456f627c59e112f8fb39be312c5bc6c9b51586 100644 (file)
@@ -8,6 +8,7 @@ Category: curl
 Example: --config file.txt $URL
 Added: 4.10
 See-also: disable
+Multi: append
 ---
 Specify a text file to read curl arguments from. The command line arguments
 found in the text file will be used as if they were provided on the command
@@ -73,5 +74,3 @@ checks for one in the same dir the curl executable is placed.
 
 On Windows two filenames are checked per location: .curlrc and _curlrc,
 preferring the former. Older versions on Windows checked for _curlrc only.
-
-This option can be used multiple times to load multiple config files.
index f33fc485815f3ad4c52dbeeda39aaed64965c2ce..6a2889d2168423d307c642a37fd69335f7a57167 100644 (file)
@@ -8,10 +8,9 @@ Category: connection
 Example: --connect-timeout 20 $URL
 Example: --connect-timeout 3.14 $URL
 Added: 7.7
+Multi: single
 ---
 Maximum time in seconds that you allow curl's connection to take.  This only
 limits the connection phase, so if curl connects within the given period it
 will continue - if not it will exit.  Since version 7.32.0, this option
 accepts decimal values.
-
-If this option is used several times, the last one will be used.
index eded7ed1069e13acf654e7574ac091f884cb9065..040ea19dd20cab014d3c63a1c19cc9a21074b041 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.49.0
 See-also: resolve header
 Category: connection
 Example: --connect-to example.com:443:example.net:8443 $URL
+Multi: append
 ---
 
 For a request to the given HOST1:PORT1 pair, connect to HOST2:PORT2 instead.
@@ -21,5 +22,3 @@ request's original host/port".
 A "host" specified to this option is compared as a string, so it needs to
 match the name used in request URL. It can be either numerical such as
 "127.0.0.1" or the full host name such as "example.org".
-
-This option can be used many times to add many connect rules.
index 3217f55f598409a6cc45da155eaf64b9e246e48f..726171a4120b26141c22f593d38aa6998957b504 100644 (file)
@@ -9,6 +9,7 @@ Category: connection
 Example: -C - $URL
 Example: -C 400 $URL
 Added: 4.8
+Multi: single
 ---
 Continue/Resume a previous file transfer at the given offset. The given offset
 is the exact number of bytes that will be skipped, counting from the beginning
@@ -17,5 +18,3 @@ uploads, the FTP server command SIZE will not be used by curl.
 
 Use "-C -" to tell curl to automatically find out where/how to resume the
 transfer. It then uses the given output/input files to figure that out.
-
-If this option is used several times, the last one will be used.
index 3c7759c87c7f7414f58551b5792f27e5db00b357..2f3b8e9e65c0a047a8b59264ee0f38d2b3082adf 100644 (file)
@@ -10,6 +10,7 @@ Example: -c store-here.txt $URL
 Example: -c store-here.txt -b read-these $URL
 Added: 7.9
 See-also: cookie
+Multi: single
 ---
 Specify to which file you want curl to write all cookies after a completed
 operation. Curl writes all cookies from its in-memory cookie storage to the
@@ -26,6 +27,3 @@ If the cookie jar cannot be created or written to, the whole curl operation
 will not fail or even report an error clearly. Using --verbose will get a
 warning displayed, but that is the only visible feedback you get about this
 possibly lethal situation.
-
-If this option is used several times, the last specified file name will be
-used.
index b05a0c7d50fb4aacaf0e089caf5c97b78972d3ec..2b736539e4ceca6863eed4776fcf90bbd70c2d88 100644 (file)
@@ -10,6 +10,7 @@ Example: -b cookiefile $URL
 Example: -b cookiefile -c cookiefile $URL
 See-also: cookie-jar junk-session-cookies
 Added: 4.9
+Multi: append
 ---
 Pass the data to the HTTP server in the Cookie header. It is supposedly the
 data previously received from the server in a "Set-Cookie:" line. The data
@@ -36,8 +37,6 @@ cookie is not sent since the domain will never match. To address this, set a
 domain in Set-Cookie line (doing that will include sub-domains) or preferably:
 use the Netscape format.
 
-This option can be used multiple times.
-
 Users often want to both read cookies from a file and write updated cookies
 back to a file, so using both --cookie and --cookie-jar in the same command
 line is common.
index 211d4bd8c00b051e90c7b7f9ef5326eb1a319d53..01b7ccf92be487c35d42f5a4ed206669007969e6 100644 (file)
@@ -6,6 +6,7 @@ Category: curl
 Example: --create-dirs --output local/dir/file $URL
 Added: 7.10.3
 See-also: ftp-create-dirs output-dir
+Multi: boolean
 ---
 When used in conjunction with the --output option, curl will create the
 necessary local directory hierarchy as needed. This option creates the
index c2bb496c7c5b8d0ec4a959bbeee419c04956361c..32e6e84bf04a680c6fa269d04ade1c4434ba5fd8 100644 (file)
@@ -8,11 +8,10 @@ Category: sftp scp file upload
 See-also: ftp-create-dirs
 Added: 7.75.0
 Example: --create-file-mode 0777 -T localfile sftp://example.com/new
+Multi: single
 ---
 When curl is used to create files remotely using one of the supported
 protocols, this option allows the user to set which 'mode' to set on the file
 at creation time, instead of the default 0644.
 
 This option takes an octal number as argument.
-
-If this option is used several times, the last one will be used.
index f440af696b9e7ce8d96d974df2ff5ca06e433e9e..f19a5b25da57b51256fa57d6a5aaebd79f628f68 100644 (file)
@@ -7,6 +7,7 @@ Category: ftp smtp
 Example: --crlf -T file ftp://example.com/
 Added: 5.7
 See-also: use-ascii
+Multi: boolean
 ---
 Convert LF to CRLF in upload. Useful for MVS (OS/390).
 
index 9f8ee8231f0bb109e931ef6d6574e870d4cd2fb6..deb54e1249fb49003c93cf09f1825e368f1edee4 100644 (file)
@@ -8,8 +8,7 @@ Added: 7.19.7
 Category: tls
 Example: --crlfile rejects.txt $URL
 See-also: cacert capath
+Multi: single
 ---
 Provide a file using PEM format with a Certificate Revocation List that may
 specify peer certificates that are to be considered revoked.
-
-If this option is used several times, the last one will be used.
index 2a353be183c8b2c7ac9fad26fb049b8751095c45..84f1291d8c1da44bfb80749d3f96039a2a0c30b5 100644 (file)
@@ -8,6 +8,7 @@ Added: 7.73.0
 Category: tls
 Example: --curves X25519 $URL
 See-also: ciphers
+Multi: single
 ---
 Tells curl to request specific curves to use during SSL session establishment
 according to RFC 8422, 5.1.  Multiple algorithms can be provided by separating
index 72887e710c9fdb4ffe9e2b98dddbf168fcbb35b3..4f9bdb1d3c67d6f949f5809ec7fc02fe6353dc3f 100644 (file)
@@ -8,5 +8,6 @@ Category: http post upload
 Example: --data-ascii @file $URL
 Added: 7.2
 See-also: data-binary data-raw data-urlencode
+Multi: append
 ---
 This is just an alias for --data.
index 117a6d8acfa204ecc4927d3f9763e7d0d9621d07..c1c9b20d14f20609e09462e13235f8bab4bc39a5 100644 (file)
@@ -8,6 +8,7 @@ Category: http post upload
 Example: --data-binary @filename $URL
 Added: 7.2
 See-also: data-ascii
+Multi: append
 ---
 This posts data exactly as specified with no extra processing whatsoever.
 
index 462832bf018eff6a019039481a1a5aa20c8c17ed..8ec29fad88ea62a1c779447e01ef205a8185d4d0 100644 (file)
@@ -9,6 +9,7 @@ See-also: data
 Category: http post upload
 Example: --data-raw "hello" $URL
 Example: --data-raw "@at@at@" $URL
+Multi: append
 ---
 This posts data similarly to --data but without the special
 interpretation of the @ character.
index 93a2325e442f00838f1a7c14517ffc6e66751289..e9adc4563335e0115f9353f53b01a0423f5c970c 100644 (file)
@@ -11,6 +11,7 @@ Example: --data-urlencode name=val $URL
 Example: --data-urlencode =encodethis $URL
 Example: --data-urlencode name@file $URL
 Example: --data-urlencode @fileonly $URL
+Multi: append
 ---
 This posts data, similar to the other --data options with the exception
 that this performs URL-encoding.
index bf8525ba774262166015bb3b04297653d6284b76..628b150693d5fe8fc36af9414c12f91cc082927c 100644 (file)
@@ -12,6 +12,7 @@ Example: -d "name=curl" $URL
 Example: -d "name=curl" -d "tool=cmdline" $URL
 Example: -d @filename $URL
 Added: 4.0
+Multi: append
 ---
 Sends the specified data in a POST request to the HTTP server, in the same way
 that a browser does when a user has filled in an HTML form and presses the
index aa37ceb5bc3ac7f1977026d1ee18a028d00d1f14..c4659d844cbaf75eddcd85e0bb25f98c5e82b4ab 100644 (file)
@@ -8,6 +8,7 @@ Category: auth
 Example: --delegation "none" $URL
 Added: 7.22.0
 See-also: insecure ssl
+Multi: single
 ---
 Set LEVEL to tell the server what it is allowed to delegate when it
 comes to user credentials.
@@ -20,5 +21,3 @@ service ticket, which is a matter of realm policy.
 .IP "always"
 Unconditionally allow the server to delegate.
 .RE
-
-If this option is used several times, the last one will be used.
index ca60c06a79d1cbba42d08c35153c7ad84d9f6a77..c42486f040f3e557a8014d4dae78bd5b00c5000e 100644 (file)
@@ -8,9 +8,8 @@ See-also: user proxy-digest anyauth
 Category: proxy auth http
 Example: -u name:password --digest $URL
 Added: 7.10.6
+Multi: boolean
 ---
 Enables HTTP Digest authentication. This is an authentication scheme that
 prevents the password from being sent over the wire in clear text. Use this in
 combination with the normal --user option to set user name and password.
-
-If this option is used several times, only the first one is used.
index 021d2152a30623c73b9537a5d46c5fccc80698ec..8a21fed8dc12236805f8ac1c1aa23489fc9385d1 100644 (file)
@@ -7,6 +7,7 @@ Category: ftp
 Example: --disable-eprt ftp://example.com/
 Added: 7.10.5
 See-also: disable-epsv ftp-port
+Multi: boolean
 ---
 Tell curl to disable the use of the EPRT and LPRT commands when doing active
 FTP transfers. Curl will normally always first attempt to use EPRT, then LPRT
index 092b99ebb5db392bded9d9be1e18e40f8d9972ce..3f58f508c7bc63d19b24b4caca8e2e065c12b9f7 100644 (file)
@@ -7,6 +7,7 @@ Category: ftp
 Example: --disable-epsv ftp://example.com/
 Added: 7.9.2
 See-also: disable-eprt ftp-port
+Multi: boolean
 ---
 Tell curl to disable the use of the EPSV command when doing passive FTP
 transfers. Curl will normally always first attempt to use EPSV before
index 2577c0f52ab908b9e12c24610f65e340ae350c82..4ce33cd612a58e6e5a85a46a95c846cac772e723 100644 (file)
@@ -7,6 +7,7 @@ Category: curl
 Example: -q $URL
 Added: 5.0
 See-also: config
+Multi: boolean
 ---
 If used as the first parameter on the command line, the *curlrc* config
 file will not be read and used. See the --config for details on the default
index 0cf6e7571fea1a524f2abe93f9b7245348bdf89d..3e1de348a8b930355c775be32ea15960fe6ff853 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.61.0
 See-also: proto
 Category: curl http
 Example: --disallow-username-in-url $URL
+Multi: boolean
 ---
 This tells curl to exit if passed a URL containing a username. This is probably
 most useful when the URL is being provided at runtime or similar.
index 0b07f85cca7125b06201f852fb2ed00fc9a114cd..8cd4d134748da54f40466a41b6a9d6cf782db066 100644 (file)
@@ -9,6 +9,7 @@ Added: 7.33.0
 Requires: c-ares
 Category: dns
 Example: --dns-interface eth0 $URL
+Multi: single
 ---
 Tell curl to send outgoing DNS requests through <interface>. This option is a
 counterpart to --interface (which does not affect DNS). The supplied string
index 31ec5632b234480aca499e00fc2193f94226b8f2..358bec368d56f2131baccc2c0c85c5191f41e263 100644 (file)
@@ -9,9 +9,8 @@ Added: 7.33.0
 Requires: c-ares
 Category: dns
 Example: --dns-ipv4-addr 10.1.2.3 $URL
+Multi: single
 ---
 Tell curl to bind to <ip-address> when making IPv4 DNS requests, so that
 the DNS requests originate from this address. The argument should be a
 single IPv4 address.
-
-If this option is used several times, the last one will be used.
index 719f4b2a5b05c478754049eb28b7a2d2845c296f..9452656868b36831a8c3b56cd8d47dffd77b2bba 100644 (file)
@@ -9,9 +9,8 @@ Added: 7.33.0
 Requires: c-ares
 Category: dns
 Example: --dns-ipv6-addr 2a04:4e42::561 $URL
+Multi: single
 ---
 Tell curl to bind to <ip-address> when making IPv6 DNS requests, so that
 the DNS requests originate from this address. The argument should be a
 single IPv6 address.
-
-If this option is used several times, the last one will be used.
index eea78a776247d99b34f0b1e09e60e911fcac0fc4..ff07051227a209a75e2ab7a38b3fe48f64475c07 100644 (file)
@@ -8,10 +8,9 @@ Added: 7.33.0
 Category: dns
 Example: --dns-servers 192.168.0.1,192.168.0.2 $URL
 See-also: dns-interface dns-ipv4-addr
+Multi: single
 ---
 Set the list of DNS servers to be used instead of the system default.
 The list of IP addresses should be separated with commas. Port numbers
 may also optionally be given as *:<port-number>* after each IP
 address.
-
-If this option is used several times, the last one will be used.
index 4d62d68648617c2867fd3059698aeb30b5b99f28..534c79529c33ab3fedc105b0a789653182ab5fec 100644 (file)
@@ -6,5 +6,6 @@ Added: 7.76.0
 Category: dns tls
 Example: --doh-cert-status --doh-url https://doh.example $URL
 See-also: doh-insecure
+Multi: boolean
 ---
 Same as --cert-status but used for DoH (DNS-over-HTTPS).
index 1b7a5939edc7fe998e10415b48ec340b17ebec43..30c44bba3950520f0c565e09da5e284952c8f360 100644 (file)
@@ -6,5 +6,6 @@ Added: 7.76.0
 Category: dns tls
 Example: --doh-insecure --doh-url https://doh.example $URL
 See-also: doh-url
+Multi: boolean
 ---
 Same as --insecure but used for DoH (DNS-over-HTTPS).
index 746623ff45a44e8c0913f3038e2fc8ef613d747f..4717a6ac6b7f57789dbe448e703c731e46bbc96c 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.62.0
 Category: dns
 Example: --doh-url https://doh.example $URL
 See-also: doh-insecure
+Multi: single
 ---
 Specifies which DNS-over-HTTPS (DoH) server to use to resolve hostnames,
 instead of using the default name resolver mechanism. The URL must be HTTPS.
@@ -18,5 +19,3 @@ settings are not inherited and can be controlled separately via
 
 This option is unset if an empty string "" is used as the URL. (Added in
 7.85.0)
-
-If this option is used several times, the last one will be used.
index 8fc1e2d5e580321c3e48ba23b5c8cb453d33556e..3dabac85e65c17f54025032cf8fad8d559751894 100644 (file)
@@ -9,11 +9,10 @@ See-also: output
 Category: http ftp
 Example: --dump-header store.txt $URL
 Added: 5.7
+Multi: single
 ---
 Write the received protocol headers to the specified file. If no headers are
 received, the use of this option will create an empty file.
 
 When used in FTP, the FTP server response lines are considered being "headers"
 and thus are saved there.
-
-If this option is used several times, the last one will be used.
index a46a638bc20a4ce3a365eb745d46137cdee7478c..b6661c7736c431eb6886aa77e4f5d238bf66cf6c 100644 (file)
@@ -8,6 +8,7 @@ See-also: random-file
 Category: tls
 Example: --egd-file /random/here $URL
 Added: 7.7
+Multi: single
 ---
 Deprecated option. This option is ignored by curl since 7.84.0. Prior to that
 it only had an effect on curl if built to use old versions of OpenSSL.
index 9e193d6f48b8bc5aceb8e4dca6c1b34b6f9b8faf..58578ea8fbe4154060afe8b900a0abdc7c79e870 100644 (file)
@@ -8,6 +8,7 @@ Category: tls
 Example: --engine flavor $URL
 Added: 7.9.3
 See-also: ciphers curves
+Multi: single
 ---
 Select the OpenSSL crypto engine to use for cipher operations. Use --engine
 list to print a list of build-time supported engines. Note that not all (and
index 598a4638a2338b92d35a3baf29f1920cb4f3253d..12c786790471759ce0f3da3bb6b6b5e180e0188f 100644 (file)
@@ -8,6 +8,7 @@ Added: 7.68.0
 Category: http
 Example: --etag-compare etag.txt $URL
 See-also: etag-save time-cond
+Multi: single
 ---
 This option makes a conditional HTTP request for the specific ETag read
 from the given file by sending a custom If-None-Match header using the
index 221e90e0f43cf3c073098b773bdf54018d88faf2..2f44c0f7dd26f8de310cd980e704ba43a20364b1 100644 (file)
@@ -8,6 +8,7 @@ Added: 7.68.0
 Category: http
 Example: --etag-save storetag.txt $URL
 See-also: etag-compare
+Multi: single
 ---
 This option saves an HTTP ETag to the specified file. An ETag is a
 caching related header, usually returned in a response.
index 523bc7ab6510c05f72dd216e7d58ee86406a3e04..93e3c633e1d484d2ccb0252ea27cb61d0024adb8 100644 (file)
@@ -8,6 +8,7 @@ Added: 7.47.0
 See-also: connect-timeout
 Category: http
 Example: --expect100-timeout 2.5 -T file $URL
+Multi: single
 ---
 Maximum time in seconds that you allow curl to wait for a 100-continue
 response when curl emits an Expects: 100-continue header in its request. By
index c8a78b9717470bc23516d8ae2306d475a23960c6..cedc884f8633f6f49383aa2e467a8af6be026f72 100644 (file)
@@ -6,6 +6,7 @@ Added: 7.52.0
 Category: curl
 Example: --fail-early $URL https://two.example
 See-also: fail fail-with-body
+Multi: boolean
 ---
 Fail and exit on the first detected transfer error.
 
index c77fb9814abe9dee7a1d31f320e6f2f8e24eb63c..adf5294f44f06d9c1952673ed0848f5506caff76 100644 (file)
@@ -8,6 +8,7 @@ Added: 7.76.0
 See-also: fail
 Mutexed: fail
 Example: --fail-with-body $URL
+Multi: boolean
 ---
 Return an error on server errors where the HTTP response code is 400 or
 greater). In normal cases when an HTTP server fails to deliver a document, it
index d378697526bc0ffb04dc40a21df25364419f195c..66c08fa5046528620a2de172b0c1de32e670afec 100644 (file)
@@ -9,6 +9,7 @@ Category: important http
 Example: --fail $URL
 Mutexed: fail-with-body
 Added: 4.0
+Multi: boolean
 ---
 Fail fast with no output at all on server errors. This is useful to enable
 scripts and users to better deal with failed attempts. In normal cases when an
index 72ff1390caccc62dacbeac4a707c81769e6428b9..b617a6b6764a899599dc88be4a9e87045deba809 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.42.0
 Category: tls
 Example: --false-start $URL
 See-also: tcp-fastopen
+Multi: boolean
 ---
 Tells curl to use false start during the TLS handshake. False start is a mode
 where a TLS client will start sending application data before verifying the
index a7fb189f8e248da178f17b245e921ea46018cb77..b399741e231dd1cb640e94eb4bed64f076c941d3 100644 (file)
@@ -7,6 +7,7 @@ See-also: form
 Added: 7.81.0
 Category: http upload
 Example: --form-escape -F 'field\\name=curl' -F 'file=@load"this' $URL
+Multi: single
 ---
 Tells curl to pass on names of multipart form fields and files using
 backslash-escaping instead of percent-encoding.
index f669bbbc798a6b00a55d1d6fe474c2a4f802cdbb..a2c450b17d48214683047fa931544a242f52b6f1 100644 (file)
@@ -8,6 +8,7 @@ See-also: form
 Category: http upload
 Example: --form-string "data" $URL
 Added: 7.13.2
+Multi: append
 ---
 Similar to --form except that the value string for the named parameter is used
 literally. Leading '@' and '<' characters, and the ';type=' string in
index 1e1c41d4da21ef64b20c7c3cabf64dfb7cdb7e2c..3954fdaf6b24ddf7441eb6e1da8b768048d15e7d 100644 (file)
@@ -10,6 +10,7 @@ Category: http upload
 Example: --form "name=curl" --form "file=@loadthis" $URL
 Added: 5.0
 See-also: data form-string form-escape
+Multi: append
 ---
 For HTTP protocol family, this lets curl emulate a filled-in form in which a
 user has pressed the submit button. This causes curl to POST data using the
@@ -132,5 +133,3 @@ base64 attached file:
       -F '=@localfile;encoder=base64' ... smtp://example.com
 
 See further examples and details in the MANUAL.
-
-This option can be used multiple times.
index 97be878a90ef9af4c23cd6013f17e157440e5779..f71773f14e662421275e38967748a1d3d20a63e3 100644 (file)
@@ -8,8 +8,7 @@ Added: 7.13.0
 Category: ftp auth
 Example: --ftp-account "mr.robot" ftp://example.com/
 See-also: user
+Multi: single
 ---
 When an FTP server asks for "account data" after user name and password has
 been provided, this data is sent off using the ACCT command.
-
-If this option is used several times, the last one will be used.
index 132ef07fe15283cc9d795270272201b7951b437e..22e5b4f92ccbb11dd21264cb6a84ba0e11ce84b8 100644 (file)
@@ -8,6 +8,7 @@ Added: 7.15.5
 Category: ftp
 Example: --ftp-alternative-to-user "U53r" ftp://example.com
 See-also: ftp-account user
+Multi: single
 ---
 If authenticating with the USER and PASS commands fails, send this command.
 When connecting to Tumbleweed's Secure Transport server over FTPS using a
index de61bbec5f3044b16c00f432b4f0bddd9edafffd..7cf3e1c7904daac45743e1a93788c505d4bece0b 100644 (file)
@@ -7,6 +7,7 @@ See-also: create-dirs
 Category: ftp sftp curl
 Example: --ftp-create-dirs -T file ftp://example.com/remote/path/file
 Added: 7.10.7
+Multi: boolean
 ---
 When an FTP or SFTP URL/operation uses a path that does not currently exist on
 the server, the standard behavior of curl is to fail. Using this option, curl
index 93f3868dfd0b8d5a098b78f586c1c7747304ca9b..d745cca32b2c30ec58012f7256d5dc5d38b10e73 100644 (file)
@@ -10,6 +10,7 @@ Example: --ftp-method multicwd ftp://example.com/dir1/dir2/file
 Example: --ftp-method nocwd ftp://example.com/dir1/dir2/file
 Example: --ftp-method singlecwd ftp://example.com/dir1/dir2/file
 See-also: list-only
+Multi: single
 ---
 Control what method curl should use to reach a file on an FTP(S)
 server. The method argument should be one of the following alternatives:
index a38fe0ef2eb3674860db081997a0ad700c17f740..d6b4bfd9f1758e1225ebed60206b599243b8debb 100644 (file)
@@ -7,14 +7,14 @@ Added: 7.11.0
 See-also: disable-epsv
 Category: ftp
 Example: --ftp-pasv ftp://example.com/
+Multi: boolean
 ---
 Use passive mode for the data connection. Passive is the internal default
 behavior, but using this option can be used to override a previous --ftp-port
 option.
 
-If this option is used several times, only the first one is used. Undoing an
-enforced passive really is not doable but you must then instead enforce the
-correct --ftp-port again.
+Reversing an enforced passive really is not doable but you must then instead
+enforce the correct --ftp-port again.
 
 Passive mode means that curl will try the EPSV command first and then PASV,
 unless --disable-epsv is used.
index e55052b8549baa4f1cd24b4618a6b7aec7a3c9fa..4f660bd9efce6590b8f1a8d8cda7618ff8635287 100644 (file)
@@ -11,6 +11,7 @@ Example: -P - ftp:/example.com
 Example: -P eth0 ftp:/example.com
 Example: -P 192.168.0.2 ftp:/example.com
 Added: 4.0
+Multi: single
 ---
 Reverses the default initiator/listener roles when connecting with FTP. This
 option makes curl use active mode. curl then tells the server to connect back
@@ -29,9 +30,8 @@ make curl pick the same IP address that is already used for the control
 connection
 .RE
 
-If this option is used several times, the last one will be used. Disable the
-use of PORT with --ftp-pasv. Disable the attempt to use the EPRT command
-instead of PORT by using --disable-eprt. EPRT is really PORT++.
+Disable the use of PORT with --ftp-pasv. Disable the attempt to use the EPRT
+command instead of PORT by using --disable-eprt. EPRT is really PORT++.
 
 You can also append ":[start]-[end]\&" to the right of the address, to tell
 curl what TCP port range to use. That means you specify a port range, from a
index 16053f6acc77be9410ca27a64c337f150fcf511d..f31cc562595a11bb3d504355a2dc305ff39080bc 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.20.0
 Category: ftp
 Example: --ftp-pret ftp://example.com/
 See-also: ftp-port ftp-pasv
+Multi: boolean
 ---
 Tell curl to send a PRET command before PASV (and EPSV). Certain FTP servers,
 mainly drftpd, require this non-standard command for directory listings as
index 89e7e57816095cdf3b04d8b8c8d76f0931b6f8bf..af9eb7d57c239f6127e8889c4cca4002dd459411 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.14.2
 See-also: ftp-pasv
 Category: ftp
 Example: --ftp-skip-pasv-ip ftp://example.com/
+Multi: boolean
 ---
 Tell curl to not use the IP address the server suggests in its response
 to curl's PASV command when curl connects the data connection. Instead curl
index 39f5ad52da4f02ba6391de128e47f382ebed3cbb..e738b55baba2325515905f09285a4fd5e2a45bc9 100644 (file)
@@ -8,6 +8,7 @@ Added: 7.16.2
 See-also: ftp-ssl-ccc
 Category: ftp tls
 Example: --ftp-ssl-ccc-mode active --ftp-ssl-ccc ftps://example.com/
+Multi: boolean
 ---
 Sets the CCC mode. The passive mode will not initiate the shutdown, but
 instead wait for the server to do it, and will not reply to the shutdown from
index ab1d49b1da511be4e84199eba7576703cc21bbcb..c6c0bfa4c24141588bad0bf2c48a739cb2a21302 100644 (file)
@@ -7,6 +7,7 @@ See-also: ssl ftp-ssl-ccc-mode
 Added: 7.16.1
 Category: ftp tls
 Example: --ftp-ssl-ccc ftps://example.com/
+Multi: boolean
 ---
 Use CCC (Clear Command Channel) Shuts down the SSL/TLS layer after
 authenticating. The rest of the control channel communication will be
index b531d7abd36191080439ea53e0ff2d96b9d4a8f0..6bdc5806d1a882d88ee72574ef74466231812600 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.16.0
 Category: ftp tls
 Example: --ftp-ssl-control ftp://example.com
 See-also: ssl
+Multi: boolean
 ---
 Require SSL/TLS for the FTP login, clear for transfer.  Allows secure
 authentication, but non-encrypted data transfers for efficiency.  Fails the
index 01f9cf61a0a457a5838edf9b0a43532e994a3229..fe3e43e06f99a8f0deaa64ac45d7217a1f47bdd9 100755 (executable)
@@ -204,6 +204,8 @@ sub single {
     my @examples; # there can be more than one
     my $magic; # cmdline special option
     my $line;
+    my $multi;
+    my $experimental;
     while(<F>) {
         $line++;
         if(/^Short: *(.)/i) {
@@ -242,6 +244,12 @@ sub single {
         elsif(/^Example: *(.*)/i) {
             push @examples, $1;
         }
+        elsif(/^Multi: *(.*)/i) {
+            $multi=$1;
+        }
+        elsif(/^Experimental: yes/i) {
+            $experimental=1;
+        }
         elsif(/^C: (.*)/i) {
             $copyright=$1;
         }
@@ -256,6 +264,10 @@ sub single {
                 print STDERR "ERROR: no 'Long:' in $f\n";
                 return 1;
             }
+            if($multi !~ /(single|append|boolean|mutex)/) {
+                print STDERR "ERROR: bad 'Multi:' in $f\n";
+                return 1;
+            }
             if(!$category) {
                 print STDERR "ERROR: no 'Category:' in $f\n";
                 return 2;
@@ -326,9 +338,35 @@ sub single {
         print ".SH DESCRIPTION\n";
     }
 
+    if($experimental) {
+        print "**WARNING**: this option is experimental. Do not use in production.\n\n";
+    }
+
     printdesc(@desc);
     undef @desc;
 
+    if($multi eq "single") {
+        print "\nIf --$long is provided several times, the last set ".
+            "value will be used.\n";
+    }
+    elsif($multi eq "append") {
+        print "\n--$long can be used several times in a command line\n";
+    }
+    elsif($multi eq "boolean") {
+        my $rev = "no-$long";
+        # for options that start with "no-" the reverse is then without
+        # the no- prefix
+        if($long =~ /^no-/) {
+            $rev = $long;
+            $rev =~ s/^no-//;
+        }
+        print "\nProviding --$long multiple times has no extra effect.\n".
+            "Disable it again with --$rev.\n";
+    }
+    elsif($multi eq "mutex") {
+        print "\nProviding --$long multiple times has no extra effect.\n";
+    }
+
     my @foot;
     if($seealso) {
         my @m=split(/ /, $seealso);
index 3e3d680f7b87c932b1eab2456b2d8ec4dce9c29f..fbfbe867289abb29a9c3c9168f406c3ef5a01931 100644 (file)
@@ -9,6 +9,7 @@ Example: --get -d "tool=curl" -d "age=old" $URL
 Example: --get -I -d "tool=curl" $URL
 Added: 7.8.1
 See-also: data request
+Multi: boolean
 ---
 When used, this option will make all data specified with --data, --data-binary
 or --data-urlencode to be used in an HTTP GET request instead of the POST
@@ -17,7 +18,3 @@ with a '?' separator.
 
 If used in combination with --head, the POST data will instead be appended to
 the URL with a HEAD request.
-
-If this option is used several times, only the first one is used. This is
-because undoing a GET does not make sense, but you should then instead enforce
-the alternative method you prefer.
index bf22f3270fbcead0c7c617ea7a2a5ab7e3ad0c0b..ff84ad01d1fd695a075b79a8ec6e36a1736984a2 100644 (file)
@@ -7,6 +7,7 @@ Category: curl
 Example: -g "https://example.com/{[]}}}}"
 Added: 7.6
 See-also: config disable
+Multi: boolean
 ---
 This option switches off the "URL globbing parser". When you set this option,
 you can specify URLs that contain the letters {}[] without having curl itself
index d631cbe40bb78540dd382d1290a0805e7309cc44..c5f10f6db8bfb0cbc806d171ff9bbdb6ca9fb4f0 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.59.0
 Category: connection
 Example: --happy-eyeballs-timeout-ms 500 $URL
 See-also: max-time connect-timeout
+Multi: single
 ---
 Happy Eyeballs is an algorithm that attempts to connect to both IPv4 and IPv6
 addresses for dual-stack hosts, giving IPv6 a head-start of the specified
@@ -18,5 +19,3 @@ The range of suggested useful values is limited. Happy Eyeballs RFC 6555 says
 "It is RECOMMENDED that connection attempts be paced 150-250 ms apart to
 balance human factors against network load." libcurl currently defaults to
 200 ms. Firefox and Chrome currently default to 300 ms.
-
-If this option is used several times, the last one will be used.
index ed8b49f5458e5684b8c59ac045dc4b792eed6b5e..b2129e6eb69b93174c29e341424eadc990d44906 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.60.0
 Category: http proxy
 Example: --haproxy-protocol $URL
 See-also: proxy
+Multi: boolean
 ---
 Send a HAProxy PROXY protocol v1 header at the beginning of the
 connection. This is used by some load balancers and reverse proxies to
index 56fbf7ba637740cbc14f1f44c3a2d70facfdaee8..31de19aca5ae46c80e89e84521b262699d35282d 100644 (file)
@@ -8,6 +8,7 @@ Category: http ftp file
 Example: -I $URL
 Added: 4.0
 See-also: get verbose trace-ascii
+Multi: boolean
 ---
 Fetch the headers only! HTTP-servers feature the command HEAD which this uses
 to get nothing but the header of a document. When used on an FTP or FILE file,
index d98785eb4c9e3186071999d1aedb23daac3285fe..a64873fcbea04c3b3a149fe33d6576eba03699ff 100644 (file)
@@ -11,6 +11,7 @@ Example: -H "X-First-Name: Joe" $URL
 Example: -H "User-Agent: yes-please/2000" $URL
 Example: -H "Host:" $URL
 Added: 5.0
+Multi: append
 ---
 Extra header to include in information sent. When used within an HTTP request,
 it is added to the regular request headers.
@@ -53,5 +54,3 @@ with a request body, will make curl send the data using chunked encoding.
 lead to the header being sent to other hosts than the original host, so
 sensitive headers should be used with caution combined with following
 redirects.
-
-This option can be used multiple times to add/replace/remove multiple headers.
index d1a794df352c5f93e09a0d646c31a8840ebad45d..7d835a3816d27d0d04f4bcb069f5bbcfbd6667a3 100644 (file)
@@ -8,6 +8,7 @@ Category: important curl
 Example: --help all
 Added: 4.0
 See-also: verbose
+Multi: boolean
 ---
 Usage help. This lists all commands of the <category>.
 If no arg was provided, curl will display the most important
index f0fd9942df2096121fd3a502eb320adb16bee4b4..966bbca27f6a3f0b133ac51c384fdf3d057a438c 100644 (file)
@@ -8,6 +8,7 @@ Added: 7.17.1
 Category: sftp scp
 Example: --hostpubmd5 e5c1c49020640a5ab0f2034854c321a8 sftp://example.com/
 See-also: hostpubsha256
+Multi: single
 ---
 Pass a string containing 32 hexadecimal digits. The string should
 be the 128 bit MD5 checksum of the remote host's public key, curl will refuse
index 6742ba51109a9f286c1d0f7433f184af64aa29bc..c952485042a46de5fb6503177313dba04c8697c8 100644 (file)
@@ -8,6 +8,7 @@ Added: 7.80.0
 Category: sftp scp
 Example: --hostpubsha256 NDVkMTQxMGQ1ODdmMjQ3MjczYjAyOTY5MmRkMjVmNDQ= sftp://example.com/
 See-also: hostpubmd5
+Multi: single
 ---
 Pass a string containing a Base64-encoded SHA256 hash of the remote
 host's public key. Curl will refuse the connection with the host
index 1b3fcede31c69cfc7e77a90993fd800b6fafa7d6..ec251acbe193806e0140e08f3151020a79239cdf 100644 (file)
@@ -8,6 +8,7 @@ Added: 7.74.0
 Category: http
 Example: --hsts cache.txt $URL
 See-also: proto
+Multi: append
 ---
 This option enables HSTS for the transfer. If the file name points to an
 existing HSTS cache file, that will be used. After a completed transfer, the
index 028a43f80634d1294e457b1a1945a48e608bb5b6..58dec5577d41c5b93549afdcaa94b74518182e50 100644 (file)
@@ -8,6 +8,7 @@ Category: http
 Example: --http0.9 $URL
 Added: 7.64.0
 See-also: http1.1 http2 http3
+Multi: boolean
 ---
 Tells curl to be fine with HTTP version 0.9 response.
 
index 1a8c96a79e87d74a3f5073b9618dcb29c7485b31..3f8277edda8fad17b9ddbff622d1eac7950769bf 100644 (file)
@@ -10,6 +10,7 @@ Help: Use HTTP 1.0
 Category: http
 Example: --http1.0 $URL
 See-also: http0.9 http1.1
+Multi: mutex
 ---
 Tells curl to use HTTP version 1.0 instead of using its internally preferred
 HTTP version.
index a4f0468f3699d47215faa7c468d6aed03842ad05..2057553098932b1c2da77b3e7c86448e91d64378 100644 (file)
@@ -9,5 +9,6 @@ Help: Use HTTP 1.1
 Category: http
 Example: --http1.1 $URL
 See-also: http1.0 http0.9
+Multi: mutex
 ---
 Tells curl to use HTTP version 1.1.
index 77d2d5dbfc65c1b1e9cbbb41ed39b89d6128e12a..eb79c9f36485e748115de481788cdba3053fc8df 100644 (file)
@@ -10,6 +10,7 @@ Help: Use HTTP 2 without HTTP/1.1 Upgrade
 Category: http
 Example: --http2-prior-knowledge $URL
 See-also: http2 http3
+Multi: boolean
 ---
 Tells curl to issue its non-TLS HTTP requests using HTTP/2 without HTTP/1.1
 Upgrade. It requires prior knowledge that the server supports HTTP/2 straight
index 988cba5be92ef1e178181fb7233eee3f30c61190..e247b649c606d8ab6e8f900d552fb1abb4139ce3 100644 (file)
@@ -11,6 +11,7 @@ Help: Use HTTP 2
 See-also: http1.1 http3
 Category: http
 Example: --http2 $URL
+Multi: mutex
 ---
 Tells curl to use HTTP version 2.
 
index 6df001ce2b5300215af62957552d28ade98ef1fe..7f5b8eb5a8c9243fd9a37c7c35d4d2790087e2d4 100644 (file)
@@ -10,9 +10,9 @@ Help: Use HTTP v3
 See-also: http1.1 http2
 Category: http
 Example: --http3 $URL
+Multi: mutex
+Experimental: yes
 ---
-**WARNING**: this option is experimental. Do not use in production.
-
 Tells curl to use HTTP version 3 directly to the host and port number used in
 the URL. A normal HTTP/3 transaction will be done to a host and then get
 redirected via Alt-Svc, but this option allows a user to circumvent that when
index 5013121753e72023598e30037ec2a03bbe470141..eda4bd0163b7d698d6ddd3b1d4f109812fbb81ca 100644 (file)
@@ -7,6 +7,7 @@ Category: http ftp
 Example: --ignore-content-length $URL
 Added: 7.14.1
 See-also: ftp-skip-pasv-ip
+Multi: boolean
 ---
 For HTTP, Ignore the Content-Length header. This is particularly useful for
 servers running Apache 1.x, which will report incorrect Content-Length for
index a7888051efca3a8a8636e9f6497edd6c62b23fff..9e9649b7ef3dc26bbde4c4c4dbae2535164e1c35 100644 (file)
@@ -7,6 +7,7 @@ See-also: verbose
 Category: important verbose
 Example: -i $URL
 Added: 4.8
+Multi: boolean
 ---
 Include the HTTP response headers in the output. The HTTP response headers can
 include things like server name, cookies, date of the document, HTTP version
index 059fde5dde70790ee44b52edf7a53a5aaca756bd..c75817efcce2076c778df06beefcad15fd12e871 100644 (file)
@@ -8,6 +8,7 @@ See-also: proxy-insecure cacert capath
 Category: tls sftp scp
 Example: --insecure $URL
 Added: 7.10
+Multi: boolean
 ---
 By default, every secure connection curl makes is verified to be secure before
 the transfer takes place. This option makes curl skip the verification step
index 0273a7086f8ade23817d793d16e9211804082bb0..275f6151ca2fd8aba10e2d580f18d8174a417353 100644 (file)
@@ -7,14 +7,13 @@ See-also: dns-interface
 Category: connection
 Example: --interface eth0 $URL
 Added: 7.3
+Multi: single
 ---
 Perform an operation using a specified interface. You can enter interface
 name, IP address or host name. An example could look like:
 
  curl --interface eth0:1 https://www.example.com/
 
-If this option is used several times, the last one will be used.
-
 On Linux it can be used to specify a VRF, but the binary needs to either
 have CAP_NET_RAW or to be run as root. More information about Linux VRF:
 https://www.kernel.org/doc/Documentation/networking/vrf.txt
index 133493df2fd538125995b90832a75fa88872d66c..8a3e35e7334c38479025d94191b38240117fe5f6 100644 (file)
@@ -11,6 +11,7 @@ See-also: http1.1 http2
 Help: Resolve names to IPv4 addresses
 Category: connection dns
 Example: --ipv4 $URL
+Multi: boolean
 ---
 This option tells curl to use IPv4 addresses only, and not for example try
 IPv6.
index 55c1ad1c4fb332a8d1de0674489104394ba39d92..16c47f178b111388dac4c3df1b0a859211c486a3 100644 (file)
@@ -11,6 +11,7 @@ See-also: http1.1 http2
 Help: Resolve names to IPv6 addresses
 Category: connection dns
 Example: --ipv6 $URL
+Multi: boolean
 ---
 This option tells curl to use IPv6 addresses only, and not for example try
 IPv4.
index 6d73935196ba5ad63579baabdf1080093b1fef22..d2ea553b097cba0ab91fd6c548c57140bd065c77 100644 (file)
@@ -12,6 +12,7 @@ Example: --json '{ "drink":' --json ' "coffe" }' $URL
 Example: --json @prepared $URL
 Example: --json @- $URL < json.txt
 Added: 7.82.0
+Multi: append
 ---
 Sends the specified JSON data in a POST request to the HTTP server. --json
 works as a shortcut for passing on these three options:
index 937f84426e717d3b24b6e5d087ecc92962aa602b..7816125fa52a3e0de909f40ae058c6d192f8f2c8 100644 (file)
@@ -8,6 +8,7 @@ See-also: cookie cookie-jar
 Category: http
 Example: --junk-session-cookies -b cookies.txt $URL
 Added: 7.9.7
+Multi: boolean
 ---
 When curl is told to read cookies from a given file, this option will make it
 discard all "session cookies". This will basically have the same effect as if
index b135e7462b3f447e6d2dd894eafb6ae3178f31bc..9667633b973d91afa699c7bc42b8c73177295fc4 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.18.0
 Category: connection
 Example: --keepalive-time 20 $URL
 See-also: no-keepalive max-time
+Multi: single
 ---
 This option sets the time a connection needs to remain idle before sending
 keepalive probes and the time between individual keepalive probes. It is
@@ -17,5 +18,4 @@ connections. The number of missed keepalive probes before declaring the
 connection down is OS dependent and is commonly 9 or 10. This option has no
 effect if --no-keepalive is used.
 
-If this option is used several times, the last one will be used. If
-unspecified, the option defaults to 60 seconds.
+If unspecified, the option defaults to 60 seconds.
index d3ef4e079914a37dd30e6272a13aa667c6104399..83ab99b947cbd954423c7fb7743442dd1e371141 100644 (file)
@@ -8,8 +8,7 @@ Category: tls
 Example: --key-type DER --key here $URL
 Added: 7.9.3
 See-also: key
+Multi: single
 ---
 Private key file type. Specify which type your --key provided private key
 is. DER, PEM, and ENG are supported. If not specified, PEM is assumed.
-
-If this option is used several times, the last one will be used.
index 46b7b8fbdaadcda2ed7c886d92a0b6b2018dd3ae..3e07c8ed10247be4f5ac9cdfe9d6d8d011185ce9 100644 (file)
@@ -8,6 +8,7 @@ Category: tls ssh
 Example: --cert certificate --key here $URL
 Added: 7.9.3
 See-also: key-type cert
+Multi: single
 ---
 Private key file name. Allows you to provide your private key in this separate
 file. For SSH, if not specified, curl tries the following candidates in order:
@@ -24,5 +25,3 @@ If curl is built against Secure Transport or Schannel then this option is
 ignored for TLS protocols (HTTPS, etc). Those backends expect the private key
 to be already present in the keychain or PKCS#12 file containing the
 certificate.
-
-If this option is used several times, the last one will be used.
index 0ba97a790257c870aa77562dd5a9eb9a8bacdca9..b2375ee79599f206745b5940010d61429511d846 100644 (file)
@@ -9,9 +9,8 @@ Category: ftp
 Example: --krb clear ftp://example.com/
 Added: 7.3
 See-also: delegation ssl
+Multi: single
 ---
 Enable Kerberos authentication and use. The level must be entered and should
 be one of 'clear', 'safe', 'confidential', or 'private'. Should you use a
 level that is not one of these, 'private' will instead be used.
-
-If this option is used several times, the last one will be used.
index 24a1b103a4def1914475e5ea44c29b5c2f5cd9bc..da845d93998951c920ebd63ae12071363f5fa1de 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.16.1
 Category: curl
 Example: --libcurl client.c $URL
 See-also: verbose
+Multi: single
 ---
 Append this option to any ordinary curl command line, and you will get
 libcurl-using C source code written to the file that does the equivalent
@@ -14,6 +15,3 @@ of what your command-line operation does!
 
 This option is global and does not need to be specified for each use of
 --next.
-
-If this option is used several times, the last given file name will be
-used.
index e25f4ac416f69fc48fc4fc08b17e048199925025..0a1e4cf60ed07f66396f4c972b8a0f0044602343 100644 (file)
@@ -9,6 +9,7 @@ Example: --limit-rate 1000 $URL
 Example: --limit-rate 10M $URL
 Added: 7.10
 See-also: speed-limit speed-time
+Multi: single
 ---
 Specify the maximum transfer rate you want curl to use - for both downloads
 and uploads. This feature is useful if you have a limited pipe and you would like
@@ -26,5 +27,3 @@ the set threshold over a period of multiple seconds.
 If you also use the --speed-limit option, that option will take precedence and
 might cripple the rate-limiting slightly, to help keeping the speed-limit
 logic working.
-
-If this option is used several times, the last one will be used.
index 74c88e44a8391d9cbc7ad2431c14f533c5baf70c..d84974f499336b14074ebbf2f45156d1a95e96eb 100644 (file)
@@ -8,6 +8,7 @@ Added: 4.0
 Category: ftp pop3
 Example: --list-only ftp://example.com/dir/
 See-also: quote request
+Multi: boolean
 ---
 (FTP)
 When listing an FTP directory, this switch forces a name-only view. This is
index 55961f825bbdffe0427ec2e1cfd061fa9121e01b..e889ee443cb6b15cb6d5c9ed4b6fe745c2d33489 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.15.2
 Category: connection
 Example: --local-port 1000-3000 $URL
 See-also: globoff
+Multi: single
 ---
 Set a preferred single number or range (FROM-TO) of local port numbers to use
 for the connection(s).  Note that port numbers by nature are a scarce resource
index cd920f42c7b83674862d24c52c08b00599bc74d1..8d19416d70010aac750b24557464f83fe04e7d83 100644 (file)
@@ -7,6 +7,7 @@ See-also: user
 Category: http auth
 Example: --location-trusted -u user:password $URL
 Added: 7.10.4
+Multi: boolean
 ---
 Like --location, but will allow sending the name + password to all hosts that
 the site may redirect to. This may or may not introduce a security breach if
index 7b532effacf404385b662ddc4eede146c4bf835f..c3b2b5d82fe72ade63a2d65b38841950eb8fb0af 100644 (file)
@@ -8,6 +8,7 @@ Category: http
 Example: -L $URL
 Added: 4.9
 See-also: resolve alt-svc
+Multi: boolean
 ---
 If the server reports that the requested page has moved to a different
 location (indicated with a Location: header and a 3XX response code), this
index 2c244e4c98948520d9c587dc01633e6dba3d73d4..e9e07a3ef53da025ff0394d4fb132537b51cba2f 100644 (file)
@@ -8,6 +8,7 @@ Added: 7.34.0
 Category: imap pop3 smtp auth
 Example: --login-options 'AUTH=*' imap://example.com
 See-also: user
+Multi: single
 ---
 Specify the login options to use during server authentication.
 
@@ -15,5 +16,3 @@ You can use login options to specify protocol specific options that may be
 used during authentication. At present only IMAP, POP3 and SMTP support
 login options. For more information about login options please see RFC
 2384, RFC 5092 and IETF draft draft-earhart-url-smtp-00.txt
-
-If this option is used several times, the last one will be used.
index d077a5edd28375924027ee48fc5cd2eb3006fc40..e215575be0ff656ab27988be7af41175516a7156 100644 (file)
@@ -8,6 +8,7 @@ Added: 7.25.0
 See-also: mail-rcpt mail-from
 Category: smtp
 Example: --mail-auth user@example.come -T mail smtp://example.com/
+Multi: single
 ---
 Specify a single address. This will be used to specify the authentication
 address (identity) of a submitted message that is being relayed to another
index 26636005005181d4e97f4aeadc9d5c1e7bb4ca3d..c96193840a5ea72669d58e4e4d9e6631f9bd1768 100644 (file)
@@ -8,5 +8,6 @@ Added: 7.20.0
 See-also: mail-rcpt mail-auth
 Category: smtp
 Example: --mail-from user@example.com -T mail smtp://example.com/
+Multi: single
 ---
 Specify a single address that the given mail should get sent from.
index 6e1f6f820e26a555da445e72b3dd61d7ca1a5bc8..d14b9e8f012301f813fa6ce677da9b0bd3feb503 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.69.0
 Category: smtp
 Example: --mail-rcpt-allowfails --mail-rcpt dest@example.com smtp://example.com
 See-also: mail-rcpt
+Multi: boolean
 ---
 When sending data to multiple recipients, by default curl will abort SMTP
 conversation if at least one of the recipients causes RCPT TO command to
index 1890f901af4fa2dcfc4f20e6ddcbf289934c065f..d1e6a156157e049784fd5ad2fad65aca8f6a31e0 100644 (file)
@@ -8,6 +8,7 @@ Added: 7.20.0
 Category: smtp
 Example: --mail-rcpt user@example.net smtp://example.com
 See-also: mail-rcpt-allowfails
+Multi: append
 ---
 Specify a single email address, user name or mailing list name. Repeat this
 option several times to send to multiple recipients.
index 7becf1cec13774fae818862f8889fc2cac508183..e6d439713562ec4ba7ebf529323fb27a1d4c65f9 100644 (file)
@@ -7,5 +7,6 @@ Category: curl
 Example: --manual
 Added: 5.2
 See-also: verbose libcurl trace
+Multi: boolean
 ---
 Manual. Display the huge help text.
index 8ed66e9f7cbcfc9f8e3f48eaf18d950d262132b7..822252e82fb955cb3189e0e98bfd80f49b85156e 100644 (file)
@@ -8,6 +8,7 @@ See-also: limit-rate
 Category: connection
 Example: --max-filesize 100K $URL
 Added: 7.10.8
+Multi: single
 ---
 Specify the maximum size (in bytes) of a file to download. If the file
 requested is larger than this value, the transfer will not start and curl will
index fc5d5c835ebf7794ee75987b57007f89a2451723..f8434748e690735d4feeafd7f3b191645ee005a5 100644 (file)
@@ -8,9 +8,8 @@ Category: http
 Example: --max-redirs 3 --location $URL
 Added: 7.5
 See-also: location
+Multi: single
 ---
 Set maximum number of redirections to follow. When --location is used, to
 prevent curl from following too many redirects, by default, the limit is
 set to 50 redirects. Set this option to -1 to make it unlimited.
-
-If this option is used several times, the last one will be used.
index c5362fc5ef489831b8473353bc10401d739e4608..8efef1279679a97113735d8676a5c2c06ca7a5a4 100644 (file)
@@ -9,6 +9,7 @@ Category: connection
 Example: --max-time 10 $URL
 Example: --max-time 2.92 $URL
 Added: 4.0
+Multi: single
 ---
 Maximum time in seconds that you allow each transfer to take.  This is
 useful for preventing your batch jobs from hanging for hours due to slow
@@ -19,5 +20,3 @@ timeout increases in decimal precision.
 If you enable retrying the transfer (--retry) then the maximum time counter is
 reset each time the transfer is retried. You can use --retry-max-time to limit
 the retry time.
-
-If this option is used several times, the last one will be used.
index c2677f05d37fcf7dc4aa17f10a125944c2cba77c..2a05228aed82a8326f638e3a2674250320b07479 100644 (file)
@@ -6,6 +6,7 @@ Added: 7.27.0
 Category: misc
 Example: --metalink file $URL
 See-also: parallel
+Multi: single
 ---
 This option was previously used to specify a metalink resource. Metalink
 support has been disabled in curl since 7.78.0 for security reasons.
index c2d5f8a037ae1b4ffd95706acce2651fcdededb6..727f8982668f507541897489adb84be7744491fd 100644 (file)
@@ -7,6 +7,7 @@ See-also: basic ntlm anyauth proxy-negotiate
 Category: auth http
 Example: --negotiate -u : $URL
 Added: 7.10.6
+Multi: mutex
 ---
 Enables Negotiate (SPNEGO) authentication.
 
index 2c9865590af5b158b58aa661ff9ce591921f2b00..f50c0ed34e677ca95e2b6c3aee0f596017329ea6 100644 (file)
@@ -8,10 +8,10 @@ Mutexed: netrc
 Category: curl
 Example: --netrc-file netrc $URL
 See-also: netrc user config
+Multi: single
 ---
 This option is similar to --netrc, except that you provide the path (absolute
 or relative) to the netrc file that curl should use. You can only specify one
-netrc file per invocation. If several --netrc-file options are provided,
-the last one will be used.
+netrc file per invocation.
 
 It will abide by --netrc-optional if specified.
index 4c83295a9edb138ad8a58cc32a36d71e531d9e6f..6d96acf6c5cd07871545734fe7d0a22de134ea26 100644 (file)
@@ -7,6 +7,7 @@ See-also: netrc-file
 Category: curl
 Example: --netrc-optional $URL
 Added: 7.9.8
+Multi: boolean
 ---
 Similar to --netrc, but this option makes the .netrc usage **optional**
 and not mandatory as the --netrc option does.
index 3868f6dabe97397e0ccd21f93396a877a3a1b640..7f109f7ada03f0bd52951b731295efaa7e277950 100644 (file)
@@ -7,6 +7,7 @@ Category: curl
 Example: --netrc $URL
 Added: 4.6
 See-also: netrc-file config user
+Multi: boolean
 ---
 Makes curl scan the *.netrc* (*_netrc* on Windows) file in the user's home
 directory for login name and password. This is typically used for FTP on
index b4b2a414cbf232c5b92527d31d8cc787c6715398..49a3d2e2e702c805c58b9f81188501491342ab29 100644 (file)
@@ -11,6 +11,7 @@ Category: curl
 Example: $URL --next -d postthis www2.example.com
 Example: -I $URL --next https://example.net/
 See-also: parallel config
+Multi: append
 ---
 Tells curl to use a separate operation for the following URL and associated
 options. This allows you to send several URL requests, each with their own
index 004ececc07f626c54d76a45c25f01d620fc02575..8f01f4af4ffc032471c871d3e0d2034ae635e8e2 100644 (file)
@@ -9,6 +9,7 @@ Requires: TLS
 Help: Disable the ALPN TLS extension
 Category: tls http
 Example: --no-alpn $URL
+Multi: boolean
 ---
 Disable the ALPN TLS extension. ALPN is enabled by default if libcurl was built
 with an SSL library that supports ALPN. ALPN is used by a libcurl that supports
index ef9d29ca57debf9aa1bad9343dbc6522b9dfaddd..2de48c97c1e9fa3ddbe2527c14a730dc4bbadb1e 100644 (file)
@@ -7,11 +7,9 @@ Category: curl
 Example: --no-buffer $URL
 Added: 6.5
 See-also: progress-bar
+Multi: boolean
 ---
 Disables the buffering of the output stream. In normal work situations, curl
 will use a standard buffered output stream that will have the effect that it
 will output the data in chunks, not necessarily exactly when the data arrives.
 Using this option will disable that buffering.
-
-Note that this is the negated option name documented. You can thus use
---buffer to enforce the buffering.
index 9cd4036f9940850919fe68c4be584bf12b9075cf..d8fc3f14137da015cea7aa016f16dafaa9d3fb08 100644 (file)
@@ -6,6 +6,7 @@ Category: curl output
 Added: 7.83.0
 See-also: output remote-name
 Example: --no-clobber --output local/dir/file $URL
+Multi: boolean
 ---
 When used in conjunction with the --output, --remote-header-name,
 --remote-name, or --remote-name-all options, curl avoids overwriting files
index a549333366daeeb76c4a012a61c38df4e476c5f2..0f44646473bb4dc2b951b939cfb9ce5899c76992 100644 (file)
@@ -6,6 +6,7 @@ Category: connection
 Example: --no-keepalive $URL
 Added: 7.18.0
 See-also: keepalive-time
+Multi: boolean
 ---
 Disables the use of keepalive messages on the TCP connection. curl otherwise
 enables them by default.
index 70a53b2fe67701971c41c7c34109fd43f97ad559..97314e8ccf111619d0e55957f78c7f26d22a8448 100644 (file)
@@ -10,6 +10,7 @@ Requires: TLS
 Help: Disable the NPN TLS extension
 Category: tls http
 Example: --no-npn $URL
+Multi: boolean
 ---
 In curl 7.86.0 and later, curl never uses NPN.
 
index fd57b136940426702cf328ba6b322b37ac46ccdd..9a298c44cc9ff00aa531e5685ee6c535280d84bd 100644 (file)
@@ -6,6 +6,7 @@ See-also: verbose silent
 Added: 7.67.0
 Category: verbose
 Example: --no-progress-meter -o store $URL
+Multi: boolean
 ---
 Option to switch off the progress meter output without muting or otherwise
 affecting warning and informational messages like --silent does.
index 5b86a95112f8b55c1b381421a86ced3e9be8dcaf..b3e51b216639c2964d76bc78b11ecf0517577e78 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.16.0
 Category: tls
 Example: --no-sessionid $URL
 See-also: insecure
+Multi: boolean
 ---
 Disable curl's use of SSL session-ID caching. By default all transfers are
 done using the cache. Note that while nothing should ever get hurt by
index a351fdeb620e353e68b7dc140ff3cfed5bc840e3..c28e897eb3d378e3ae1b37e25284b164302c4876 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.19.4
 Category: proxy
 Example: --noproxy "www.example" $URL
 See-also: proxy
+Multi: single
 ---
 Comma-separated list of hosts for which not to use a proxy, if one is
 specified. The only wildcard is a single * character, which matches all hosts,
index 039bd9c09fcac5c1f9743af934998ff6aa4ea447..7317adc785dce6c5ed7ae1aff2d6afda2010227c 100644 (file)
@@ -7,6 +7,7 @@ See-also: ntlm proxy-ntlm
 Category: auth http
 Example: --ntlm-wb -u user:password $URL
 Added: 7.22.0
+Multi: mutex
 ---
 Enables NTLM much in the style --ntlm does, but hand over the authentication
 to the separate binary ntlmauth application that is executed when needed.
index 66b513e662335593f99d0efe0b3b96ca381745b0..9e1a996873c0f353a5a362f93594000646b62eb1 100644 (file)
@@ -9,6 +9,7 @@ Requires: TLS
 Category: auth http
 Example: --ntlm -u user:password $URL
 Added: 7.10.6
+Multi: mutex
 ---
 Enables NTLM authentication. The NTLM authentication method was designed by
 Microsoft and is used by IIS web servers. It is a proprietary protocol,
index e5857b6c6b9558d516da449b69c4005d1918dd17..6b639cba000d8a73da147830393cb06510a7d56f 100644 (file)
@@ -8,11 +8,10 @@ Category: auth
 Example: --oauth2-bearer "mF_9.B5f-4.1JqM" $URL
 Added: 7.33.0
 See-also: basic ntlm digest
+Multi: single
 ---
 Specify the Bearer Token for OAUTH 2.0 server authentication. The Bearer Token
 is used in conjunction with the user name which can be specified as part of
 the --url or --user options.
 
 The Bearer Token and user name are formatted according to RFC 6750.
-
-If this option is used several times, the last one will be used.
index 20adf9fdf0e95f8cdbe1174c550a538348d36d5e..5c53c7fdc27ce0b40069db1080a9859cf0fe2e8c 100644 (file)
@@ -7,8 +7,8 @@ Added: 7.73.0
 See-also: remote-name remote-header-name
 Category: curl
 Example: --output-dir "tmp" -O $URL
+Multi: single
 ---
-
 This option specifies the directory in which files should be stored, when
 --remote-name or --output are used.
 
@@ -17,6 +17,3 @@ command line, up until the first --next.
 
 If the specified target directory does not exist, the operation will fail
 unless --create-dirs is also used.
-
-If this option is used multiple times, the last specified directory will be
-used.
index 543d3e3e90281d1a86985c4432eff2d493e84951..e3005d587cfcc1f28c7c45840a1f72e44f3232ed 100644 (file)
@@ -11,6 +11,7 @@ Example: "http://{one,two}.example.com" -o "file_#1.txt"
 Example: "http://{site,host}.host[1-5].com" -o "#1_#2"
 Example: -o file $URL -o file2 https://example.net
 Added: 4.0
+Multi: append
 ---
 Write output to <file> instead of stdout. If you are using {} or [] to fetch
 multiple documents, you should quote the URL and you can use '#' followed by a
index 40a8c51e16fe8e43abe039c6f32d439b8a2d98ff..e202214c19cc6173643ca646d02212b3b1868dae 100644 (file)
@@ -6,6 +6,7 @@ Added: 7.68.0
 See-also: parallel parallel-max
 Category: connection curl
 Example: --parallel-immediate -Z $URL -o file1 $URL -o file2
+Multi: boolean
 ---
 When doing parallel transfers, this option will instruct curl that it should
 rather prefer opening up more connections in parallel at once rather than
index 5e3ad420c45c525b099d79c28d374859905b2a7b..7bdd1b8f47cbc2ea9b9ff1c12b841535ee8886eb 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.66.0
 See-also: parallel
 Category: connection curl
 Example: --parallel-max 100 -Z $URL ftp://example.com/
+Multi: single
 ---
 When asked to do parallel transfers, using --parallel, this option controls
 the maximum amount of transfers to do simultaneously.
index d0e9b3219594223c4d1441645214d81b57c09e42..83c5cc5bde1ac2b82d68a8072dc15c6482e6d6eb 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.66.0
 Category: connection curl
 Example: --parallel $URL -o file1 $URL -o file2
 See-also: next verbose
+Multi: boolean
 ---
 Makes curl perform its transfers in parallel as compared to the regular serial
 manner.
index 127786e1155bd1c86e0ce747313afd55db1ce5e1..a81c348926bbe7a96c47a93577c0151bcd0dda90 100644 (file)
@@ -8,7 +8,6 @@ Category: ssh tls auth
 Example: --pass secret --key file $URL
 Added: 7.9.3
 See-also: key user
+Multi: single
 ---
 Passphrase for the private key.
-
-If this option is used several times, the last one will be used.
index e9dc2e88e6746b5f1208d7468924b8c1af9d7448..45c161b6dfe22857a178958441232ee90d01d306 100644 (file)
@@ -6,6 +6,7 @@ Added: 7.42.0
 Category: curl
 Example: --path-as-is https://example.com/../../etc/passwd
 See-also: request-target
+Multi: boolean
 ---
 Tell curl to not handle sequences of /../ or /./ in the given URL
 path. Normally curl will squash or merge them according to standards but with
index 89df109b1597515073f0dbbb9daca28cc679cff1..3ac48469017ecba24ba3e9950393b9edfe7ea53c 100644 (file)
@@ -9,6 +9,7 @@ Example: --pinnedpubkey keyfile $URL
 Example: --pinnedpubkey 'sha256//ce118b51897f4452dc' $URL
 Added: 7.39.0
 See-also: hostpubsha256
+Multi: single
 ---
 Tells curl to use the specified public key file (or hashes) to verify the
 peer. This can be a path to a file which contains a single public key in PEM
@@ -35,5 +36,3 @@ sha256 support:
 7.47.0: mbedtls
 
 Other SSL backends not supported.
-
-If this option is used several times, the last one will be used.
index 2c7a1362afaca6e8d217d0df7f8a6f481823e8c0..0de2e519ed862fe239cb15ea4ff5408314ca80fa 100644 (file)
@@ -7,6 +7,7 @@ See-also: post302 post303 location
 Added: 7.17.1
 Category: http post
 Example: --post301 --location -d "data" $URL
+Multi: boolean
 ---
 Tells curl to respect RFC 7231/6.4.2 and not convert POST requests into GET
 requests when following a 301 redirection. The non-RFC behavior is ubiquitous
index 31c13bd3af3e5c18886c3337948ebf7871467bcb..4a42c79d00ddd00167e66fe83100ca3b5f2fd900 100644 (file)
@@ -7,6 +7,7 @@ See-also: post301 post303 location
 Added: 7.19.1
 Category: http post
 Example: --post302 --location -d "data" $URL
+Multi: boolean
 ---
 Tells curl to respect RFC 7231/6.4.3 and not convert POST requests into GET
 requests when following a 302 redirection. The non-RFC behavior is ubiquitous
index 8d856ea6de1a166363cee537cdd60e0cc48e0ea3..79c891687f2e023dbbb2a1f48c7f769b550a9b36 100644 (file)
@@ -7,6 +7,7 @@ See-also: post302 post301 location
 Added: 7.26.0
 Category: http post
 Example: --post303 --location -d "data" $URL
+Multi: boolean
 ---
 Tells curl to violate RFC 7231/6.4.4 and not convert POST requests into GET
 requests when following 303 redirections. A server may require a POST to
index 3f10a68e79f4af8ee6b45b44115b4116727f006f..5be20712bbda023a764ba3817bc1d6c02e1a9741 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.52.0
 Category: proxy
 Example: --preproxy socks5://proxy.example -x http://http.example $URL
 See-also: proxy socks5
+Multi: single
 ---
 Use the specified SOCKS proxy before connecting to an HTTP or HTTPS --proxy. In
 such a case curl first connects to the SOCKS proxy and then connects (through
@@ -23,5 +24,3 @@ If the port number is not specified in the proxy string, it is assumed to be
 User and password that might be provided in the proxy string are URL decoded
 by curl. This allows you to pass in special characters such as @ by using %40
 or pass in a colon with %3a.
-
-If this option is used several times, the last one will be used.
index 3a7853087a10cec9d8e60ffebe92e9951576d78c..5c87023b8f9ba6ebc7ebe06c97a65a58cd7fe8dd 100644 (file)
@@ -7,6 +7,7 @@ Category: verbose
 Example: -# -O $URL
 Added: 5.10
 See-also: styled-output
+Multi: boolean
 ---
 Make curl display transfer progress as a simple progress bar instead of the
 standard, more informational, meter.
index f9d4f6d7c76a8cf7e33bae3b1f9feb83dffdc07a..bb8940f7ef5bae2d85fe1bf4b905abd8ed78acee 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.45.0
 Category: connection curl
 Example: --proto-default https ftp.example.com
 See-also: proto proto-redir
+Multi: single
 ---
 Tells curl to use *protocol* for any URL missing a scheme name.
 
index ea8c7526e33b8d81828e81a95c6feada4291e4bb..b6f0f0f3626f262785e1e7c8cee1ac239687a6d4 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.20.2
 Category: connection curl
 Example: --proto-redir =http,https $URL
 See-also: proto
+Multi: single
 ---
 Tells curl to limit what protocols it may use on redirect. Protocols denied by
 --proto are not overridden by this option. See --proto for how protocols are
index 7b9cca02eac961722e96fb6dd119ab310396bee3..a24c0dbdcad3cb7b2d53213f3322f2ada3e3881b 100644 (file)
@@ -7,6 +7,7 @@ See-also: proto-redir proto-default
 Added: 7.20.2
 Category: connection curl
 Example: --proto =http,https,sftp $URL
+Multi: single
 ---
 Tells curl to limit what protocols it may use for transfers. Protocols are
 evaluated left to right, are comma separated, and are each a protocol name or
index c7cdd040c2ce1fd8c01eb0f7a03826e4b545c7d8..c215ad7462b395ccbd8d0317274e2edd7b60977a 100644 (file)
@@ -6,6 +6,7 @@ Added: 7.13.2
 See-also: proxy proxy-basic proxy-digest
 Category: proxy auth
 Example: --proxy-anyauth --proxy-user user:passwd -x proxy $URL
+Multi: mutex
 ---
 Tells curl to pick a suitable authentication method when communicating with
 the given HTTP proxy. This might cause an extra request/response round-trip.
index 608c9fae2992ab562333d74b7b75839cadb413b7..3856c49f3bef726b66d3e339a8e81fe1fdf9ca60 100644 (file)
@@ -6,6 +6,7 @@ See-also: proxy proxy-anyauth proxy-digest
 Category: proxy auth
 Example: --proxy-basic --proxy-user user:passwd -x proxy $URL
 Added: 7.12.0
+Multi: mutex
 ---
 Tells curl to use HTTP Basic authentication when communicating with the given
 proxy. Use --basic for enabling HTTP Basic with a remote host. Basic is the
index c05a03c731ab3d59d8c46b26fb0fb20b08c927a4..a7c8e743bd3000ba89ef3fdf9908f676ad35f939 100644 (file)
@@ -7,5 +7,6 @@ Added: 7.52.0
 See-also: proxy-capath cacert capath proxy
 Category: proxy tls
 Example: --proxy-cacert CA-file.txt -x https://proxy $URL
+Multi: single
 ---
 Same as --cacert but used in HTTPS proxy context.
index 600e06ee8abcd6674935e2c5801534e998eafa24..e6113012b8c01842ca27636024ab2058645c8119 100644 (file)
@@ -7,5 +7,6 @@ Added: 7.52.0
 See-also: proxy-cacert proxy capath
 Category: proxy tls
 Example: --proxy-capath /local/directory -x https://proxy $URL
+Multi: single
 ---
 Same as --capath but used in HTTPS proxy context.
index 520a2b4836381fb64c93accd610451e49f7750cb..2376acab426c1ba82c4dc95a641a359834483513 100644 (file)
@@ -7,5 +7,6 @@ Help: Client certificate type for HTTPS proxy
 Category: proxy tls
 Example: --proxy-cert-type PEM --proxy-cert file -x https://proxy $URL
 See-also: proxy-cert
+Multi: single
 ---
 Same as --cert-type but used in HTTPS proxy context.
index 684b52cd788a1ac2008526e3aff08ba955a141f9..cc2f8041bc33356c2021eb883962ed3a0dbf4a49 100644 (file)
@@ -7,5 +7,6 @@ Added: 7.52.0
 Category: proxy tls
 Example: --proxy-cert file -x https://proxy $URL
 See-also: proxy-cert-type
+Multi: single
 ---
 Same as --cert but used in HTTPS proxy context.
index 2b5c936012e05fc63eccab51e22a41dac2a6b877..1fdbb344327c9f915af4fb5d6a092329c5ff6621 100644 (file)
@@ -7,5 +7,6 @@ Added: 7.52.0
 Category: proxy tls
 Example: --proxy-ciphers ECDHE-ECDSA-AES256-CCM8 -x https://proxy $URL
 See-also: ciphers curves proxy
+Multi: single
 ---
 Same as --ciphers but used in HTTPS proxy context.
index 9ece36195e3ac4cf57430630752aa3f8cf438c81..7e4ef24a95caf3b6774852ad2c7a62d63050e3bc 100644 (file)
@@ -7,5 +7,6 @@ Added: 7.52.0
 Category: proxy tls
 Example: --proxy-crlfile rejects.txt -x https://proxy $URL
 See-also: crlfile proxy
+Multi: single
 ---
 Same as --crlfile but used in HTTPS proxy context.
index 0bcc9f3037df3e79dd2f2f016f4796b124182776..f8a56fac9d283ebbc200b846d6cf07195154192c 100644 (file)
@@ -6,6 +6,7 @@ See-also: proxy proxy-anyauth proxy-basic
 Category: proxy tls
 Example: --proxy-digest --proxy-user user:passwd -x proxy $URL
 Added: 7.12.0
+Multi: mutex
 ---
 Tells curl to use HTTP Digest authentication when communicating with the given
 proxy. Use --digest for enabling HTTP Digest with a remote host.
index 64980ed2c367e0dc0ee6fa966b732b70a0714e3c..c064b1ff86fb941eacf5d18bb748a1b96ad1627e 100644 (file)
@@ -10,6 +10,7 @@ Example: --proxy-header "X-First-Name: Joe" -x http://proxy $URL
 Example: --proxy-header "User-Agent: surprise" -x http://proxy $URL
 Example: --proxy-header "Host:" -x http://proxy $URL
 See-also: proxy
+Multi: append
 ---
 Extra header to include in the request when sending HTTP to a proxy. You may
 specify any number of extra headers. This is the equivalent option to --header
index 4579246f3dac27c333fa3d83e85cd91312fd25fb..7eb00244ee7297bd8323f7a4ce69311ba240e5f5 100644 (file)
@@ -6,5 +6,6 @@ Added: 7.52.0
 Category: proxy tls
 Example: --proxy-insecure -x https://proxy $URL
 See-also: proxy insecure
+Multi: boolean
 ---
 Same as --insecure but used in HTTPS proxy context.
index c7b226dc7e991cf75d28ebdddec200a6c6bf2c51..7f4e51ef0fc8a44dfd8eb3440394d34f5482ecb0 100644 (file)
@@ -7,5 +7,6 @@ Added: 7.52.0
 Category: proxy tls
 Example: --proxy-key-type DER --proxy-key here -x https://proxy $URL
 See-also: proxy-key proxy
+Multi: single
 ---
 Same as --key-type but used in HTTPS proxy context.
index 044f72e850c42432f0d47cd2e5425a2729e59820..01bd51aa6dbba0641997b42dbaa801f14465a660 100644 (file)
@@ -7,5 +7,6 @@ Category: proxy tls
 Example: --proxy-key here -x https://proxy $URL
 Added: 7.52.0
 See-also: proxy-key-type proxy
+Multi: single
 ---
 Same as --key but used in HTTPS proxy context.
index 340873aef68612ad512619d80e21c6cce314e116..f0ca0b08a1ba5fc0eb9c5ac910cff5d486fa1c67 100644 (file)
@@ -6,6 +6,7 @@ Added: 7.17.1
 See-also: proxy-anyauth proxy-basic
 Category: proxy auth
 Example: --proxy-negotiate --proxy-user user:passwd -x proxy $URL
+Multi: mutex
 ---
 Tells curl to use HTTP Negotiate (SPNEGO) authentication when communicating
 with the given proxy. Use --negotiate for enabling HTTP Negotiate (SPNEGO)
index 424dc9ce73e81ec3dbf9a877657ad3c6d0aac512..57cb9945dd846bdce14cb73611e23d50313aae17 100644 (file)
@@ -6,6 +6,7 @@ See-also: proxy-negotiate proxy-anyauth
 Category: proxy auth
 Example: --proxy-ntlm --proxy-user user:passwd -x http://proxy $URL
 Added: 7.10.7
+Multi: mutex
 ---
 Tells curl to use HTTP NTLM authentication when communicating with the given
 proxy. Use --ntlm for enabling NTLM with a remote host.
index dbd9779921943121f98385d2e61b879ef75495a4..733e62615de7488034a8bf2bc2468207ababd643 100644 (file)
@@ -7,5 +7,6 @@ Added: 7.52.0
 Category: proxy tls auth
 Example: --proxy-pass secret --proxy-key here -x https://proxy $URL
 See-also: proxy proxy-key
+Multi: single
 ---
 Same as --pass but used in HTTPS proxy context.
index b6c644b05105b14c1ff38dc26137606623a63983..4f139af6077104c2f60ccc3f7a22361501353682 100644 (file)
@@ -9,6 +9,7 @@ Example: --proxy-pinnedpubkey keyfile $URL
 Example: --proxy-pinnedpubkey 'sha256//ce118b51897f4452dc' $URL
 Added: 7.59.0
 See-also: pinnedpubkey proxy
+Multi: single
 ---
 Tells curl to use the specified public key file (or hashes) to verify the
 proxy. This can be a path to a file which contains a single public key in PEM
@@ -19,5 +20,3 @@ When negotiating a TLS or SSL connection, the server sends a certificate
 indicating its identity. A public key is extracted from this certificate and
 if it does not exactly match the public key provided to this option, curl will
 abort the connection before sending or receiving any data.
-
-If this option is used several times, the last one will be used.
index 7ab263fd0abb0edae9ff594b2a5ee6d5c6360d32..02191afb09ebbf3d21ffe014e4feb5f074ec0cb7 100644 (file)
@@ -7,5 +7,6 @@ Added: 7.43.0
 Category: proxy tls
 Example: --proxy-service-name "shrubbery" -x proxy $URL
 See-also: service-name proxy
+Multi: single
 ---
 This option allows you to change the service name for proxy negotiation.
index 787b50fe291455b8e87917b94a7465680718ba3b..c5149f5979ac67f6dea316b3c267b78fb784407f 100644 (file)
@@ -6,5 +6,6 @@ Added: 7.52.0
 Category: proxy tls
 Example: --proxy-ssl-allow-beast -x https://proxy $URL
 See-also: ssl-allow-beast proxy
+Multi: boolean
 ---
 Same as --ssl-allow-beast but used in HTTPS proxy context.
index ab1d898a36052d6b9262c5f850f1c2594d939ce3..21d09faa6c22675a216b0fea452963d3c24fca07 100644 (file)
@@ -6,5 +6,6 @@ Added: 7.77.0
 Category: proxy tls
 Example: --proxy-ssl-auto-client-cert -x https://proxy $URL
 See-also: ssl-auto-client-cert proxy
+Multi: boolean
 ---
 Same as --ssl-auto-client-cert but used in HTTPS proxy context.
index 285e0cbb82adb5ee337526b20d12942ae5b60b79..90952ffadd67a90ad9cc291791de4e0750b0d653 100644 (file)
@@ -8,6 +8,7 @@ Category: proxy tls
 Example: --proxy-tls13-ciphers TLS_AES_128_GCM_SHA256 -x proxy $URL
 Added: 7.61.0
 See-also: tls13-ciphers curves
+Multi: single
 ---
 Specifies which cipher suites to use in the connection to your HTTPS proxy
 when it negotiates TLS 1.3. The list of ciphers suites must specify valid
@@ -18,5 +19,3 @@ ciphers. Read up on TLS 1.3 cipher suite details on this URL:
 This option is currently used only when curl is built to use OpenSSL 1.1.1 or
 later. If you are using a different SSL backend you can try setting TLS 1.3
 cipher suites by using the --proxy-ciphers option.
-
-If this option is used several times, the last one will be used.
index fbee25fa37ad420d116d5daf2fa08dcd3b765cfd..8ba7428e21b43c931223b52b9e5ccb34aa01a485 100644 (file)
@@ -7,5 +7,6 @@ Added: 7.52.0
 Category: proxy tls auth
 Example: --proxy-tlsauthtype SRP -x https://proxy $URL
 See-also: proxy proxy-tlsuser
+Multi: single
 ---
 Same as --tlsauthtype but used in HTTPS proxy context.
index c74400d98c3953a3e59d92e8dab660d3efe0c0cb..ba232e68a7d77132c2cde295be947fc04b0396c9 100644 (file)
@@ -7,5 +7,6 @@ Added: 7.52.0
 Category: proxy tls auth
 Example: --proxy-tlspassword passwd -x https://proxy $URL
 See-also: proxy proxy-tlsuser
+Multi: single
 ---
 Same as --tlspassword but used in HTTPS proxy context.
index 8e60cb5858a5134080baf832485824bccb4911f5..944d87601ec22909ca4dff6c62a1fc5c63f74c5a 100644 (file)
@@ -7,5 +7,6 @@ Added: 7.52.0
 Category: proxy tls auth
 Example: --proxy-tlsuser smith -x https://proxy $URL
 See-also: proxy proxy-tlspassword
+Multi: single
 ---
 Same as --tlsuser but used in HTTPS proxy context.
index 65ab3ee25747e8de11e031d471295233fedfe20c..b6d039b151e4858a5b51aa4897c82cc1363f1446 100644 (file)
@@ -6,5 +6,6 @@ Added: 7.52.0
 Category: proxy tls auth
 Example: --proxy-tlsv1 -x https://proxy $URL
 See-also: proxy
+Multi: mutex
 ---
 Same as --tlsv1 but used in HTTPS proxy context.
index 13e127a66a8a9070b4969e47f2d2d17052fbf353..572cb06c0f02b861b7f53fc466e65475912c38c7 100644 (file)
@@ -8,6 +8,7 @@ Category: proxy auth
 Example: --proxy-user name:pwd -x proxy $URL
 Added: 4.0
 See-also: proxy-pass
+Multi: single
 ---
 Specify the user name and password to use for proxy authentication.
 
@@ -20,5 +21,3 @@ process listings. This is not enough to protect credentials from possibly
 getting seen by other users on the same system as they will still be visible
 for a moment before cleared. Such sensitive data should be retrieved from a
 file instead or similar and never used in clear text in a command line.
-
-If this option is used several times, the last one will be used.
index 2295abd77e95690a8fddcad43b6c00867f979837..a3be835bf3a96fedb25ecaa1bae902edce3210b0 100644 (file)
@@ -8,6 +8,7 @@ Category: proxy
 Example: --proxy http://proxy.example $URL
 Added: 4.0
 See-also: socks5 proxy-basic
+Multi: single
 ---
 Use the specified proxy.
 
@@ -44,5 +45,3 @@ or pass in a colon with %3a.
 The proxy host can be specified the same way as the proxy environment
 variables, including the protocol prefix (http://) and the embedded user +
 password.
-
-If this option is used several times, the last one will be used.
index 07b77826b05eee6a98cbff7b261537a77c7ac86d..3f7b61331ad1694a344e3581e046d40d7cb40261 100644 (file)
@@ -7,6 +7,7 @@ Category: proxy
 Example: --proxy1.0 -x http://proxy $URL
 Added: 7.19.4
 See-also: proxy socks5 preproxy
+Multi: mutex
 ---
 Use the specified HTTP 1.0 proxy. If the port number is not specified, it is
 assumed at port 1080.
index ec44fd758da788654b6755b018fc23d7f30d93cd..ef2d56b2a71a042cee39b10812ef357595d56d13 100644 (file)
@@ -7,6 +7,7 @@ See-also: proxy
 Category: proxy
 Example: --proxytunnel -x http://proxy $URL
 Added: 7.3
+Multi: boolean
 ---
 When an HTTP proxy is used --proxy, this option will make curl tunnel through
 the proxy. The tunnel approach is made with the HTTP proxy CONNECT request and
index c1dc99a51c3556c8ea28f5cef0175c969e1853eb..2078982e20336cccfde910440a8ba8c20a05e146 100644 (file)
@@ -8,12 +8,11 @@ Category: sftp scp auth
 Example: --pubkey file.pub sftp://example.com/
 Added: 7.16.2
 See-also: pass
+Multi: single
 ---
 Public key file name. Allows you to provide your public key in this separate
 file.
 
-If this option is used several times, the last one will be used.
-
 (As of 7.39.0, curl attempts to automatically extract the public key from the
 private key file, so passing this option is generally not required. Note that
 this public key extraction requires libcurl to be linked against a copy of
index e410574b72c3ab15a5c7ba94520566b6eb31279c..96c4e1f172154719b71ef1f1050f3fc70f7d72da 100644 (file)
@@ -9,6 +9,7 @@ Category: ftp sftp
 Example: --quote "DELE file" ftp://example.com/foo
 Added: 5.3
 See-also: request
+Multi: append
 ---
 Send an arbitrary command to the remote FTP or SFTP server. Quote commands are
 sent BEFORE the transfer takes place (just after the initial PWD command in an
index dea2ec72cd5c3c4ce6a5cc14b58189572b7ad542..ad0a558cc28c092a3d09c819069843dc77855167 100644 (file)
@@ -7,6 +7,7 @@ Category: misc
 Example: --random-file rubbish $URL
 Added: 7.7
 See-also: egd-file
+Multi: single
 ---
 Deprecated option. This option is ignored by curl since 7.84.0. Prior to that
 it only had an effect on curl if built to use old versions of OpenSSL.
index ca77de901d25187b2b96d35975ea39da10e850cf..f49d40472b7a8da18f7030bc11b839e3f085ee0d 100644 (file)
@@ -9,6 +9,7 @@ Category: http ftp sftp file
 Example: --range 22-44 $URL
 Added: 4.0
 See-also: continue-at append
+Multi: single
 ---
 Retrieve a byte range (i.e. a partial document) from an HTTP/1.1, FTP or SFTP
 server or a local FILE. Ranges can be specified in a number of ways.
@@ -49,5 +50,3 @@ whole document.
 FTP and SFTP range downloads only support the simple 'start-stop' syntax
 (optionally with one of the numbers omitted). FTP use depends on the extended
 FTP command SIZE.
-
-If this option is used several times, the last one will be used.
index 148c88f8aeeb675127d42d0d85c6d88b62fd6ac8..953f8659661aa0b9e7ef9e7ca809a5591971cc20 100644 (file)
@@ -9,6 +9,7 @@ Example: --rate 3/h $URL
 Example: --rate 14/m $URL
 Added: 7.84.0
 See-also: limit-rate retry-delay
+Multi: single
 ---
 Specify the maximum transfer frequency you allow curl to use - in number of
 transfer starts per time unit (sometimes called request rate). Without this
@@ -31,5 +32,3 @@ more than 1000 per second, it will instead run unrestricted.
 
 When retrying transfers, enabled with --retry, the separate retry delay logic
 is used and not this setting.
-
-If this option is used several times, the last one will be used.
index f87e926a55b0dacc02000c64f2cefbc8e9c4672a..8e753c12653b7eabdc0ebd80adf087b743c97b3b 100644 (file)
@@ -7,6 +7,7 @@ Protocols: HTTP
 Category: http
 Example: --raw $URL
 See-also: tr-encoding
+Multi: boolean
 ---
 When used, it disables all internal HTTP decoding of content or transfer
 encodings and instead makes them passed on unaltered, raw.
index 64c9c8b465b063e81f6ab4b487805308f1e762a1..3740957ebd9a5b4dc6fa768d5ee5d8fb99d0262d 100644 (file)
@@ -11,11 +11,10 @@ Example: --referer "https://fake.example" $URL
 Example: --referer "https://fake.example;auto" -L $URL
 Example: --referer ";auto" -L $URL
 Added: 4.0
+Multi: single
 ---
 Sends the "Referrer Page" information to the HTTP server. This can also be set
 with the --header flag of course. When used with --location you can append
 ";auto" to the --referer URL to make curl automatically set the previous URL
 when it follows a Location: header. The ";auto" string can be used alone,
 even if you do not set an initial --referer.
-
-If this option is used several times, the last one will be used.
index 0f22b84625828be5cf0b4ea2ebffe8bed26cecdb..f97cf49a3e87f28777d4cc4d21b669909898c1f7 100644 (file)
@@ -8,6 +8,7 @@ Category: output
 Example: -OJ https://example.com/file
 Added: 7.20.0
 See-also: remote-name
+Multi: boolean
 ---
 This option tells the --remote-name option to use the server-specified
 Content-Disposition filename instead of extracting a filename from the URL. If
index 8b2db66a1e76fbbbd1d576486b794fc8808e34da..fa6a233bbfde340e7494bc985d99e46d1136f6df 100644 (file)
@@ -6,6 +6,7 @@ Added: 7.19.0
 Category: output
 Example: --remote-name-all ftp://example.com/file1 ftp://example.com/file2
 See-also: remote-name
+Multi: boolean
 ---
 This option changes the default action for all given URLs to be dealt with as
 if --remote-name were used for each one. So if you want to disable that for a
index 49a7aa319addbdda54ef7fc31cf7f80ea2cce53e..4e51b12063a549a81d5323771d1a9fea7a975a32 100644 (file)
@@ -7,6 +7,7 @@ Category: important output
 Example: -O https://example.com/filename
 Added: 4.0
 See-also: remote-name-all output-dir remote-header-name
+Multi: append
 ---
 Write output to a local file named like the remote file we get. (Only the file
 part of the remote file is used, the path is cut off.)
index 4b384c9377233a883661a3ce651dcb1e1fcda1c1..12bd8830689d445040347f0cd7142e7a49a139bc 100644 (file)
@@ -7,6 +7,7 @@ Category: output
 Example: --remote-time -o foo $URL
 Added: 7.9
 See-also: remote-name time-cond
+Multi: boolean
 ---
 When used, this will make curl attempt to figure out the timestamp of the
 remote file, and if that is available make the local file get that same
index ebde0eb06e7dcbf7dbcde833ec35cfe17b15a33e..4ac1595a9aeb322158527c6a7c290b739df74689 100644 (file)
@@ -6,6 +6,7 @@ See-also: fail
 Category: curl
 Example: --remove-on-error -o output $URL
 Added: 7.83.0
+Multi: boolean
 ---
 When curl returns an error when told to save output in a local file, this
 option removes that saved file before exiting. This prevents curl from
index 18a386d6e8392a812561f35938a4acb444ce5888..0ddcbc0b2d793ca7e8c82158fc3d18810fac1511 100644 (file)
@@ -8,6 +8,7 @@ Added: 7.55.0
 Category: http
 Example: --request-target "*" -X OPTIONS $URL
 See-also: request
+Multi: single
 ---
 Tells curl to use an alternative "target" (path) instead of using the path as
 provided in the URL. Particularly useful when wanting to issue HTTP requests
index 6d804046d19145ffd8e0c5c46a2c9db1960c1df7..c837f0987fda9ab84292dba53e6b3912f517b8a3 100644 (file)
@@ -9,6 +9,7 @@ Example: -X "DELETE" $URL
 Example: -X NLST ftp://example.com/
 Added: 6.0
 See-also: request-target
+Multi: single
 ---
 (HTTP) Specifies a custom request method to use when communicating with the
 HTTP server. The specified request method will be used instead of the method
@@ -42,5 +43,3 @@ Specifies a custom IMAP command to use instead of LIST. (Added in 7.30.0)
 
 (SMTP)
 Specifies a custom SMTP command to use instead of HELP or VRFY. (Added in 7.34.0)
-
-If this option is used several times, the last one will be used.
index eecaa78a5428cbca110aa0fe96cfe724112fe812..f5592bc75fca2008d7defd8de647ce296026d977 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.21.3
 Category: connection dns
 Example: --resolve example.com:443:127.0.0.1 $URL
 See-also: connect-to alt-svc
+Multi: append
 ---
 Provide a custom address for a specific host and port pair. Using this, you
 can make the curl requests(s) use a specified address and prevent the
index da86a42a7dc4fa16691bede66658d284908744ed..a1fb89e9dde69171092937cd392ef25d9ef4cd0d 100644 (file)
@@ -6,6 +6,7 @@ Added: 7.71.0
 Category: curl
 Example: --retry 5 --retry-all-errors $URL
 See-also: retry
+Multi: boolean
 ---
 Retry on any error. This option is used together with --retry.
 
index 7517bf7811ecd759668c302d22d159d4a9a70ccf..6916603d65ea494085aedb22d0c8763abadf39ef 100644 (file)
@@ -6,6 +6,7 @@ Added: 7.52.0
 Category: curl
 Example: --retry-connrefused --retry $URL
 See-also: retry retry-all-errors
+Multi: boolean
 ---
 In addition to the other conditions, consider ECONNREFUSED as a transient
 error too for --retry. This option is used together with --retry.
index 45b0ed9afb8298d9ab2a1b4e682eab9fd6dac30e..78d0aac2a8a4bb406774fe6477224d8947795b1e 100644 (file)
@@ -7,10 +7,9 @@ Added: 7.12.3
 Category: curl
 Example: --retry-delay 5 --retry $URL
 See-also: retry
+Multi: single
 ---
 Make curl sleep this amount of time before each retry when a transfer has
 failed with a transient error (it changes the default backoff time algorithm
 between retries). This option is only interesting if --retry is also
 used. Setting this delay to zero will make curl use the default backoff time.
-
-If this option is used several times, the last one will be used.
index 40d2421019b9d65b12652fcc9709273739c8c2ad..2e132f94604e11c21fde42229c6765a0bfaf16a1 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.12.3
 Category: curl
 Example: --retry-max-time 30 --retry 10 $URL
 See-also: retry
+Multi: single
 ---
 The retry timer is reset before the first transfer attempt. Retries will be
 done as usual (see --retry) as long as the timer has not reached this given
@@ -14,5 +15,3 @@ limit. Notice that if the timer has not reached the limit, the request will be
 made and while performing, it may take longer than this given time period. To
 limit a single request's maximum time, use --max-time. Set this option to
 zero to not timeout retries.
-
-If this option is used several times, the last one will be used.
index 1d4e01c865e02e6a3e891869a2f9c75564f6d58e..080825bf8e1dbcf1d1c2e5257831676b10681114 100644 (file)
@@ -7,6 +7,7 @@ Help: Retry request if transient problems occur
 Category: curl
 Example: --retry 7 $URL
 See-also: retry-max-time
+Multi: single
 ---
 If a transient error is returned when curl tries to perform a transfer, it
 will retry this number of times before giving up. Setting the number to 0
@@ -22,5 +23,3 @@ using --retry-delay you disable this exponential backoff algorithm. See also
 
 Since curl 7.66.0, curl will comply with the Retry-After: response header if
 one was present to know when to issue the next retry.
-
-If this option is used several times, the last one will be used.
index a1f035e012362f547555189e52ac291e34486efa..ff56ce9c27844629b545b65a92cef62b5d88b998 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.66.0
 Category: auth
 Example: --sasl-authzid zid imap://example.com/
 See-also: login-options
+Multi: single
 ---
 Use this authorization identity (authzid), during SASL PLAIN authentication,
 in addition to the authentication identity (authcid) as specified by --user.
index fb8fb8c3bc7f5aa8bbe3296b1ba1b7e01159704a..8fe3a60e26c9bca3777db227e2ffa571755f3848 100644 (file)
@@ -6,5 +6,6 @@ Added: 7.31.0
 Category: auth
 Example: --sasl-ir imap://example.com/
 See-also: sasl-authzid
+Multi: boolean
 ---
 Enable initial response in SASL authentication.
index 887a09ebcdf3d75cd776386b65f1e52092725917..0cf9cef74fc423ed97fdae0ca5d8f44b5aedf85f 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.43.0
 Category: misc
 Example: --service-name sockd/server $URL
 See-also: negotiate proxy-service-name
+Multi: single
 ---
 This option allows you to change the service name for SPNEGO.
 
index 9a5d29e5a1ca9d0817316086e05ef731079b912f..a31e07d9e7ca7db318bfa14bc5ae3a548f53ee5c 100644 (file)
@@ -7,6 +7,7 @@ See-also: no-progress-meter
 Category: curl
 Example: --show-error --silent $URL
 Added: 5.9
+Multi: boolean
 ---
 When used with --silent, it makes curl show an error message if it fails.
 
index f0a788aa38b648ca2ea8d5b0e709ba2f6ee3ba8e..b31fe5cf112970da5bb55ec93ca50df8db0282a9 100644 (file)
@@ -7,6 +7,7 @@ See-also: verbose stderr no-progress-meter
 Category: important verbose
 Example: -s $URL
 Added: 4.0
+Multi: boolean
 ---
 Silent or quiet mode. Do not show progress meter or error messages. Makes Curl
 mute. It will still output the data you ask for, potentially even to the
index 5c4f4b1b3ac8dbe587643136394df8eca663384e..c99a134e4f00d9f8bebef059137e29a132f0dfb8 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.15.2
 Category: proxy
 Example: --socks4 hostname:4096 $URL
 See-also: socks4a socks5 socks5-hostname
+Multi: single
 ---
 Use the specified SOCKS4 proxy. If the port number is not specified, it is
 assumed at port 1080. Using this socket type make curl resolve the host name
@@ -24,5 +25,3 @@ using a socks4:// protocol prefix. (Added in 7.21.7)
 Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at the same time
 --proxy is used with an HTTP/HTTPS proxy. In such a case curl first connects to
 the SOCKS proxy and then connects (through SOCKS) to the HTTP or HTTPS proxy.
-
-If this option is used several times, the last one will be used.
index 4b8c5f72b4935fd2467e86cfc1e498778a7c3760..e3afbaf6b160f630af4811af4302fdfc7004329f 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.18.0
 Category: proxy
 Example: --socks4a hostname:4096 $URL
 See-also: socks4 socks5 socks5-hostname
+Multi: single
 ---
 Use the specified SOCKS4a proxy. If the port number is not specified, it is
 assumed at port 1080. This asks the proxy to resolve the host name.
@@ -23,5 +24,3 @@ using a socks4a:// protocol prefix. (Added in 7.21.7)
 Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at the same time
 --proxy is used with an HTTP/HTTPS proxy. In such a case curl first connects to
 the SOCKS proxy and then connects (through SOCKS) to the HTTP or HTTPS proxy.
-
-If this option is used several times, the last one will be used.
index d5c1b8a62b7701cf1db01499d2b8d17183725948..1f4d5e33f8c61805735b1a63f193d54d13d35c27 100644 (file)
@@ -6,6 +6,7 @@ Added: 7.55.0
 Category: proxy auth
 Example: --socks5-basic --socks5 hostname:4096 $URL
 See-also: socks5
+Multi: mutex
 ---
 Tells curl to use username/password authentication when connecting to a SOCKS5
 proxy.  The username/password authentication is enabled by default.  Use
index 3f85b9a078231c7032da78580206c34631185a6d..bc5d317359b91411c8bf07082c5430c9663b9bba 100644 (file)
@@ -6,6 +6,7 @@ Added: 7.19.4
 Category: proxy auth
 Example: --socks5-gssapi-nec --socks5 hostname:4096 $URL
 See-also: socks5
+Multi: boolean
 ---
 As part of the GSS-API negotiation a protection mode is negotiated. RFC 1961
 says in section 4.3/4.4 it should be protected, but the NEC reference
index f092f7d269330016d2bba72abf0d065d11b38cae..218c0bf389144aa9cf09925d9aeab53fa1921c9d 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.19.4
 Category: proxy auth
 Example: --socks5-gssapi-service sockd --socks5 hostname:4096 $URL
 See-also: socks5
+Multi: single
 ---
 The default service name for a socks server is rcmd/server-fqdn. This option
 allows you to change it.
index ea2ffe557c650a074b17c487fb437412d7729b8b..3a4fda21c62dd2c5e4b3c089d7faa99bed0ab84c 100644 (file)
@@ -6,6 +6,7 @@ Added: 7.55.0
 Category: proxy auth
 Example: --socks5-gssapi --socks5 hostname:4096 $URL
 See-also: socks5
+Multi: boolean
 ---
 Tells curl to use GSS-API authentication when connecting to a SOCKS5 proxy.
 The GSS-API authentication is enabled by default (if curl is compiled with
index 04d8dbf4b50f68e062cc25d3a8a585b4faddd52f..a5781370d7018f6f8f47c057c3baac193e84f562 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.18.0
 Category: proxy
 Example: --socks5-hostname proxy.example:7000 $URL
 See-also: socks5 socks4a
+Multi: single
 ---
 Use the specified SOCKS5 proxy (and let the proxy resolve the host name). If
 the port number is not specified, it is assumed at port 1080.
@@ -23,5 +24,3 @@ This option is superfluous since you can specify a socks5 hostname proxy with
 Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at the same time
 --proxy is used with an HTTP/HTTPS proxy. In such a case curl first connects to
 the SOCKS proxy and then connects (through SOCKS) to the HTTP or HTTPS proxy.
-
-If this option is used several times, the last one will be used.
index 0959ebdc71ded173202778a56ae4174d061dd098..183b8c24d56a7fefd61ddfc400bd2c4ce86e780d 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.18.0
 Category: proxy
 Example: --socks5 proxy.example:7000 $URL
 See-also: socks5-hostname socks4a
+Multi: single
 ---
 Use the specified SOCKS5 proxy - but resolve the host name locally. If the
 port number is not specified, it is assumed at port 1080.
@@ -24,6 +25,4 @@ Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at the same time
 --proxy is used with an HTTP/HTTPS proxy. In such a case curl first connects to
 the SOCKS proxy and then connects (through SOCKS) to the HTTP or HTTPS proxy.
 
-If this option is used several times, the last one will be used.
-
 This option (as well as --socks4) does not work with IPV6, FTPS or LDAP.
index 413574357c402ed5f245d6b9c2fdd3ef023ae1bb..878ca440df065dad9d6724116873b8a4697b38f6 100644 (file)
@@ -8,9 +8,8 @@ Category: connection
 Example: --speed-limit 300 --speed-time 10 $URL
 Added: 4.7
 See-also: speed-time limit-rate max-time
+Multi: single
 ---
 If a transfer is slower than this given speed (in bytes per second) for
 speed-time seconds it gets aborted. speed-time is set with --speed-time and is
 30 if not set.
-
-If this option is used several times, the last one will be used.
index 0df150313038482fd046a38f6af08054eac59a08..1426b564805ed38ea70435e10d588e4e89704c25 100644 (file)
@@ -8,6 +8,7 @@ Category: connection
 Example: --speed-limit 300 --speed-time 10 $URL
 Added: 4.7
 See-also: speed-limit limit-rate
+Multi: single
 ---
 If a transfer runs slower than speed-limit bytes per second during a speed-time
 period, the transfer is aborted. If speed-time is used, the default
@@ -15,5 +16,3 @@ speed-limit will be 1 unless set with --speed-limit.
 
 This option controls transfers (in both directions) but will not affect slow
 connects etc. If this is a concern for you, try the --connect-timeout option.
-
-If this option is used several times, the last one will be used.
index 361fd24898b0aae525ea6add2ea289779ee71cfd..2545d07badfe891002eb5c8959bdf5d351ab3331 100644 (file)
@@ -6,6 +6,7 @@ Added: 7.25.0
 Category: tls
 Example: --ssl-allow-beast $URL
 See-also: proxy-ssl-allow-beast insecure
+Multi: boolean
 ---
 This option tells curl to not work around a security flaw in the SSL3 and
 TLS1.0 protocols known as BEAST.  If this option is not used, the SSL layer
index 8c460c09cb234f844b93580d0c1051b8cee56add..617d20a64819bf376e40903e27bd240f11606748 100644 (file)
@@ -6,6 +6,7 @@ Added: 7.77.0
 See-also: proxy-ssl-auto-client-cert
 Category: tls
 Example: --ssl-auto-client-cert $URL
+Multi: boolean
 ---
 Tell libcurl to automatically locate and use a client certificate for
 authentication, when requested by the server. This option is only supported
index 84b00923ef2e75b998dd055ae39d525477c36a77..ad036740f2f22b248023384722b472fc5700859f 100644 (file)
@@ -6,6 +6,7 @@ Added: 7.44.0
 Category: tls
 Example: --ssl-no-revoke $URL
 See-also: crlfile
+Multi: boolean
 ---
 (Schannel) This option tells curl to disable certificate revocation checks.
 WARNING: this option loosens the SSL security, and by using this flag you ask
index 8193fdd50df50a8fe5440ed3a3c0837411c27dbd..cf81fb2291013c758cd870a65501fc2cb35aff56 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.20.0
 Category: tls
 Example: --ssl-reqd ftp://example.com
 See-also: ssl insecure
+Multi: boolean
 ---
 Require SSL/TLS for the connection. Terminates the connection if the server
 does not support SSL/TLS.
index 7594783d76800819ab7ee5fdd344aece86115049..edf04cc0e130cd0c50a4ae601921447a31208cc6 100644 (file)
@@ -6,6 +6,7 @@ Added: 7.70.0
 Category: tls
 Example: --ssl-revoke-best-effort $URL
 See-also: crlfile insecure
+Multi: boolean
 ---
 (Schannel) This option tells curl to ignore certificate revocation checks when
 they failed due to missing/offline distribution points for the revocation check
index 8c25ca0362d2f90b4f76d5b5913333320e73f83c..31d46f883dd0bc259e544e60156b842f2b4bc3ce 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.20.0
 Category: tls
 Example: --ssl pop3://example.com/
 See-also: ssl-reqd insecure ciphers
+Multi: boolean
 ---
 Warning: this is considered an insecure option. Consider using --ssl-reqd
 instead to be sure curl upgrades to a secure connection.
index 0a541d0e5452479358a9f24ae0c09d1983af8468..fbda3fa1295f170d423989e69d8a370329090f04 100644 (file)
@@ -11,6 +11,7 @@ See-also: http1.1 http2
 Help: Use SSLv2
 Category: tls
 Example: --sslv2 $URL
+Multi: mutex
 ---
 This option previously asked curl to use SSLv2, but starting in curl 7.77.0
 this instruction is ignored. SSLv2 is widely considered insecure (see RFC
index ba5291029d5e58bbc5ae57998859aa5776487aa6..26f8e44b0cdb434837e75a2224db6a11970862fc 100644 (file)
@@ -11,6 +11,7 @@ See-also: http1.1 http2
 Help: Use SSLv3
 Category: tls
 Example: --sslv3 $URL
+Multi: mutex
 ---
 This option previously asked curl to use SSLv3, but starting in curl 7.77.0
 this instruction is ignored. SSLv3 is widely considered insecure (see RFC
index 274c7423fe07359307ee23be0669b9cd12e8bf98..e23f3cd145fe0e607a63d216c79a0a73571b491a 100644 (file)
@@ -7,11 +7,10 @@ See-also: verbose silent
 Category: verbose
 Example: --stderr output.txt $URL
 Added: 6.2
+Multi: single
 ---
 Redirect all writes to stderr to the specified file instead. If the file name
 is a plain '-', it is instead written to stdout.
 
 This option is global and does not need to be specified for each use of
 --next.
-
-If this option is used several times, the last one will be used.
index 2cc11e99dc3987f0d787f2c8d9e0a3394ab2fa8c..20e0114053e72790803abcf54a76aa809e98a082 100644 (file)
@@ -6,6 +6,7 @@ Added: 7.61.0
 Category: verbose
 Example: --styled-output -I $URL
 See-also: head verbose
+Multi: boolean
 ---
 Enables the automatic use of bold font styles when writing HTTP headers to the
 terminal. Use --no-styled-output to switch them off.
index 62e882050550b82d8edfdc69430e4c94de320fbf..adde2499c882d816c62eaff2ef6c1fe7e1e9c1da 100644 (file)
@@ -6,6 +6,7 @@ See-also: dump-header include proxytunnel
 Category: proxy
 Example: --suppress-connect-headers --include -x proxy $URL
 Added: 7.54.0
+Multi: boolean
 ---
 When --proxytunnel is used and a CONNECT request is made do not output proxy
 CONNECT response headers. This option is meant to be used with --dump-header or
index 36a5e2877592f175c6c78d4ebe277102974f080d..155dfed94586c389b62cb8b8e9f4ca7264b62e3d 100644 (file)
@@ -6,5 +6,6 @@ Help: Use TCP Fast Open
 Category: connection
 Example: --tcp-fastopen $URL
 See-also: false-start
+Multi: boolean
 ---
 Enable use of TCP Fast Open (RFC7413).
index a62d7f2c2e19353acbfd4d82e2c51319426b9e11..cbb0a92bae4e2bdd431cb745a7f97218bf01633a 100644 (file)
@@ -6,6 +6,7 @@ Added: 7.11.2
 Category: connection
 Example: --tcp-nodelay $URL
 See-also: no-buffer
+Multi: boolean
 ---
 Turn on the TCP_NODELAY option. See the *curl_easy_setopt(3)* man page for
 details about this option.
index 4eed7acf64bfcf4018a3914b895e4631328686d1..3e239e20f2b22039fba844992209cf2e31066fb2 100644 (file)
@@ -8,6 +8,7 @@ Category: telnet
 Example: -t TTYPE=vt100 telnet://example.com/
 Added: 7.7
 See-also: config
+Multi: append
 ---
 Pass options to the telnet protocol. Supported options are:
 
index 823f69cac0c4f4fcfebfedeefa4691a91780f793..9aaa9850df8119835138668287e411dc0981b432 100644 (file)
@@ -8,9 +8,8 @@ Added: 7.20.0
 Category: tftp
 Example: --tftp-blksize 1024 tftp://example.com/file
 See-also: tftp-no-options
+Multi: single
 ---
 Set TFTP BLKSIZE option (must be >512). This is the block size that curl will
 try to use when transferring data to or from a TFTP server. By default 512
 bytes will be used.
-
-If this option is used several times, the last one will be used.
index cdff872c37ff533485ad2faaeb4645202f5137bc..8b252bd282d8e8c5889f083643561cc44b02ab18 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.48.0
 Category: tftp
 Example: --tftp-no-options tftp://192.168.0.1/
 See-also: tftp-blksize
+Multi: boolean
 ---
 Tells curl not to send TFTP options requests.
 
index 5fde251810926bb1e68dfa8319b4bcf4a3b844fe..416b16527eee47446ada5e2ff368f5063a6a7a50 100644 (file)
@@ -11,6 +11,7 @@ Example: -z "-Wed 01 Sep 2021 12:18:00" $URL
 Example: -z file $URL
 Added: 5.8
 See-also: etag-compare remote-time
+Multi: single
 ---
 Request a file that has been modified later than the given time and date, or
 one that has been modified before that time. The <date expression> can be all
@@ -21,5 +22,3 @@ instead. See the *curl_getdate(3)* man pages for date expression details.
 Start the date expression with a dash (-) to make it request for a document
 that is older than the given date/time, default is a document that is newer
 than the specified date/time.
-
-If this option is used several times, the last one will be used.
index a195734aa3a03c5ed336663fbf4330cb172ae54d..6a7375a703abb4cbb728ef372648c2a4fe2b7a23 100644 (file)
@@ -11,6 +11,7 @@ Help: Set maximum allowed TLS version
 Category: tls
 Example: --tls-max 1.2 $URL
 Example: --tls-max 1.3 --tlsv1.2 $URL
+Multi: single
 ---
 VERSION defines maximum supported TLS version. The minimum acceptable version
 is set by tlsv1.0, tlsv1.1, tlsv1.2 or tlsv1.3.
index 01d8de5c763898e72c9783dae39ab74063b69e80..60cbfe59ae817995d201392cc8f6d33a4360a80e 100644 (file)
@@ -8,6 +8,7 @@ Category: tls
 Example: --tls13-ciphers TLS_AES_128_GCM_SHA256 $URL
 Added: 7.61.0
 See-also: ciphers curves
+Multi: single
 ---
 Specifies which cipher suites to use in the connection if it negotiates TLS
 1.3. The list of ciphers suites must specify valid ciphers. Read up on TLS 1.3
@@ -18,5 +19,3 @@ cipher suite details on this URL:
 This option is currently used only when curl is built to use OpenSSL 1.1.1 or
 later. If you are using a different SSL backend you can try setting TLS 1.3
 cipher suites by using the --ciphers option.
-
-If this option is used several times, the last one will be used.
index 239fdbe35621257b4a4b56152ce41b7abbb5b8e3..23975399493f98073479087fec8ae00cee165c15 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.21.4
 Category: tls auth
 Example: --tlsauthtype SRP $URL
 See-also: tlsuser
+Multi: single
 ---
 Set TLS authentication type. Currently, the only supported option is "SRP",
 for TLS-SRP (RFC 5054). If --tlsuser and --tlspassword are specified but
index bc6e9d4e80792a92319ccd3f48931f58bc6c04ab..053751e7fa67c0e63ea83ce5217db5f98f4cb5ad 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.21.4
 Category: tls auth
 Example: --tlspassword pwd --tlsuser user $URL
 See-also: tlsuser
+Multi: single
 ---
 Set password for use with the TLS authentication method specified with
 --tlsauthtype. Requires that --tlsuser also be set.
index 2a4f43eb78be352b0a8a5310dba10e50f03aacd6..a3f0d54cdd9956f7387ab6a55c6f5b7f7f01c91d 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.21.4
 Category: tls auth
 Example: --tlspassword pwd --tlsuser user $URL
 See-also: tlspassword
+Multi: single
 ---
 Set username for use with the TLS authentication method specified with
 --tlsauthtype. Requires that --tlspassword also is set.
index f7c70593fde94b5c8a60ab3e27ebf7991b6d2b31..f5fe3bfb0b864331fe8fa11efdfcbdc1ef66cddf 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.34.0
 Category: tls
 Example: --tlsv1.0 $URL
 See-also: tlsv1.3
+Multi: mutex
 ---
 Forces curl to use TLS version 1.0 or later when connecting to a remote TLS server.
 
index ae62dbe20f8e17c9539b08f97f83251c63de1d1b..567254d70a353dce45a2d0cdaf4079dba014d6b0 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.34.0
 Category: tls
 Example: --tlsv1.1 $URL
 See-also: tlsv1.3 tls-max
+Multi: mutex
 ---
 Forces curl to use TLS version 1.1 or later when connecting to a remote TLS server.
 
index 91b17290bac81a0b6c95d8423385da32ae4f8c39..df1b90be991e328eabc83af48d0752de66977235 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.34.0
 Category: tls
 Example: --tlsv1.2 $URL
 See-also: tlsv1.3 tls-max
+Multi: mutex
 ---
 Forces curl to use TLS version 1.2 or later when connecting to a remote TLS server.
 
index 008ca78a024a4db08e66be9507fb8d455cf1db66..d91b175d37aa8cea99c8a224658580dd69bd9eaf 100644 (file)
@@ -7,6 +7,7 @@ Added: 7.52.0
 Category: tls
 Example: --tlsv1.3 $URL
 See-also: tlsv1.2 tls-max
+Multi: mutex
 ---
 Forces curl to use TLS version 1.3 or later when connecting to a remote TLS
 server.
index 6a7afbe0076fef4c32e7e787147a24e77f088460..b958a809ec77cb5f3c20d17c9a057f66b0d1e2dd 100644 (file)
@@ -11,6 +11,7 @@ See-also: http1.1 http2
 Help: Use TLSv1.0 or greater
 Category: tls
 Example: --tlsv1 $URL
+Multi: mutex
 ---
 Tells curl to use at least TLS version 1.x when negotiating with a remote TLS
 server. That means TLS version 1.0 or higher
index 09f2988bbbe31adbd976b885d607796d56d7dde2..ca385ce53c525bbb264aa5c6b162b6e13ce2ee8c 100644 (file)
@@ -7,6 +7,7 @@ Protocols: HTTP
 Category: http
 Example: --tr-encoding $URL
 See-also: compressed
+Multi: boolean
 ---
 Request a compressed Transfer-Encoding response using one of the algorithms
 curl supports, and uncompress the data while receiving it.
index 861730d6fd1ee27ed7de64a6fa88ffbd1a5a1ee6..01484f9f647171c134cc4231410eb0c4e315c8dd 100644 (file)
@@ -8,6 +8,7 @@ Category: verbose
 Example: --trace-ascii log.txt $URL
 Added: 7.9.7
 See-also: verbose trace
+Multi: single
 ---
 Enables a full trace dump of all incoming and outgoing data, including
 descriptive information, to the given output file. Use "-" as filename to have
@@ -19,5 +20,3 @@ for untrained humans.
 
 This option is global and does not need to be specified for each use of
 --next.
-
-If this option is used several times, the last one will be used.
index 7e4cf855bd9577a36fc95deffe1dfa52bedf8c92..e769885443f060f556d9339f9aa8973a311f61eb 100644 (file)
@@ -6,6 +6,7 @@ Added: 7.14.0
 Category: verbose
 Example: --trace-time --trace-ascii output $URL
 See-also: trace verbose
+Multi: boolean
 ---
 Prepends a time stamp to each trace or verbose line that curl displays.
 
index c1e4759490570f58539e4c6965c4ac68beaf876d..2f088ecb01d2b7a950bd532b15d76b3ca38c7961 100644 (file)
@@ -8,6 +8,7 @@ Category: verbose
 Example: --trace log.txt $URL
 Added: 7.9.7
 See-also: trace-ascii trace-time
+Multi: single
 ---
 Enables a full trace dump of all incoming and outgoing data, including
 descriptive information, to the given output file. Use "-" as filename to have
@@ -16,5 +17,3 @@ stderr.
 
 This option is global and does not need to be specified for each use of
 --next.
-
-If this option is used several times, the last one will be used.
index 73c87b4bbf035510bc1fd455796c95948d8bb522..7d95a71df2fd289a7b45057263660ea3e6d9a649 100644 (file)
@@ -8,5 +8,6 @@ Protocols: HTTP
 Category: connection
 See-also: abstract-unix-socket
 Example: --unix-socket socket-path $URL
+Multi: single
 ---
 Connect through this Unix domain socket, instead of using the network.
index 239952adc6e4ef87c6a7844cf32a6e785e6571d2..3709896f65e73dfc4d42b7af7cfd9dbd304f6616 100644 (file)
@@ -10,6 +10,7 @@ Example: -T "img[1-1000].png" ftp://ftp.example.com/
 Example: --upload-file "{file1,file2}" $URL
 Added: 4.0
 See-also: get head
+Multi: append
 ---
 This transfers the specified local file to the remote URL. If there is no file
 part in the specified URL, curl will append the local file name. NOTE that you
index 7f84a0df07868524d76a405f332eee2009e950c7..5ec61b1dff567be62733ad1b55eec546b5df6a0e 100644 (file)
@@ -7,6 +7,7 @@ Category: curl
 Example: --url $URL
 Added: 7.5
 See-also: next config
+Multi: append
 ---
 Specify a URL to fetch. This option is mostly handy when you want to specify
 URL(s) in a config file.
@@ -17,8 +18,8 @@ name matches DICT, FTP, IMAP, LDAP, POP3 or SMTP then that protocol will be
 used, otherwise HTTP will be used. Since 7.45.0 guessing can be disabled by
 setting a default protocol, see --proto-default for details.
 
-This option may be used any number of times. To control where this URL is
-written, use the --output or the --remote-name options.
+To control where this URL is written, use the --output or the --remote-name
+options.
 
 **WARNING**: On Windows, particular file:// accesses can be converted to
 network accesses by the operating system. Beware!
index d27f6538cfe8d2048bfde058d4a8ccefaad72d3a..569c7c6da9b72bee5e3537a13da2ac12c07154fe 100644 (file)
@@ -8,6 +8,7 @@ Category: misc
 Example: -B ftp://example.com/README
 Added: 5.0
 See-also: crlf data-ascii
+Multi: boolean
 ---
 Enable ASCII transfer. For FTP, this can also be enforced by using a URL that
 ends with ";type=A". This option causes data sent to stdout to be in text mode
index a5854bca8ce13770499fce160937c7775ca6b998..3f2b65d1ae26891e965eb16daccfa000945c2e40 100644 (file)
@@ -9,6 +9,7 @@ Category: important http
 Example: -A "Agent 007" $URL
 Added: 4.5.1
 See-also: header proxy-header
+Multi: single
 ---
 Specify the User-Agent string to send to the HTTP server. To encode blanks in
 the string, surround the string with single quote marks. This header can also
@@ -17,5 +18,3 @@ be set with the --header or the --proxy-header options.
 If you give an empty argument to --user-agent (""), it will remove the header
 completely from the request. If you prefer a blank header, you can set it to a
 single space (" ").
-
-If this option is used several times, the last one will be used.
index 197f39f606797b1fa623bf65e317133ce4bd8134..930df83cc271621ebeddcd0be6b24e0fb13266e7 100644 (file)
@@ -8,6 +8,7 @@ Category: important auth
 Example: -u user:secret $URL
 Added: 4.0
 See-also: netrc config
+Multi: single
 ---
 Specify the user name and password to use for server authentication. Overrides
 --netrc and --netrc-optional.
@@ -41,5 +42,3 @@ If you use a Windows SSPI-enabled curl binary and perform Kerberos V5,
 Negotiate, NTLM or Digest authentication then you can tell curl to select
 the user name and password from your environment by specifying a single colon
 with this option: "-u :".
-
-If this option is used several times, the last one will be used.
index c4f5130ae33937018d1aef328ee0c8d401644882..7122f7d248d8043c3569886cc98e87be82f4c7e0 100644 (file)
@@ -8,6 +8,7 @@ See-also: include
 Category: important verbose
 Example: --verbose $URL
 Added: 4.0
+Multi: boolean
 ---
 Makes curl verbose during the operation. Useful for debugging and seeing
 what's going on "under the hood". A line starting with '>' means "header data"
index 459e85e9c19276c635f614b087a9af663f410972..032e2e2dbb3718975f84df8b1a7a196bc69ca4bd 100644 (file)
@@ -7,6 +7,7 @@ Category: important curl
 Example: --version
 Added: 4.0
 See-also: help manual
+Multi: boolean
 ---
 Displays information about curl and the libcurl version it uses.
 
index 5a436b9a15651648c0694df9bc9c79a46eafe337..8ca1746d08266d9acfd45f4fbaa4b4eaf07329c1 100644 (file)
@@ -8,6 +8,7 @@ Category: verbose
 Example: -w '%{http_code}\\n' $URL
 Added: 6.5
 See-also: verbose head
+Multi: single
 ---
 Make curl display information on stdout after a completed transfer. The format
 is a string that may contain plain text mixed with any number of
@@ -206,4 +207,3 @@ The URL that was fetched last. This is most meaningful if you have told curl
 to follow location: headers.
 .RE
 .IP
-If this option is used several times, the last one will be used.
index f8b6e498d935407a19a55b4bfc2efadd597bc419..9f1a6cf8a60425109016b61198a5eaa72be640fc 100644 (file)
@@ -6,6 +6,7 @@ Category: misc
 Example: --xattr -o storage $URL
 Added: 7.21.3
 See-also: remote-time write-out verbose
+Multi: boolean
 ---
 When saving output to a file, this option tells curl to store certain file
 metadata in extended file attributes. Currently, the URL is stored in the