tests/data: move section data to external files

To make the test files XML-compliant, and the expected results
possibly easier to manage by keeping them in `.md`, `.html`, `.1`
and `.txt` files.

Non-XML-compliant files are down to 31 (1.6%) after this patch.

Closes #19882
This commit is contained in:
Viktor Szakats 2025-12-09 01:15:29 +01:00
parent bf70031518
commit 70d71e8761
No known key found for this signature in database
GPG Key ID: B5ABD165E2AEF201
22 changed files with 547 additions and 543 deletions

View File

@ -30,4 +30,4 @@ matrix:
- 'strong'
- 'em'
sources:
- '**/*.md|!docs/BINDINGS.md|!docs/DISTROS.md|!docs/CIPHERS-TLS12.md|!docs/wcurl.md'
- '**/*.md|!docs/BINDINGS.md|!docs/DISTROS.md|!docs/CIPHERS-TLS12.md|!docs/wcurl.md|!tests/data/data*.md'

View File

@ -31,6 +31,7 @@ my @tabs = (
"Makefile\\.(am|example)\$",
"/mkfile",
"\\.sln\$",
"^tests/data/data1706-stdout.txt",
"^tests/data/test",
);

View File

@ -283,6 +283,9 @@ test3200 test3201 test3202 test3203 test3204 test3205 test3206 test3207 test3208
test3209 test3210 test3211 test3212 test3213 test3214 test3215 test3216 \
test4000 test4001
EXTRA_DIST = $(TESTCASES) DISABLED data-xml1 \
EXTRA_DIST = $(TESTCASES) DISABLED data-xml1 data320.html \
data1461.txt data1463.txt \
data1400.c data1401.c data1402.c data1403.c data1404.c data1405.c data1406.c \
data1407.c data1420.c data1465.c data1481.c
data1407.c data1420.c data1465.c data1481.c \
data1705-1.md data1705-2.md data1705-3.md data1705-4.md data1705-stdout.1 \
data1706-1.md data1706-2.md data1706-3.md data1706-4.md data1706-stdout.txt

21
tests/data/data1461.txt Normal file
View File

@ -0,0 +1,21 @@
Usage: curl [options...] <url>
-d, --data <data> HTTP POST data
-f, --fail Fail fast with no output on HTTP errors
-h, --help <subject> Get help for commands
-o, --output <file> Write to file instead of stdout
-O, --remote-name Write output to file named as remote file
-i, --show-headers Show response headers in output
-s, --silent Silent mode
-T, --upload-file <file> Transfer local FILE to destination
-u, --user <user:password> Server user and password
-A, --user-agent <name> Send User-Agent <name> to server
-v, --verbose Make the operation more talkative
-V, --version Show version number and quit
This is not the full help; this menu is split into categories.
Use "--help category" to get an overview of all categories, which are:
auth, connection, curl, deprecated, dns, file, ftp, global, http, imap, ldap,%SP
output, pop3, post, proxy, scp, sftp, smtp, ssh, telnet, tftp, timeout, tls,%SP
upload, verbose.
Use "--help all" to list all options
Use "--help [option]" to view documentation for a given option

5
tests/data/data1463.txt Normal file
View File

@ -0,0 +1,5 @@
file: FILE protocol
--create-file-mode <mode> File mode for created files
-I, --head Show document info only
-l, --list-only List only mode
-r, --range <range> Retrieve only the bytes within RANGE

11
tests/data/data1705-1.md Normal file
View File

@ -0,0 +1,11 @@
<!-- Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. -->
<!-- SPDX-License-Identifier: curl -->
# DESCRIPTION
**curl** is a tool for transferring data from or to a server using URLs. It
supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS,
IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP,
SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
curl is powered by libcurl for all transfer-related features. See
*libcurl(3)* for details.

40
tests/data/data1705-2.md Normal file
View File

@ -0,0 +1,40 @@
---
c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
SPDX-License-Identifier: curl
Short: v
Long: fakeitreal
Mutexed: trace trace-ascii
Help: Make the operation more talkative
Category: important verbose global
Added: 4.0
Multi: boolean
Scope: global
See-also:
- include
- silent
- trace
- trace-ascii
Example:
- --fakeitreal $URL
---
# `--verbose`
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 sent
by curl, \< means header data received by curl that is hidden in normal cases,
and a line starting with * means additional info provided by curl.
If you only want HTTP headers in the output, --include or --dump-header might
be more suitable options.
If you think this option still does not give you enough details, consider using
--trace or --trace-ascii instead.
Note that verbose output of curl activities and network traffic might contain
sensitive data, including usernames, credentials or secret data content. Be
aware and be careful when sharing trace logs with others.
End with a quote
hello

48
tests/data/data1705-3.md Normal file
View File

@ -0,0 +1,48 @@
---
c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
SPDX-License-Identifier: curl
Long: proto
Arg: <protocols>
Help: Enable/disable PROTOCOLS
Added: 7.20.2
Category: connection curl
Multi: single
See-also:
- fakeitreal
- proto-default
Example:
- --proto =http,https,sftp $URL
---
# `--proto`
Limit what protocols to allow for transfers. Protocols are evaluated left to
right, are comma separated, and are each a protocol name or 'all', optionally
prefixed by zero or more modifiers. Available modifiers are:
## +
Permit this protocol in addition to protocols already permitted (this is
the default if no modifier is used).
## -
Deny this protocol, removing it from the list of protocols already permitted.
## =
Permit only this protocol (ignoring the list already permitted), though
subject to later modification by subsequent entries in the comma separated
list.
##
For example: --proto -ftps uses the default protocols, but disables ftps
--proto -all,https,+http only enables http and https
--proto =http,https also only enables http and https
Unknown and disabled protocols produce a warning. This allows scripts to
safely rely on being able to disable potentially dangerous protocols, without
relying upon support for that protocol being built into curl to avoid an error.
This option can be used multiple times, in which case the effect is the same
as concatenating the protocols into one instance of the option.

22
tests/data/data1705-4.md Normal file
View File

@ -0,0 +1,22 @@
<!-- Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. -->
<!-- SPDX-License-Identifier: curl -->
# PROXY PROTOCOL PREFIXES
The proxy string may be specified with a protocol:// prefix to specify
alternative proxy protocols. (Added in 7.21.7)
If no protocol is specified in the proxy string or if the string does not
match a supported one, the proxy is treated as an HTTP proxy.
The supported proxy protocol prefixes are as follows:
## http://
Makes it use it as an HTTP proxy. The default if no scheme prefix is used.
## https://
Makes it treated as an **HTTPS** proxy.
## socks4://
Makes it the equivalent of --socks4
## socks4a://
Makes it the equivalent of --socks4a
## socks5://
Makes it the equivalent of --socks5
## socks5h://
Makes it the equivalent of --socks5-hostname

View File

@ -0,0 +1,126 @@
.\" **************************************************************************
.\" * _ _ ____ _
.\" * Project ___| | | | _ \| |
.\" * / __| | | | |_) | |
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
.\" * Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
.\" * are also available at https://curl.se/docs/copyright.html.
.\" *
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
.\" * copies of the Software, and permit persons to whom the Software is
.\" * furnished to do so, under the terms of the COPYING file.
.\" *
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
.\" * KIND, either express or implied.
.\" *
.\" * SPDX-License-Identifier: curl
.\" *
.\" **************************************************************************
.\"
.\" DO NOT EDIT. Generated by the curl project managen man page generator.
.\"
.TH curl 1 "%DATE" "curl %VERNUM" "curl Manual"
.SH DESCRIPTION
\fBcurl\fP is a tool for transferring data from or to a server using URLs. It
supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS,
IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP,
SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
curl is powered by libcurl for all transfer\-related features. See
\fIlibcurl(3)\fP for details.
.IP "\-v, \-\-fakeitreal"
Makes curl verbose during the operation. Useful for debugging and seeing
what\(aqs going on under the hood. A line starting with > means header data sent
by curl, < means header data received by curl that is hidden in normal cases,
and a line starting with * means additional info provided by curl.
If you only want HTTP headers in the output, \fI\-\-include\fP or \fI\-\-dump\-header\fP might
be more suitable options.
If you think this option still does not give you enough details, consider using
\fI\-\-trace\fP or \fI\-\-trace\-ascii\fP instead.
Note that verbose output of curl activities and network traffic might contain
sensitive data, including usernames, credentials or secret data content. Be
aware and be careful when sharing trace logs with others.
End with a quote
.nf
hello
.fi
This option is global and does not need to be specified for each use of \fI\-\-next\fP.
Providing \fI\-\-fakeitreal\fP multiple times has no extra effect.
Disable it again with \-\-no-fakeitreal.
Example:
.nf
curl --fakeitreal https://example.com
.fi
This option is mutually exclusive with \fI\-\-trace\fP and \fI\-\-trace\-ascii\fP.
See also \fI\-\-include\fP, \fI\-\-silent\fP, \fI\-\-trace\fP and \fI\-\-trace\-ascii\fP.
.IP "\-\-proto <protocols>"
Limit what protocols to allow for transfers. Protocols are evaluated left to
right, are comma separated, and are each a protocol name or \(aqall\(aq, optionally
prefixed by zero or more modifiers. Available modifiers are:
.RS
.IP +
Permit this protocol in addition to protocols already permitted (this is
the default if no modifier is used).
.IP -
Deny this protocol, removing it from the list of protocols already permitted.
.IP =
Permit only this protocol (ignoring the list already permitted), though
subject to later modification by subsequent entries in the comma separated
list.
.RE
.IP
For example: \fI\-\-proto\fP \-ftps uses the default protocols, but disables ftps
\fI\-\-proto\fP \-all,https,+http only enables http and https
\fI\-\-proto\fP =http,https also only enables http and https
Unknown and disabled protocols produce a warning. This allows scripts to
safely rely on being able to disable potentially dangerous protocols, without
relying upon support for that protocol being built into curl to avoid an error.
This option can be used multiple times, in which case the effect is the same
as concatenating the protocols into one instance of the option.
If \fI\-\-proto\fP is provided several times, the last set value is used.
Example:
.nf
curl --proto =http,https,sftp https://example.com
.fi
See also \fI\-\-fakeitreal\fP and \fI\-\-proto\-default\fP.
.SH PROXY PROTOCOL PREFIXES
The proxy string may be specified with a protocol:// prefix to specify
alternative proxy protocols.
If no protocol is specified in the proxy string or if the string does not
match a supported one, the proxy is treated as an HTTP proxy.
The supported proxy protocol prefixes are as follows:
.IP http://
Makes it use it as an HTTP proxy. The default if no scheme prefix is used.
.IP https://
Makes it treated as an \fBHTTPS\fP proxy.
.IP socks4://
Makes it the equivalent of \fI\-\-socks4\fP
.IP socks4a://
Makes it the equivalent of \fI\-\-socks4a\fP
.IP socks5://
Makes it the equivalent of \fI\-\-socks5\fP
.IP socks5h://
Makes it the equivalent of \fI\-\-socks5\-hostname\fP

11
tests/data/data1706-1.md Normal file
View File

@ -0,0 +1,11 @@
<!-- Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. -->
<!-- SPDX-License-Identifier: curl -->
# DESCRIPTION
**curl** is a tool for transferring data from or to a server using URLs. It
supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS,
IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP,
SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
curl is powered by libcurl for all transfer-related features. See
*libcurl(3)* for details.

36
tests/data/data1706-2.md Normal file
View File

@ -0,0 +1,36 @@
---
c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
SPDX-License-Identifier: curl
Short: v
Long: fakeitreal
Mutexed: trace trace-ascii
Help: Make the operation more talkative
Category: important verbose global
Added: 4.0
Multi: boolean
Scope: global
See-also:
- include
- silent
- trace
- trace-ascii
Example:
- --fakeitreal $URL
---
# `--verbose`
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 sent
by curl, \< means header data received by curl that is hidden in normal cases,
and a line starting with * means additional info provided by curl.
If you only want HTTP headers in the output, --include or --dump-header might
be more suitable options.
If you think this option still does not give you enough details, consider using
--trace or --trace-ascii instead.
Note that verbose output of curl activities and network traffic might contain
sensitive data, including usernames, credentials or secret data content. Be
aware and be careful when sharing trace logs with others.

48
tests/data/data1706-3.md Normal file
View File

@ -0,0 +1,48 @@
---
c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
SPDX-License-Identifier: curl
Long: proto
Arg: <protocols>
Help: Enable/disable PROTOCOLS
Added: 7.20.2
Category: connection curl
Multi: single
See-also:
- fakeitreal
- proto-default
Example:
- --proto =http,https,sftp $URL
---
# `--proto`
Limit what protocols to allow for transfers. Protocols are evaluated left to
right, are comma separated, and are each a protocol name or 'all', optionally
prefixed by zero or more modifiers. Available modifiers are:
## +
Permit this protocol in addition to protocols already permitted (this is
the default if no modifier is used).
## -
Deny this protocol, removing it from the list of protocols already permitted.
## =
Permit only this protocol (ignoring the list already permitted), though
subject to later modification by subsequent entries in the comma separated
list.
##
For example: --proto -ftps uses the default protocols, but disables ftps
--proto -all,https,+http only enables http and https
--proto =http,https also only enables http and https
Unknown and disabled protocols produce a warning. This allows scripts to
safely rely on being able to disable potentially dangerous protocols, without
relying upon support for that protocol being built into curl to avoid an error.
This option can be used multiple times, in which case the effect is the same
as concatenating the protocols into one instance of the option.

22
tests/data/data1706-4.md Normal file
View File

@ -0,0 +1,22 @@
<!-- Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. -->
<!-- SPDX-License-Identifier: curl -->
# PROXY PROTOCOL PREFIXES
The proxy string may be specified with a protocol:// prefix to specify
alternative proxy protocols. (Added in 7.21.7)
If no protocol is specified in the proxy string or if the string does not
match a supported one, the proxy is treated as an HTTP proxy.
The supported proxy protocol prefixes are as follows:
## http://
Makes it use it as an HTTP proxy. The default if no scheme prefix is used.
## https://
Makes it treated as an **HTTPS** proxy.
## socks4://
Makes it the equivalent of --socks4
## socks4a://
Makes it the equivalent of --socks4a
## socks5://
Makes it the equivalent of --socks5
## socks5h://
Makes it the equivalent of --socks5-hostname

View File

@ -0,0 +1,116 @@
DESCRIPTION
curl is a tool for transferring data from or to a server using URLs. It
supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP,
HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP,
SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
curl is powered by libcurl for all transfer-related features. See
libcurl(3) for details.
-v, --fakeitreal
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 sent by curl, < means header data received by
curl that is hidden in normal cases, and a line starting with *
means additional info provided by curl.
If you only want HTTP headers in the output, --include or
--dump-header might be more suitable options.
If you think this option still does not give you enough details,
consider using --trace or --trace-ascii instead.
Note that verbose output of curl activities and network traffic
might contain sensitive data, including usernames, credentials or
secret data content. Be aware and be careful when sharing trace
logs with others.
This option is global and does not need to be specified for each
use of --next. Providing --fakeitreal multiple times has no extra
effect. Disable it again with --no-fakeitreal.
Example:
curl --fakeitreal https://example.com
This option is mutually exclusive with --trace and --trace-ascii.
See also --include, --silent, --trace and --trace-ascii.
--proto <protocols>
Limit what protocols to allow for transfers. Protocols are
evaluated left to right, are comma separated, and are each a
protocol name or 'all', optionally prefixed by zero or more
modifiers. Available modifiers are:
+
Permit this protocol in addition to protocols already
permitted (this is the default if no modifier is used).
-
Deny this protocol, removing it from the list of protocols
already permitted.
=
Permit only this protocol (ignoring the list already
permitted), though subject to later modification by subsequent
entries in the comma separated list.
For example: --proto -ftps uses the default protocols, but
disables ftps
--proto -all,https,+http only enables http and https
--proto =http,https also only enables http and https
Unknown and disabled protocols produce a warning. This allows
scripts to safely rely on being able to disable potentially
dangerous protocols, without relying upon support for that
protocol being built into curl to avoid an error.
This option can be used multiple times, in which case the effect
is the same as concatenating the protocols into one instance of
the option. If --proto is provided several times, the last set
value is used.
Example:
curl --proto =http,https,sftp https://example.com
See also --fakeitreal and --proto-default.
PROXY PROTOCOL PREFIXES
The proxy string may be specified with a protocol:// prefix to specify
alternative proxy protocols.
If no protocol is specified in the proxy string or if the string does not
match a supported one, the proxy is treated as an HTTP proxy.
The supported proxy protocol prefixes are as follows:
http://
Makes it use it as an HTTP proxy. The default if no scheme prefix is
used.
https://
Makes it treated as an HTTPS proxy.
socks4://
Makes it the equivalent of --socks4
socks4a://
Makes it the equivalent of --socks4a
socks5://
Makes it the equivalent of --socks5
socks5h://
Makes it the equivalent of --socks5-hostname

20
tests/data/data320.html Normal file
View File

@ -0,0 +1,20 @@
<HTML><BODY>
<CENTER><H1>This is <a href="http://www.gnu.org/software/gnutls">GnuTLS</a></H1></CENTER>
<p>Session ID: <i>003030000100000001000000000000000030330001000000B062410001000000</i></p>
<h5>If your browser supports session resuming, then you should see the same session ID, when you press the <b>reload</b> button.</h5>
<p>Connected as user 'jsmith'.</p>
<P>
<TABLE border=1><TR><TD>Protocol version:</TD><TD>TLS1.2</TD></TR>
<TR><TD>Key Exchange:</TD><TD>SRP</TD></TR>
<TR><TD>Compression</TD><TD>NULL</TD></TR>
<TR><TD>Cipher</TD><TD>AES-NNN-CBC</TD></TR>
<TR><TD>MAC</TD><TD>SHA1</TD></TR>
<TR><TD>Ciphersuite</TD><TD>SRP_SHA_AES_NNN_CBC_SHA1</TD></TR></p></TABLE>
<hr><P>Your HTTP header was:<PRE>Host: localhost:9011%CR
User-Agent: curl-test-suite%CR
Accept: */*%CR
%CR
</PRE></P>
</BODY></HTML>

View File

@ -2,7 +2,6 @@
<info>
<keywords>
--help
notxml
</keywords>
</info>
@ -32,27 +31,7 @@ curl important --help
0
</errorcode>
<stdout mode="text">
Usage: curl [options...] <url>
-d, --data <data> HTTP POST data
-f, --fail Fail fast with no output on HTTP errors
-h, --help <subject> Get help for commands
-o, --output <file> Write to file instead of stdout
-O, --remote-name Write output to file named as remote file
-i, --show-headers Show response headers in output
-s, --silent Silent mode
-T, --upload-file <file> Transfer local FILE to destination
-u, --user <user:password> Server user and password
-A, --user-agent <name> Send User-Agent <name> to server
-v, --verbose Make the operation more talkative
-V, --version Show version number and quit
This is not the full help; this menu is split into categories.
Use "--help category" to get an overview of all categories, which are:
auth, connection, curl, deprecated, dns, file, ftp, global, http, imap, ldap,%SP
output, pop3, post, proxy, scp, sftp, smtp, ssh, telnet, tftp, timeout, tls,%SP
upload, verbose.
Use "--help all" to list all options
Use "--help [option]" to view documentation for a given option
%includetext %SRCDIR/data/data%TESTNUMBER.txt%
</stdout>
</verify>
</testcase>

View File

@ -3,7 +3,6 @@
<keywords>
FILE
--help
notxml
</keywords>
</info>
@ -33,11 +32,7 @@ curl file category --help
0
</errorcode>
<stdout mode="text">
file: FILE protocol
--create-file-mode <mode> File mode for created files
-I, --head Show document info only
-l, --list-only List only mode
-r, --range <range> Retrieve only the bytes within RANGE
%includetext %SRCDIR/data/data%TESTNUMBER.txt%
</stdout>
</verify>
</testcase>

View File

@ -33,11 +33,7 @@ curl file category --help with lower/upper mix
0
</errorcode>
<stdout mode="text">
file: FILE protocol
--create-file-mode <mode> File mode for created files
-I, --head Show document info only
-l, --list-only List only mode
-r, --range <range> Retrieve only the bytes within RANGE
%includetext %SRCDIR/data/data1463.txt%
</stdout>
</verify>
</testcase>

View File

@ -4,7 +4,6 @@
script
documentation
managen
notxml
</keywords>
</info>
@ -23,133 +22,16 @@ _footer.md
</file>
<file1 name="%LOGDIR/_header.md">
<!-- Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. -->
<!-- SPDX-License-Identifier: curl -->
# DESCRIPTION
**curl** is a tool for transferring data from or to a server using URLs. It
supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS,
IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP,
SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
curl is powered by libcurl for all transfer-related features. See
*libcurl(3)* for details.
%includetext %SRCDIR/data/data%TESTNUMBER-1.md%
</file1>
<file2 name="%LOGDIR/option1.md">
---
c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
SPDX-License-Identifier: curl
Short: v
Long: fakeitreal
Mutexed: trace trace-ascii
Help: Make the operation more talkative
Category: important verbose global
Added: 4.0
Multi: boolean
Scope: global
See-also:
- include
- silent
- trace
- trace-ascii
Example:
- --fakeitreal $URL
---
# `--verbose`
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 sent
by curl, \< means header data received by curl that is hidden in normal cases,
and a line starting with * means additional info provided by curl.
If you only want HTTP headers in the output, --include or --dump-header might
be more suitable options.
If you think this option still does not give you enough details, consider using
--trace or --trace-ascii instead.
Note that verbose output of curl activities and network traffic might contain
sensitive data, including usernames, credentials or secret data content. Be
aware and be careful when sharing trace logs with others.
End with a quote
hello
%includetext %SRCDIR/data/data%TESTNUMBER-2.md%
</file2>
<file3 name="%LOGDIR/option2.md">
---
c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
SPDX-License-Identifier: curl
Long: proto
Arg: <protocols>
Help: Enable/disable PROTOCOLS
Added: 7.20.2
Category: connection curl
Multi: single
See-also:
- fakeitreal
- proto-default
Example:
- --proto =http,https,sftp $URL
---
# `--proto`
Limit what protocols to allow for transfers. Protocols are evaluated left to
right, are comma separated, and are each a protocol name or 'all', optionally
prefixed by zero or more modifiers. Available modifiers are:
## +
Permit this protocol in addition to protocols already permitted (this is
the default if no modifier is used).
## -
Deny this protocol, removing it from the list of protocols already permitted.
## =
Permit only this protocol (ignoring the list already permitted), though
subject to later modification by subsequent entries in the comma separated
list.
##
For example: --proto -ftps uses the default protocols, but disables ftps
--proto -all,https,+http only enables http and https
--proto =http,https also only enables http and https
Unknown and disabled protocols produce a warning. This allows scripts to
safely rely on being able to disable potentially dangerous protocols, without
relying upon support for that protocol being built into curl to avoid an error.
This option can be used multiple times, in which case the effect is the same
as concatenating the protocols into one instance of the option.
%includetext %SRCDIR/data/data%TESTNUMBER-3.md%
</file3>
<file4 name="%LOGDIR/_footer.md">
<!-- Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. -->
<!-- SPDX-License-Identifier: curl -->
# PROXY PROTOCOL PREFIXES
The proxy string may be specified with a protocol:// prefix to specify
alternative proxy protocols. (Added in 7.21.7)
If no protocol is specified in the proxy string or if the string does not
match a supported one, the proxy is treated as an HTTP proxy.
The supported proxy protocol prefixes are as follows:
## http://
Makes it use it as an HTTP proxy. The default if no scheme prefix is used.
## https://
Makes it treated as an **HTTPS** proxy.
## socks4://
Makes it the equivalent of --socks4
## socks4a://
Makes it the equivalent of --socks4a
## socks5://
Makes it the equivalent of --socks5
## socks5h://
Makes it the equivalent of --socks5-hostname
%includetext %SRCDIR/data/data%TESTNUMBER-4.md%
</file4>
<command type="perl">
@ -168,132 +50,7 @@ WARN: option1.md mutexes a non-existing option: trace-ascii
option2.md:15:1:WARN: see-also a non-existing option: proto-default
</stderr>
<stdout>
.\" **************************************************************************
.\" * _ _ ____ _
.\" * Project ___| | | | _ \| |
.\" * / __| | | | |_) | |
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
.\" * Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
.\" * are also available at https://curl.se/docs/copyright.html.
.\" *
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
.\" * copies of the Software, and permit persons to whom the Software is
.\" * furnished to do so, under the terms of the COPYING file.
.\" *
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
.\" * KIND, either express or implied.
.\" *
.\" * SPDX-License-Identifier: curl
.\" *
.\" **************************************************************************
.\"
.\" DO NOT EDIT. Generated by the curl project managen man page generator.
.\"
.TH curl 1 "%DATE" "curl %VERNUM" "curl Manual"
.SH DESCRIPTION
\fBcurl\fP is a tool for transferring data from or to a server using URLs. It
supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS,
IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP,
SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
curl is powered by libcurl for all transfer\-related features. See
\fIlibcurl(3)\fP for details.
.IP "\-v, \-\-fakeitreal"
Makes curl verbose during the operation. Useful for debugging and seeing
what\(aqs going on under the hood. A line starting with > means header data sent
by curl, < means header data received by curl that is hidden in normal cases,
and a line starting with * means additional info provided by curl.
If you only want HTTP headers in the output, \fI\-\-include\fP or \fI\-\-dump\-header\fP might
be more suitable options.
If you think this option still does not give you enough details, consider using
\fI\-\-trace\fP or \fI\-\-trace\-ascii\fP instead.
Note that verbose output of curl activities and network traffic might contain
sensitive data, including usernames, credentials or secret data content. Be
aware and be careful when sharing trace logs with others.
End with a quote
.nf
hello
.fi
This option is global and does not need to be specified for each use of \fI\-\-next\fP.
Providing \fI\-\-fakeitreal\fP multiple times has no extra effect.
Disable it again with \-\-no-fakeitreal.
Example:
.nf
curl --fakeitreal https://example.com
.fi
This option is mutually exclusive with \fI\-\-trace\fP and \fI\-\-trace\-ascii\fP.
See also \fI\-\-include\fP, \fI\-\-silent\fP, \fI\-\-trace\fP and \fI\-\-trace\-ascii\fP.
.IP "\-\-proto <protocols>"
Limit what protocols to allow for transfers. Protocols are evaluated left to
right, are comma separated, and are each a protocol name or \(aqall\(aq, optionally
prefixed by zero or more modifiers. Available modifiers are:
.RS
.IP +
Permit this protocol in addition to protocols already permitted (this is
the default if no modifier is used).
.IP -
Deny this protocol, removing it from the list of protocols already permitted.
.IP =
Permit only this protocol (ignoring the list already permitted), though
subject to later modification by subsequent entries in the comma separated
list.
.RE
.IP
For example: \fI\-\-proto\fP \-ftps uses the default protocols, but disables ftps
\fI\-\-proto\fP \-all,https,+http only enables http and https
\fI\-\-proto\fP =http,https also only enables http and https
Unknown and disabled protocols produce a warning. This allows scripts to
safely rely on being able to disable potentially dangerous protocols, without
relying upon support for that protocol being built into curl to avoid an error.
This option can be used multiple times, in which case the effect is the same
as concatenating the protocols into one instance of the option.
If \fI\-\-proto\fP is provided several times, the last set value is used.
Example:
.nf
curl --proto =http,https,sftp https://example.com
.fi
See also \fI\-\-fakeitreal\fP and \fI\-\-proto\-default\fP.
.SH PROXY PROTOCOL PREFIXES
The proxy string may be specified with a protocol:// prefix to specify
alternative proxy protocols.
If no protocol is specified in the proxy string or if the string does not
match a supported one, the proxy is treated as an HTTP proxy.
The supported proxy protocol prefixes are as follows:
.IP http://
Makes it use it as an HTTP proxy. The default if no scheme prefix is used.
.IP https://
Makes it treated as an \fBHTTPS\fP proxy.
.IP socks4://
Makes it the equivalent of \fI\-\-socks4\fP
.IP socks4a://
Makes it the equivalent of \fI\-\-socks4a\fP
.IP socks5://
Makes it the equivalent of \fI\-\-socks5\fP
.IP socks5h://
Makes it the equivalent of \fI\-\-socks5\-hostname\fP
%includetext %SRCDIR/data/data%TESTNUMBER-stdout.1%
</stdout>
</verify>

View File

@ -4,7 +4,6 @@
script
documentation
managen
notxml
</keywords>
</info>
@ -23,129 +22,16 @@ _footer.md
</file>
<file1 name="%LOGDIR/_header.md">
<!-- Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. -->
<!-- SPDX-License-Identifier: curl -->
# DESCRIPTION
**curl** is a tool for transferring data from or to a server using URLs. It
supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS,
IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP,
SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
curl is powered by libcurl for all transfer-related features. See
*libcurl(3)* for details.
%includetext %SRCDIR/data/data%TESTNUMBER-1.md%
</file1>
<file2 name="%LOGDIR/option1.md">
---
c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
SPDX-License-Identifier: curl
Short: v
Long: fakeitreal
Mutexed: trace trace-ascii
Help: Make the operation more talkative
Category: important verbose global
Added: 4.0
Multi: boolean
Scope: global
See-also:
- include
- silent
- trace
- trace-ascii
Example:
- --fakeitreal $URL
---
# `--verbose`
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 sent
by curl, \< means header data received by curl that is hidden in normal cases,
and a line starting with * means additional info provided by curl.
If you only want HTTP headers in the output, --include or --dump-header might
be more suitable options.
If you think this option still does not give you enough details, consider using
--trace or --trace-ascii instead.
Note that verbose output of curl activities and network traffic might contain
sensitive data, including usernames, credentials or secret data content. Be
aware and be careful when sharing trace logs with others.
%includetext %SRCDIR/data/data%TESTNUMBER-2.md%
</file2>
<file3 name="%LOGDIR/option2.md">
---
c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
SPDX-License-Identifier: curl
Long: proto
Arg: <protocols>
Help: Enable/disable PROTOCOLS
Added: 7.20.2
Category: connection curl
Multi: single
See-also:
- fakeitreal
- proto-default
Example:
- --proto =http,https,sftp $URL
---
# `--proto`
Limit what protocols to allow for transfers. Protocols are evaluated left to
right, are comma separated, and are each a protocol name or 'all', optionally
prefixed by zero or more modifiers. Available modifiers are:
## +
Permit this protocol in addition to protocols already permitted (this is
the default if no modifier is used).
## -
Deny this protocol, removing it from the list of protocols already permitted.
## =
Permit only this protocol (ignoring the list already permitted), though
subject to later modification by subsequent entries in the comma separated
list.
##
For example: --proto -ftps uses the default protocols, but disables ftps
--proto -all,https,+http only enables http and https
--proto =http,https also only enables http and https
Unknown and disabled protocols produce a warning. This allows scripts to
safely rely on being able to disable potentially dangerous protocols, without
relying upon support for that protocol being built into curl to avoid an error.
This option can be used multiple times, in which case the effect is the same
as concatenating the protocols into one instance of the option.
%includetext %SRCDIR/data/data%TESTNUMBER-3.md%
</file3>
<file4 name="%LOGDIR/_footer.md">
<!-- Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. -->
<!-- SPDX-License-Identifier: curl -->
# PROXY PROTOCOL PREFIXES
The proxy string may be specified with a protocol:// prefix to specify
alternative proxy protocols. (Added in 7.21.7)
If no protocol is specified in the proxy string or if the string does not
match a supported one, the proxy is treated as an HTTP proxy.
The supported proxy protocol prefixes are as follows:
## http://
Makes it use it as an HTTP proxy. The default if no scheme prefix is used.
## https://
Makes it treated as an **HTTPS** proxy.
## socks4://
Makes it the equivalent of --socks4
## socks4a://
Makes it the equivalent of --socks4a
## socks5://
Makes it the equivalent of --socks5
## socks5h://
Makes it the equivalent of --socks5-hostname
%includetext %SRCDIR/data/data%TESTNUMBER-4.md%
</file4>
<command type="perl">
@ -164,122 +50,7 @@ WARN: option1.md mutexes a non-existing option: trace-ascii
option2.md:15:1:WARN: see-also a non-existing option: proto-default
</stderr>
<stdout>
DESCRIPTION
curl is a tool for transferring data from or to a server using URLs. It
supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP,
HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP,
SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
curl is powered by libcurl for all transfer-related features. See
libcurl(3) for details.
-v, --fakeitreal
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 sent by curl, < means header data received by
curl that is hidden in normal cases, and a line starting with *
means additional info provided by curl.
If you only want HTTP headers in the output, --include or
--dump-header might be more suitable options.
If you think this option still does not give you enough details,
consider using --trace or --trace-ascii instead.
Note that verbose output of curl activities and network traffic
might contain sensitive data, including usernames, credentials or
secret data content. Be aware and be careful when sharing trace
logs with others.
This option is global and does not need to be specified for each
use of --next. Providing --fakeitreal multiple times has no extra
effect. Disable it again with --no-fakeitreal.
Example:
curl --fakeitreal https://example.com
This option is mutually exclusive with --trace and --trace-ascii.
See also --include, --silent, --trace and --trace-ascii.
--proto <protocols>
Limit what protocols to allow for transfers. Protocols are
evaluated left to right, are comma separated, and are each a
protocol name or 'all', optionally prefixed by zero or more
modifiers. Available modifiers are:
+
Permit this protocol in addition to protocols already
permitted (this is the default if no modifier is used).
-
Deny this protocol, removing it from the list of protocols
already permitted.
=
Permit only this protocol (ignoring the list already
permitted), though subject to later modification by subsequent
entries in the comma separated list.
For example: --proto -ftps uses the default protocols, but
disables ftps
--proto -all,https,+http only enables http and https
--proto =http,https also only enables http and https
Unknown and disabled protocols produce a warning. This allows
scripts to safely rely on being able to disable potentially
dangerous protocols, without relying upon support for that
protocol being built into curl to avoid an error.
This option can be used multiple times, in which case the effect
is the same as concatenating the protocols into one instance of
the option. If --proto is provided several times, the last set
value is used.
Example:
curl --proto =http,https,sftp https://example.com
See also --fakeitreal and --proto-default.
PROXY PROTOCOL PREFIXES
The proxy string may be specified with a protocol:// prefix to specify
alternative proxy protocols.
If no protocol is specified in the proxy string or if the string does not
match a supported one, the proxy is treated as an HTTP proxy.
The supported proxy protocol prefixes are as follows:
http://
Makes it use it as an HTTP proxy. The default if no scheme prefix is
used.
https://
Makes it treated as an HTTPS proxy.
socks4://
Makes it the equivalent of --socks4
socks4a://
Makes it the equivalent of --socks4a
socks5://
Makes it the equivalent of --socks5
socks5h://
Makes it the equivalent of --socks5-hostname
%includetext %SRCDIR/data/data%TESTNUMBER-stdout.txt%
</stdout>
</verify>

View File

@ -11,31 +11,7 @@ notxml
# Server-side
<reply>
<data nocheck="yes">
HTTP/1.0 200 OK%CR
Content-type: text/html%CR
%CR
<HTML><BODY>
<CENTER><H1>This is <a href="http://www.gnu.org/software/gnutls">GnuTLS</a></H1></CENTER>
<p>Session ID: <i>003030000100000001000000000000000030330001000000B062410001000000</i></p>
<h5>If your browser supports session resuming, then you should see the same session ID, when you press the <b>reload</b> button.</h5>
<p>Connected as user 'jsmith'.</p>
<P>
<TABLE border=1><TR><TD>Protocol version:</TD><TD>TLS1.2</TD></TR>
<TR><TD>Key Exchange:</TD><TD>SRP</TD></TR>
<TR><TD>Compression</TD><TD>NULL</TD></TR>
<TR><TD>Cipher</TD><TD>AES-NNN-CBC</TD></TR>
<TR><TD>MAC</TD><TD>SHA1</TD></TR>
<TR><TD>Ciphersuite</TD><TD>SRP_SHA_AES_NNN_CBC_SHA1</TD></TR></p></TABLE>
<hr><P>Your HTTP header was:<PRE>Host: localhost:9011%CR
User-Agent: curl-test-suite%CR
Accept: */*%CR
%CR
</PRE></P>
</BODY></HTML>
%includetext %SRCDIR/data/data%TESTNUMBER.html%
</data>
</reply>