<server>
http
</server>
- <name>
+<name>
HTTP GET
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
simple HTTP PUT from file
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -T %LOGDIR/test%TESTNUMBER.txt
</command>
<file name="%LOGDIR/test%TESTNUMBER.txt">
<server>
ftp
</server>
- <name>
+<name>
FTP dir list PASV
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/test-%TESTNUMBER/
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP dir list PASV with -I
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER/ -I
</command>
</client>
crypto
proxy
</features>
- <name>
+<name>
HTTP POST --digest with PUT and resumed upload and modified method
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u auser:apasswd --digest -T %LOGDIR/%TESTNUMBER -x http://%HOSTIP:%HTTPPORT -C 2 -X GET
</command>
<file name="%LOGDIR/%TESTNUMBER">
crypto
proxy
</features>
- <name>
+<name>
HTTP PUT with Digest auth, resumed upload and modified method, twice
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER.upload1 -T %LOGDIR/%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER.upload2 -T %LOGDIR/%TESTNUMBER -u auser:apasswd --digest -x http://%HOSTIP:%HTTPPORT -C 2 -X GET
</command>
<file name="%LOGDIR/%TESTNUMBER">
<server>
ftp
</server>
- <name>
+<name>
FTP with excessively large server command response line
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/path/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with empty proxy
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --proxy ""
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP with excessively large number of server command response lines
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/path/%TESTNUMBER
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP with excessively large number of server command response lines (boundary condition)
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/path/%TESTNUMBER
</command>
</client>
<server>
tftp
</server>
- <name>
+<name>
TFTP send with invalid permission on server
- </name>
- <command>
+</name>
+<command>
-T %LOGDIR/test%TESTNUMBER.txt tftp://%HOSTIP:%TFTPPORT//invalid-file -sS
</command>
<file name="%LOGDIR/test%TESTNUMBER.txt">
<server>
tftp
</server>
- <name>
+<name>
TFTP retrieve with --local-port
- </name>
- <command>
+</name>
+<command>
tftp://%HOSTIP:%TFTPPORT//%TESTNUMBER --local-port 44444-45444
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP dir list, PORT with specified IP
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/ -P %CLIENTIP
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP dir list nocwd
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT//list/this/path/%TESTNUMBER/ ftp://%HOSTIP:%FTPPORT//list/this/path/%TESTNUMBER/ --ftp-method nocwd
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP POST with 301 redirect
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/blah/%TESTNUMBER -L -d "moo"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP POST with 301 redirect and --post301
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/blah/%TESTNUMBER -L -d "moo" --post301
</command>
</client>
<server>
none
</server>
- <name>
+<name>
Compare curl --version with curl-config --protocols
- </name>
- <command>
+</name>
+<command>
--version
</command>
<postcheck>
<server>
none
</server>
- <name>
+<name>
Compare curl --version with curl-config --features
- </name>
- <command>
+</name>
+<command>
--version
</command>
<postcheck>
<server>
http
</server>
- <name>
+<name>
--data-urlencode
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@%LOGDIR/%TESTNUMBER.txt" --data-urlencode @%LOGDIR/%TESTNUMBER.txt
</command>
<file name="%LOGDIR/%TESTNUMBER.txt">
<features>
file
</features>
- <name>
+<name>
X-Y range on a file:// URL to stdout
- </name>
+</name>
<command option="no-include">
-r 1-4 file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt
</command>
<features>
file
</features>
- <name>
+<name>
0-Y range on a file:// URL to stdout
- </name>
+</name>
<command option="no-include">
-r 0-3 file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt
</command>
<features>
file
</features>
- <name>
+<name>
X-X range on a file:// URL to stdout
- </name>
+</name>
<command option="no-include">
-r 4-4 file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt
</command>
<features>
file
</features>
- <name>
+<name>
X- range on a file:// URL to stdout
- </name>
+</name>
<command option="no-include">
-r 7- file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt
</command>
<server>
ftp
</server>
- <name>
+<name>
FTP RETR PASV
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
<features>
file
</features>
- <name>
+<name>
-Y range on a file:// URL to stdout
- </name>
+</name>
<command option="no-include">
-r -9 file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt
</command>
<server>
none
</server>
- <name>
+<name>
Compare curl --version with curl-config --version
- </name>
- <command>
+</name>
+<command>
--version
</command>
<postcheck>
<server>
none
</server>
- <name>
+<name>
Compare curl --version with curl-config --vernum
- </name>
- <command>
+</name>
+<command>
--version
</command>
<postcheck>
<server>
http
</server>
- <name>
+<name>
HTTP Location: following with cookies
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -L -c %LOGDIR/jar%TESTNUMBER
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP Location: following with command-line and server cookies
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -L -c %LOGDIR/jar%TESTNUMBER -b forcedcookie=yes
</command>
<features>
<server>
none
</server>
- <name>
+<name>
curl --manual
- </name>
- <command>
+</name>
+<command>
--manual
</command>
# Search for these two sentinel lines in the manual output; if they are found,
<server>
none
</server>
- <name>
+<name>
curl --help
- </name>
- <command>
+</name>
+<command>
--help
</command>
# Search for these two sentinel lines in the help output; if they are found,
http
ftp
</server>
- <name>
+<name>
HTTP Location: redirect to FTP URL
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001 -L
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP Location: and 'redirect_url' check
- </name>
+</name>
<command>
http://%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER -w '%{redirect_url} %{url} %{exitcode} %{errormsg}\n'
</command>
<server>
ftp
</server>
- <name>
+<name>
FTP RETR PORT with CWD
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/a/path/%TESTNUMBER -P -
</command>
</client>
!SSPI
crypto
</features>
- <name>
+<name>
HTTP PUT with --anyauth authorization (picking Digest)
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -T %LOGDIR/put%TESTNUMBER -u testuser:testpass --anyauth
</command>
<file name="%LOGDIR/put%TESTNUMBER">
<server>
http
</server>
- <name>
+<name>
HTTP Location: following to a query string
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/this/%TESTNUMBER -L
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP HEAD with --range
- </name>
- <command>
+</name>
+<command>
--range 1-3 --head http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with 102 response!
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<precheck>
perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");'
</precheck>
- <name>
+<name>
HTTP over proxy with malformatted IDN host name
- </name>
+</name>
# This host name contains an invalid UTF-8 byte sequence that can't be
# converted into an IDN name
<stdin>
url = "http://invalid-utf8-â\90.local/page/%TESTNUMBER"
</stdin>
- <command>
+<command>
-K - -x %HOSTIP:%NOLISTENPORT
</command>
</client>
<precheck>
perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");'
</precheck>
- <name>
+<name>
HTTP over proxy with too long IDN host name
- </name>
- <command>
+</name>
+<command>
http://too-long-IDN-name-cürl-rüles-la-la-la-dee-da-flooby-nooby.local/page/%TESTNUMBER -x %HOSTIP:%NOLISTENPORT
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP download resume from end of file
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -C -
</command>
<file name="%LOGDIR/curl%TESTNUMBER.out">
<server>
ftp
</server>
- <name>
+<name>
FTP download resume from end of empty file
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -C -
</command>
<file name="%LOGDIR/curl%TESTNUMBER.out">
<server>
ftp
</server>
- <name>
+<name>
FTP PASV upload resume from end of file
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -T %LOGDIR/upload%TESTNUMBER -C -
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
<server>
ftp
</server>
- <name>
+<name>
FTP PASV upload resume from end of empty file
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -T %LOGDIR/upload%TESTNUMBER -C -
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
<server>
ftp
</server>
- <name>
+<name>
FTP --head to get file size only
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/a/path/%TESTNUMBER --head
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with resume from end of entirely-downloaded file
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -C -
</command>
<file name="%LOGDIR/curl%TESTNUMBER.out">
<server>
http
</server>
- <name>
+<name>
HTTP PUT with resume from end of already-uploaded file
- </name>
+</name>
<file name="%LOGDIR/test%TESTNUMBER.txt">
012345678
012345678
012345678
012345678
</file>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -T%LOGDIR/test%TESTNUMBER.txt -C -
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET beyond end of entirely-downloaded file, no server resume
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -C 200
</command>
<file name="%LOGDIR/curl%TESTNUMBER.out">
<server>
http
</server>
- <name>
+<name>
HTTP GET with resume from end of file
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -C -
</command>
<file name="%LOGDIR/curl%TESTNUMBER.out">
<server>
ftp
</server>
- <name>
+<name>
FTP download large file info with -I
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/blalbla/%TESTNUMBER -I
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with numeric localhost --interface
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --interface %CLIENTIP
</command>
</client>
<server>
http-ipv6
</server>
- <name>
+<name>
HTTP-IPv6 GET with numeric localhost --interface
- </name>
- <command>
+</name>
+<command>
-g "http://%HOST6IP:%HTTP6PORT/%TESTNUMBER" --interface ::1
</command>
# --interface doesn't accept an address surrounded by [] so %CLIENT6IP is out
<server>
ftp
</server>
- <name>
+<name>
FTP dir list PASV with localhost --interface
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/ --interface %CLIENTIP
</command>
</client>
<server>
ftp-ipv6
</server>
- <name>
+<name>
FTP-IPv6 dir list PASV with localhost --interface
- </name>
- <command>
+</name>
+<command>
-g "ftp://%HOST6IP:%FTP6PORT/" --interface ::1
</command>
# --interface doesn't accept an address surrounded by [] so %CLIENT6IP is out
<server>
tftp
</server>
- <name>
+<name>
TFTP retrieve with localhost --interface
- </name>
- <command>
+</name>
+<command>
tftp://%HOSTIP:%TFTPPORT//%TESTNUMBER --interface %CLIENTIP
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP user+password in URL and ASCII transfer
- </name>
- <command>
+</name>
+<command>
ftp://userdude:passfellow@%HOSTIP:%FTPPORT/%TESTNUMBER --use-ascii
</command>
</client>
<server>
ftp-ipv6
</server>
- <name>
+<name>
FTP-IPv6 dir list, EPRT with specified IP
- </name>
- <command>
+</name>
+<command>
-g "ftp://%HOST6IP:%FTP6PORT/" -P ::1
</command>
# --interface doesn't accept an address surrounded by [] so %CLIENT6IP is out
<server>
http
</server>
- <name>
+<name>
HTTP PUT with Location: following
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -L -T %LOGDIR/test%TESTNUMBER.txt
</command>
<file name="%LOGDIR/test%TESTNUMBER.txt">
<server>
http
</server>
- <name>
+<name>
HTTP 1.0 PUT with Location: following
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -0 -L -T %LOGDIR/test%TESTNUMBER.txt
</command>
<file name="%LOGDIR/test%TESTNUMBER.txt">
<server>
http
</server>
- <name>
+<name>
HTTP RFC1867-type formposting from file with Location: following
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -L -F name=daniel -F tool=curl -F file=@%LOGDIR/test%TESTNUMBER.txt
</command>
# We create this file before the command is invoked!
<server>
http
</server>
- <name>
+<name>
HTTP POST from file with 301 redirect and --post301
- </name>
+</name>
<file name="%LOGDIR/test%TESTNUMBER.txt">
field=data
</file>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/blah/%TESTNUMBER -L -d @%LOGDIR/test%TESTNUMBER.txt --post301
</command>
</client>
http
ftp
</server>
- <name>
+<name>
HTTP PUT Location: redirect to FTP URL
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -L -T %LOGDIR/test%TESTNUMBER.txt
</command>
<file name="%LOGDIR/test%TESTNUMBER.txt">
http
http-ipv6
</server>
- <name>
+<name>
HTTP follow redirect from IPv4 to IPv6 with scope
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/are/all/twits/%TESTNUMBER -L
</command>
<precheck>
<server>
ftp
</server>
- <name>
+<name>
FTP retrieve a byte-range relative to end of file
- </name>
- <command>
+</name>
+<command>
-r -12 ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP range relative to end of file
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -r -101
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP CONNECT with proxytunnel to unsupported FTP URL
- </name>
- <command>
+</name>
+<command>
ftp://test-number:%TESTNUMBER/wanted/page -p -x %HOSTIP:%HTTPPORT
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP GET with type=A style ASCII URL using %20 codes
- </name>
- <command>
+</name>
+<command>
"ftp://%HOSTIP:%FTPPORT//path%20with%20%20spaces//and%20things2/%TESTNUMBER;type=A"
</command>
</client>
crypto
proxy
</features>
- <name>
+<name>
HTTP proxy CONNECT auth Digest, large headers and data
- </name>
- <command>
+</name>
+<command>
http://test.remote.haxx.se.%TESTNUMBER:8990/path/%TESTNUMBER0002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-digest --proxytunnel
</command>
</client>
crypto
proxy
</features>
- <name>
+<name>
HTTP proxy CONNECT auth Digest, large headers and chunked data
- </name>
- <command>
+</name>
+<command>
http://test.remote.haxx.se.%TESTNUMBER:8990/path/%TESTNUMBER0002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-digest --proxytunnel
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP with excessively long server command response lines, boundary condition
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/path/%TESTNUMBER
</command>
</client>
file
large_file
</features>
- <name>
+<name>
Invalid large X- range on a file://
- </name>
+</name>
# This range value is 2**32+7, which will be truncated to the valid value 7
# if the large file support is not working correctly
- <command>
+<command>
-r 4294967303- file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt
</command>
<file name="%LOGDIR/test%TESTNUMBER.txt">
<server>
http
</server>
- <name>
+<name>
HTTP PUT twice
- </name>
- <command>
+</name>
+<command>
-H "Expect:" -T %LOGDIR/%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER.upload1 -T %LOGDIR/%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER0002.upload2
</command>
<file name="%LOGDIR/%TESTNUMBER">
<server>
http
</server>
- <name>
+<name>
HTTP PUT with one file but two URLs
- </name>
- <command>
+</name>
+<command>
-H "Expect:" -T %LOGDIR/%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER.upload1 http://%HOSTIP:%HTTPPORT/%TESTNUMBER0002.url2
</command>
<file name="%LOGDIR/%TESTNUMBER">
<server>
http
</server>
- <name>
+<name>
HTTP --dump-header - with two URLs
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER0001 --dump-header -
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP Location: following with auto-referer
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER --silent --location --referer "firstone.html;auto" --write-out "%{stderr}|%{referer}|"
</command>
</client>
<name>
HTTP PUT from stdin
</name>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/bzz/%TESTNUMBER -T -
</command>
<stdin>
<name>
HTTP 1.0 PUT from stdin with no content length
</name>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/bzz/%TESTNUMBER -T - -0
</command>
<stdin>
<server>
ftp
</server>
- <name>
+<name>
FTP PASV upload file
- </name>
+</name>
<file name="%LOGDIR/test%TESTNUMBER.txt">
data
to
works
so does it?
</file>
- <command>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -T %LOGDIR/test%TESTNUMBER.txt
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP POST with server closing connection before (all) data is received
- </name>
- <command>
+</name>
+<command>
-d @%LOGDIR/input%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER -H "Expect: 100-continue"
</command>
<file name="%LOGDIR/input%TESTNUMBER">
!SSPI
crypto
</features>
- <name>
+<name>
Downgraded HTTP PUT to HTTP 1.0 with authorization
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -T %LOGDIR/put%TESTNUMBER -u testuser:testpass --anyauth
</command>
<file name="%LOGDIR/put%TESTNUMBER">
<features>
crypto
</features>
- <name>
+<name>
HTTP chunked PUT to HTTP 1.0 server with authorization
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -T - -u testuser:testpass --anyauth
</command>
<stdin>
<server>
http
</server>
- <name>
+<name>
HTTP chunked PUT to HTTP 1.0 server with redirect
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -T - -L
</command>
<stdin>
<server>
http
</server>
- <name>
+<name>
HTTP downgrade to HTTP/1.0 on second request
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER http://%HOSTIP:%HTTPPORT/wantmore/%TESTNUMBER0001
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP PUT with --anyauth authorization (picking Basic)
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -T %LOGDIR/put%TESTNUMBER -u testuser:testpass --anyauth
</command>
<file name="%LOGDIR/put%TESTNUMBER">
<server>
http
</server>
- <name>
+<name>
HTTP POST with 302 redirect and --post302
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/blah/%TESTNUMBER -L -d "moo" --post302
</command>
</client>
ftp
proxy
</features>
- <name>
+<name>
FTP over HTTP proxy with downgrade to HTTP 1.0
- </name>
- <command>
+</name>
+<command>
-x %HOSTIP:%HTTPPORT ftp://%HOSTIP:%HTTPPORT/we/want/that/page/%TESTNUMBER ftp://%HOSTIP:%HTTPPORT/we/want/that/page/%TESTNUMBER0002
</command>
</client>
http
http-proxy
</server>
- <name>
+<name>
HTTP 1.0 CONNECT with proxytunnel and downgrade GET to HTTP/1.0
- </name>
- <command>
+</name>
+<command>
--proxy1.0 %HOSTIP:%PROXYPORT -p http://%HOSTIP:%HTTPPORT/we/want/that/page/%TESTNUMBER http://%HOSTIP:%HTTPPORT/we/want/that/page/%TESTNUMBER
</command>
<features>
!SSPI
crypto
</features>
- <name>
+<name>
HTTP retry after closed connection and empty response
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:testpass --digest
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP PORT upload with CWD
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/CWD/STOR/RETR/%TESTNUMBER -T %LOGDIR/upload%TESTNUMBER -P -
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
<server>
http
</server>
- <name>
+<name>
HTTP Location: on two URLs 'redirect_url' check
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER http://%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER -w '%{redirect_url}\n'
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP no Location: on second URL 'redirect_url' check
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER http://%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER0002 -w '%{redirect_url}\n'
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with localhost --interface
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -4 --interface 127.0.0.1
</command>
<precheck>
<server>
http-ipv6
</server>
- <name>
+<name>
HTTP-IPv6 GET with ip6-localhost --interface
- </name>
- <command>
+</name>
+<command>
-g "http://%HOST6IP:%HTTP6PORT/%TESTNUMBER" --interface ip6-localhost
</command>
<precheck>
<server>
none
</server>
- <name>
+<name>
HTTP GET with invalid --interface
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%NOLISTENPORT/%TESTNUMBER --interface non-existing-host.haxx.se.
</command>
</client>
<server>
none
</server>
- <name>
+<name>
HTTP-IPv6 GET with invalid --interface
- </name>
- <command>
+</name>
+<command>
-g "http://%HOST6IP:%NOLISTENPORT/%TESTNUMBER" --interface non-existing-host.haxx.se.
</command>
# Ensure the IPv6 stack is operational before running this test (other tests
<killserver>
ftp
</killserver>
- <name>
+<name>
FTP download with strict timeout and slow data transfer
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -m 7
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP, proxy with --anyauth and Location: to new host
- </name>
- <command>
+</name>
+<command>
http://first.host.it.is/we/want/that/page/%TESTNUMBER1000 -x %HOSTIP:%HTTPPORT --user iam:myself --location --anyauth
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP, proxy with --anyauth and Location: to new host using location-trusted
- </name>
- <command>
+</name>
+<command>
http://first.host.it.is/we/want/that/page/%TESTNUMBER1000 -x %HOSTIP:%HTTPPORT --user iam:myself --location-trusted --anyauth
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP GET --write-out with redirected fetch
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP PASV upload append
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -T %LOGDIR/upload%TESTNUMBER --append
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
<server>
http
</server>
- <name>
+<name>
HTTP GET --write-out with redirected fetch and chunked reply
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP URL with type=i
- </name>
- <command>
+</name>
+<command>
"ftp://%HOSTIP:%FTPPORT/%2ftmp/moo/%TESTNUMBER;type=i" --use-ascii
</command>
</client>
ftp
proxy
</features>
- <name>
+<name>
FTP with type=i over HTTP proxy
- </name>
- <command>
+</name>
+<command>
"ftp://%HOSTIP:%HTTPPORT/we/want/that/page/%TESTNUMBER;type=i" --use-ascii -x %HOSTIP:%HTTPPORT
</command>
</client>
<server>
tftp
</server>
- <name>
+<name>
TFTP retrieve with mode=i
- </name>
- <command>
+</name>
+<command>
"tftp://%HOSTIP:%TFTPPORT//%TESTNUMBER;mode=i" --use-ascii
</command>
</client>
<server>
tftp
</server>
- <name>
+<name>
TFTP retrieve with mode=netascii
- </name>
- <command>
+</name>
+<command>
"tftp://%HOSTIP:%TFTPPORT//%TESTNUMBER;mode=netascii"
</command>
</client>
!SSPI
crypto
</features>
- <name>
+<name>
HTTP with Digest and realm with quoted quotes
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:testpass --digest
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
Two FTP downloads, with failed RETR but reused control connection
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/dir/%TESTNUMBER ftp://%HOSTIP:%FTPPORT/dir/%TESTNUMBER
</command>
</client>
!SSPI
proxy
</features>
- <name>
+<name>
HTTP POST using CONNECT with --proxy-ntlm but no auth is required
- </name>
- <command>
+</name>
+<command>
http://test.a.galaxy.far.far.away.%TESTNUMBER:%HTTPPORT/%TESTNUMBER --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-ntlm -d "dummy=value" -p
</command>
</client>
ftp
proxy
</features>
- <name>
+<name>
FTP RETR twice over proxy confirming persistent connection
- </name>
+</name>
- <command>
+<command>
ftp://ftp-site/moo/%TESTNUMBER ftp://ftp-site/moo/%TESTNUMBER --proxy http://%HOSTIP:%HTTPPORT
</command>
</client>
<server>
tftp
</server>
- <name>
+<name>
TFTP get first a non-existing file then an existing
- </name>
- <command>
+</name>
+<command>
tftp://%HOSTIP:%TFTPPORT/an/invalid-file tftp://%HOSTIP:%TFTPPORT//%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
simple HTTP Location: following
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -L
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP download resume with set limit
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -C 20
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP POST with NTLM authorization and following a 302 redirect
- </name>
+</name>
<setenv>
# we force our own host name, in order to make the test machine independent
CURL_GETHOSTNAME=curlhost
# we try to use the LD_PRELOAD hack, if not a debug build
LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
</setenv>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:testpass --ntlm -L -d "stuff to send away"
</command>
<precheck>
<server>
http
</server>
- <name>
+<name>
NO_PROXY test, with user name in URL
- </name>
+</name>
<setenv>
no_proxy=%HOSTIP
http_proxy=http://non-existing-host.haxx.se:3128/
</setenv>
- <command>
+<command>
http://user:secret@%HOSTIP:%HTTPPORT/gimme/%TESTNUMBER
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP OS/400 server name format check
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP non-OS/400 server
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP cookie expiry date at Jan 1 00:00:00 GMT 1970
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -L -x %HOSTIP:%HTTPPORT -c %LOGDIR/cookies%TESTNUMBER.jar
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP with cookie parser and header recording
- </name>
- <command>
+</name>
+<command>
"http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER?parm1=this*that/other/thing&parm2=foobar/%TESTNUMBER" -c %LOGDIR/cookie%TESTNUMBER.txt -d "userid=myname&password=mypassword"
</command>
<precheck>
<server>
http
</server>
- <name>
+<name>
FTP URL and with ftp_proxy environment variable set
- </name>
+</name>
<setenv>
ftp_proxy=http://%HOSTIP:%HTTPPORT/
</setenv>
- <command>
+<command>
ftp://%HOSTIP:23456/%TESTNUMBER
</command>
<server>
ftp
</server>
- <name>
+<name>
FTP RETR PASV with PRET
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER --ftp-pret
</command>
<server>
ftp
</server>
- <name>
+<name>
FTP RETR PASV with PRET not supported
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER --ftp-pret
</command>
<server>
http
</server>
- <name>
+<name>
HTTP GET with URL that contains fragment after the path
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER#test
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP download resume beyond file size
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -C 2000
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with URL that contains a fragment after the query part
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER?q=foobar#fragment
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with URL whose fragment contains a # (which is illegal)
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER?q=foobar#fragment#fragment2
</command>
</client>
<killserver>
ftps
</killserver>
- <name>
+<name>
FTPS download with strict timeout and slow data transfer
- </name>
- <command>
+</name>
+<command>
-k --ftp-ssl-control ftps://%HOSTIP:%FTPSPORT/%TESTNUMBER -m 16
</command>
</client>
<tool>
lib576
</tool>
- <name>
+<name>
FTP wildcard download - skip/parser_correctness/CURLOPT_FNMATCH_FUNCTION (DOS)
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/fully_simulated/DOS/*
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with unexpected 1xx response
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with chunked trailer without Trailer:
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -D %LOGDIR/heads%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with invalid range then another URL
- </name>
- <command>
+</name>
+<command>
-r 10-22 http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER http://%HOSTIP:%HTTPPORT/wantmore/%TESTNUMBER0001
</command>
</client>
<server>
http
</server>
- <name>
+<name>
URL without slash and @-letter in query
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT?email=name@example.com/%TESTNUMBER
</command>
</client>
none
</server>
- <name>
+<name>
Verify that symbols-in-versions and headers are in sync
- </name>
+</name>
<command type="perl">
%SRCDIR/symbol-scan.pl %SRCDIR/.. ../include/curl
<server>
ftp
</server>
- <name>
+<name>
FTP PASV upload resume
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -T %LOGDIR/upload%TESTNUMBER -C 40
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
<server>
ftp
</server>
- <name>
+<name>
FTP with 421 timeout response
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/a/path/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP multiple provided Host: headers
- </name>
- <command>
+</name>
+<command>
-H "Host: host1" -H "Host: host2" -H "Host: host3" http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET gzip transfer-encoded content
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --tr-encoding
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET deflate transfer-encoded content
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --tr-encoding
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET gzip+chunked transfer-encoded content
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --tr-encoding
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET transfer-encoding with custom Connection:
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --tr-encoding -H "Connection: close"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP 200 If-Modified-Since with newer document
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -z "dec 12 12:00:00 1999 GMT"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP 200 If-Modified-Since with older document
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -z "dec 12 12:00:00 1999 GMT"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP 200 If-Modified-Since with old+new documents
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001 -z "dec 12 12:00:00 1999 GMT"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP POST expect 100-continue with a 404
- </name>
+</name>
<command option="no-output">
-d @%LOGDIR/file%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001
</command>
<server>
ftp
</server>
- <name>
+<name>
FTP download, failed login: USER not valid
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP POST forced expect 100-continue with a 404
- </name>
+</name>
<command option="no-output">
-d @%LOGDIR/file%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001 -H "Expect: 100-continue" --expect100-timeout 999
</command>
<server>
http
</server>
- <name>
+<name>
HTTP PUT expect 100-continue with a 400
- </name>
+</name>
<command option="no-output">
-H "Expect: 100-continue" -T %LOGDIR/file%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER -T %LOGDIR/file%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001 --expect100-timeout 999
</command>
none
</server>
- <name>
+<name>
Verify memory #include files in libcurl's C source files
- </name>
+</name>
<command type="perl">
%SRCDIR/mem-include-scan.pl %SRCDIR/../lib
<server>
http
</server>
- <name>
+<name>
HTTP RFC1867-type formposting with filename/data contains ',', ';', '"'
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -F "file=@\"%LOGDIR/test%TESTNUMBER,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"%LOGDIR/test%TESTNUMBER,and;.txt"' -F 'file3=@"%LOGDIR/test%TESTNUMBER,and;.txt";type=m/f,"%LOGDIR/test%TESTNUMBER,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b'
</command>
# We create this file before the command is invoked!
<server>
http
</server>
- <name>
+<name>
HTTP connection reuse with different credentials
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u user1:password1 --next http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001 -u 2user:password2
</command>
</client>
# the build. We break binary compatibility by changing order. Only add
# new entries last or bump the SONAME.
#
- <name>
+<name>
Verify CURL_EXTERN order
- </name>
+</name>
<command type="perl">
%SRCDIR/extern-scan.pl %SRCDIR/..
<server>
ftp
</server>
- <name>
+<name>
FTP RETR --ignore-content-length
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER --ignore-content-length
</command>
<server>
http
</server>
- <name>
+<name>
HTTP redirect with UTF-8 characters
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/are/all/twits/%TESTNUMBER -L
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP download, failed login: PASS not valid
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
none
</server>
- <name>
+<name>
Verify the nroff of man pages
- </name>
+</name>
<command type="perl">
%SRCDIR/nroff-scan.pl %SRCDIR/../docs/ %SRCDIR/../docs/libcurl/*.3 %SRCDIR/../docs/libcurl/opts/*.3 %SRCDIR/../docs/*.1
<server>
http
</server>
- <name>
+<name>
HTTP redirect to http:/// (three slashes!)
- </name>
- <command>
+</name>
+<command>
%HOSTIP:%HTTPPORT/want/%TESTNUMBER -L -x http://%HOSTIP:%HTTPPORT
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP redirect to http://// (four slashes!)
- </name>
- <command>
+</name>
+<command>
%HOSTIP:%HTTPPORT/want/%TESTNUMBER -L -x http://%HOSTIP:%HTTPPORT
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP URL with http:/ (one slash!)
- </name>
- <command>
+</name>
+<command>
http:/%HOSTIP:%HTTPPORT/want/%TESTNUMBER
</command>
<setenv>
<server>
http
</server>
- <name>
+<name>
HTTP HEAD, receive no headers only body
- </name>
- <command>
+</name>
+<command>
-I http://%HOSTIP:%HTTPPORT/%TESTNUMBER --http0.9
</command>
</client>
<server>
http
</server>
- <name>
+<name>
Get -H headers from a file
- </name>
+</name>
<file name="%LOGDIR/heads%TESTNUMBER.txt">
One: 1
Two: 2
%endif
User-Agent:
</file>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -H @%LOGDIR/heads%TESTNUMBER.txt
</command>
</client>
<server>
http
</server>
- <name>
+<name>
progress-bar
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -# --stderr %LOGDIR/stderrlog%TESTNUMBER
</command>
<setenv>
<server>
ftp
</server>
- <name>
+<name>
FTP dir list multicwd then again nocwd
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/list/this/path/%TESTNUMBER/ --ftp-method multicwd --next ftp://%HOSTIP:%FTPPORT/list/this/path/%TESTNUMBER/ --ftp-method nocwd
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP download, failed PASV
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP proxy with URLs using different ports
- </name>
- <command>
+</name>
+<command>
--proxy http://%HOSTIP:%HTTPPORT http://test.remote.example.com.%TESTNUMBER:150/path http://test.remote.example.com.%TESTNUMBER:1234/path/
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP with too long cookies
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -c %LOGDIR/cookies%TESTNUMBER.txt
</command>
<features>
<server>
ftp
</server>
- <name>
+<name>
FTP with uneven quote in PWD response
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/test-%TESTNUMBER/
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP with quoted double quotes
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/test-%TESTNUMBER/
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with 100K (too long) response header
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP cookie with parameter word as name
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -c %LOGDIR/cookies%TESTNUMBER.txt
</command>
<features>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP resume/range fail range-error content-range combinations
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
Get -H headers from empty file
- </name>
+</name>
<file name="%LOGDIR/heads%TESTNUMBER.txt">
</file>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -H @%LOGDIR/heads%TESTNUMBER.txt
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP Location: and 'redirect_url' with non-supported scheme
- </name>
+</name>
<command>
http://%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER -w '%{redirect_url}\n'
</command>
<features>
ipv6
</features>
- <name>
+<name>
FTP download, failed PORT
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -P 1.2.3.4
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with long funny format cookie
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -c %LOGDIR/cookies%TESTNUMBER.txt
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP cookie with path set twice
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -c %LOGDIR/cookies%TESTNUMBER.txt
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP/0.9 GET and all zeroes
- </name>
+</name>
<command option="force-output">
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -w '%{size_download}\n' --http0.9
</command>
none
</server>
- <name>
+<name>
Verify configure.ac and source code CURL_DISABLE_-sync
- </name>
+</name>
<command type="perl">
%SRCDIR/disable-scan.pl %SRCDIR/..
<server>
http
</server>
- <name>
+<name>
HTTP response with cookies but not receiving!
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER
</command>
</client>
none
</server>
- <name>
+<name>
Verify curl prefix of public symbols in header files
- </name>
+</name>
<command type="perl">
%SRCDIR/badsymbols.pl %SRCDIR/..
<server>
http
</server>
- <name>
+<name>
HTTP redirect with credentials using # in user and password
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -L -u "catmai#d:#DZaRJYrixKE*gFY"
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP download, failed TYPE
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET transfer-encoding with removed Connection:
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --tr-encoding -H "Connection:"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET transfer-encoding with blanked Connection:
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --tr-encoding -H "Connection;"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP/0.9 GET response denied
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --no-http0.9
</command>
</client>
none
</server>
- <name>
+<name>
Man page syntax checks
- </name>
+</name>
<command type="perl">
%SRCDIR/manpage-syntax.pl %SRCDIR/../docs/libcurl/symbols-in-versions %SRCDIR/../docs/*.1 %SRCDIR/../docs/libcurl/*.3 %SRCDIR/../docs/libcurl/opts/*.3
<server>
http
</server>
- <name>
+<name>
HTTP/0.9 GET response denied by default
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
none
</server>
- <name>
+<name>
Verify that symbols-in-versions and libcurl-errors.3 are in sync
- </name>
+</name>
<command type="perl">
%SRCDIR/error-codes.pl %SRCDIR
<server>
http
</server>
- <name>
+<name>
--output using #0
- </name>
+</name>
<command option="no-output">
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -o '%LOGDIR/base-#0'
</command>
none
</server>
- <name>
+<name>
Verify that feature names and CURL_VERSION_* in lib and docs are in sync
- </name>
+</name>
<command type="perl">
%SRCDIR/version-scan.pl %SRCDIR/../docs/libcurl/curl_version_info.3 %SRCDIR/../include/curl/curl.h %SRCDIR/../lib/version.c
<server>
http
</server>
- <name>
+<name>
HTTP proxy auth with credentials longer than 256 bytes
- </name>
+</name>
# 400 x 'A' : 600 x 'B' ...
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/that/page/%TESTNUMBER -x http://%HOSTIP:%HTTPPORT -U AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
</command>
<features>
<server>
ftp
</server>
- <name>
+<name>
FTP download, failed RETR
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
<features>
proxy
</features>
- <name>
+<name>
HTTP GET request with proxy and -H "Proxy-Connection: keep-alive"
- </name>
- <command>
+</name>
+<command>
--proxy http://%HOSTIP:%HTTPPORT -H "Proxy-Connection: Keep-Alive" http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<features>
proxy
</features>
- <name>
+<name>
HTTP GET request with proxy and --proxy-header "Proxy-Connection: Keep-Alive"
- </name>
- <command>
+</name>
+<command>
--proxy http://%HOSTIP:%HTTPPORT --proxy-header "Proxy-Connection: Keep-Alive" http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<features>
proxy
</features>
- <name>
+<name>
%TESTNUMBER used instead of actual test number
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
http
http-proxy
</server>
- <name>
+<name>
HTTP 1.1 CONNECT with redirect and set -H user-agent
- </name>
- <command>
+</name>
+<command>
-x %HOSTIP:%PROXYPORT -p http://%HOSTIP.%TESTNUMBER:%HTTPPORT/we/want/that/page/%TESTNUMBER -L -H "User-Agent: %TESTNUMBER-agent"
</command>
<features>
<server>
smtp
</server>
- <name>
+<name>
SMTP multipart with file name escaping
- </name>
+</name>
<stdin>
From: different\r
To: another\r
\r
body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=This is the mail text" -F '=File content;filename="strange\file\"name"'
</command>
</client>
<server>
http
</server>
- <name>
+<name>
--write-out with %{onerror} and %{urlnum} to stderr
- </name>
+</name>
<command>
-f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER http://%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER
</command>
<server>
http
</server>
- <name>
+<name>
Multipart formposting with backslash-escaping of name= and filename=
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER --form-escape -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2=<verbatim;type=xxx/yyy" -F "file=@%LOGDIR/test%TESTNUMBER.txt;type=moo/foobar;filename=fakerfile" -F file2=@%LOGDIR/test%TESTNUMBER.txt -F "file3=@\"%LOGDIR/test%TESTNUMBER.txt\";type=mo/foo;filename=\"f\\\\\\\\ak\\\\\\er,\\\\an\\d;.t\\\"xt\"" -F 'file4=@"%LOGDIR/test%TESTNUMBER.txt"; filename="A\\AA\"\"\\\"ZZZ"'
</command>
# We create this file before the command is invoked!
<server>
ftp
</server>
- <name>
+<name>
FTP download, failed RETR with PORT
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -P -
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP POST redirected to GET and --write-out method
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -w "%{method}\n" -L -d "twinkle twinkle little star"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP range support
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -r 100-200
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
ftp download with post-quote delete operation
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -Q "-DELE file"
</command>
</client>
<server>
gopher
</server>
- <name>
+<name>
Gopher index
- </name>
- <command>
+</name>
+<command>
gopher://%HOSTIP:%GOPHERPORT/1/%TESTNUMBER
</command>
</client>
<server>
gopher
</server>
- <name>
+<name>
Gopher selector
- </name>
- <command>
+</name>
+<command>
gopher://%HOSTIP:%GOPHERPORT/1/selector/SELECTOR/%TESTNUMBER?
</command>
</client>
<server>
gopher
</server>
- <name>
+<name>
Gopher query
- </name>
- <command>
+</name>
+<command>
"gopher://%HOSTIP:%GOPHERPORT/7/the/search/engine%09query%20succeeded/%TESTNUMBER"
</command>
</client>
<server>
gopher-ipv6
</server>
- <name>
+<name>
Gopher IPv6 index
- </name>
- <command>
+</name>
+<command>
-g gopher://%HOST6IP:%GOPHER6PORT/1/moo/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with WWW-Authenticate and multiple auths in a single line
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:testpass --anyauth
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with 18K HTTP header
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP PORT and 425 on download
- </name>
- <command>
+</name>
+<command>
--max-time %FTPTIME2 ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -P -
</command>
<server>
ftp
</server>
- <name>
+<name>
FTP PORT and 421 on download
- </name>
- <command>
+</name>
+<command>
--max-time %FTPTIME2 ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -P -
</command>
<server>
ftp
</server>
- <name>
+<name>
FTP PORT download, no data conn and no transient negative reply
- </name>
- <command>
+</name>
+<command>
--max-time %FTPTIME2 ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -P -
</command>
<server>
ftp
</server>
- <name>
+<name>
FTP PORT download, no data conn and no positive preliminary reply
- </name>
- <command>
+</name>
+<command>
--max-time %FTPTIME2 ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -P -
</command>
<server>
ftp
</server>
- <name>
+<name>
ftp download with post- and pre-transfer delete operations
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -Q "-DELE after_transfer" -Q "DELE before_transfer"
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP PORT and 425 on download
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -P -
</command>
<server>
http
</server>
- <name>
+<name>
noproxy setting together with socks proxy
- </name>
+</name>
<command>
http://user:secret@%HOSTIP:%HTTPPORT/ulion/%TESTNUMBER --socks5 non-existing-host.haxx.se:1080 --noproxy %HOSTIP --max-time 5
<server>
http
</server>
- <name>
+<name>
HTTP with proxy and host-only URL
- </name>
+</name>
# the thing here is that this sloppy form is accepted and we convert it
# for normal server use, and we need to make sure it gets converted to
# RFC style even for proxies
- <command>
+<command>
-x %HOSTIP:%HTTPPORT we.want.that.site.com.%TESTNUMBER
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP with proxy and URL with ? and no slash separator
- </name>
+</name>
# the thing here is that this sloppy form is accepted and we convert it
# for normal server use, and we need to make sure it gets converted to
# RFC style even for proxies
- <command>
+<command>
-x %HOSTIP:%HTTPPORT http://we.want.that.site.com.%TESTNUMBER?moo=foo
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP cookie domains tailmatching the host name
- </name>
- <command>
+</name>
+<command>
http://example.fake/c/%TESTNUMBER http://bexample.fake/c/%TESTNUMBER -b %LOGDIR/injar%TESTNUMBER -x %HOSTIP:%HTTPPORT
</command>
<file name="%LOGDIR/injar%TESTNUMBER">
<server>
ftp
</server>
- <name>
+<name>
FTP with rubbish before name in 257-response
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/get/file/%TESTNUMBER ftp://%HOSTIP:%FTPPORT/get/file/again/%TESTNUMBER --ftp-method singlecwd
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP cookies and domains with same prefix
- </name>
- <command>
+</name>
+<command>
http://example.fake/c/%TESTNUMBER http://example.fake/c/%TESTNUMBER http://bexample.fake/c/%TESTNUMBER -b nonexisting -x %HOSTIP:%HTTPPORT
</command>
<features>
<server>
ftp
</server>
- <name>
+<name>
FTP with no user+password required (230 response)
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
<server>
ftp
</server>
- <name>
+<name>
FTP download resume with whole file already downloaded
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -C 5
</command>
</client>
<server>
file
</server>
- <name>
+<name>
file:// URLs with query string
- </name>
+</name>
<command option="no-include">
file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt?a_query=foobar#afragment
</command>
<server>
http
</server>
- <name>
+<name>
--url-query with --data-urlencode
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --url-query "my name is moo[]" --url-query "yes=s i r" --url-query "v_alue@%LOGDIR/%TESTNUMBER.txt" --url-query @%LOGDIR/%TESTNUMBER.txt --url-query "+%3d%3d" --data-urlencode "start=once upon the time"
</command>
<file name="%LOGDIR/%TESTNUMBER.txt">
none
</server>
- <name>
+<name>
Verify deprecation statuses and versions
- </name>
+</name>
<command type="perl">
%SRCDIR/check-deprecated.pl %SRCDIR/..
<server>
http
</server>
- <name>
+<name>
HTTP GET -w remote_ip and -w remote_port
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -w 'IP %{remote_ip} and PORT %{remote_port}\n'
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP fetch a file from the root directory
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT//%TESTNUMBER
</command>
<server>
ftp
</server>
- <name>
+<name>
FTP fetch two files using absolute paths
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT//foo/%TESTNUMBER ftp://%HOSTIP:%FTPPORT//foo/bar/%TESTNUMBER
</command>
<server>
ftp
</server>
- <name>
+<name>
FTP fetch a file from the root directory with singlecwd
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT//%TESTNUMBER --ftp-method singlecwd
</command>
<server>
ftp
</server>
- <name>
+<name>
FTP fetch a file from the root directory with nocwd
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT//%TESTNUMBER --ftp-method nocwd
</command>
<server>
http
</server>
- <name>
+<name>
HTTP cookie path match
- </name>
- <command>
+</name>
+<command>
http://example.fake/hoge/%TESTNUMBER http://example.fake/hogege/ -b nonexisting -x %HOSTIP:%HTTPPORT
</command>
<features>
!SSPI
crypto
</features>
- <name>
+<name>
HTTP with Digest authorization with user name needing escape
- </name>
- <command>
+</name>
+<command>
http://%5cuser%22:password@%HOSTIP:%HTTPPORT/%TESTNUMBER --digest
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP upload resume with whole file already downloaded
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -T %LOGDIR/upload%TESTNUMBER -C 51
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
http-ipv6
http
</server>
- <name>
+<name>
HTTP CONNECT to IPv6 numerical address
- </name>
+</name>
# 0x4ce == %TESTNUMBER, the test number
- <command>
+<command>
http://[1234:1234:1234::4ce]:%HTTPPORT/wanted/page/%TESTNUMBER -p -x %HOSTIP:%HTTPPORT
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP URL with dotdot removal from path
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/../../hej/but/who/../%TESTNUMBER?stupid=me/../%TESTNUMBER#soo/../%TESTNUMBER http://%HOSTIP:%HTTPPORT/../../hej/but/who/../%TESTNUMBER0001#/../%TESTNUMBER0001
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP URL with dotdot removal from path using an HTTP proxy
- </name>
- <command>
+</name>
+<command>
--proxy http://%HOSTIP:%HTTPPORT http://test.remote.haxx.se.%TESTNUMBER:8990/../../hej/but/who/../%TESTNUMBER?stupid=me/../%TESTNUMBER#soo/../%TESTNUMBER http://test.remote.haxx.se.%TESTNUMBER:8990/../../hej/but/who/../%TESTNUMBER0001#/../%TESTNUMBER0001
</command>
<features>
<server>
ftp
</server>
- <name>
+<name>
FTP failing to connect to EPSV port, switching to PASV
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
<server>
none
</server>
- <name>
+<name>
abusing {}-globbing
- </name>
- <command>
+</name>
+<command>
"%HOSTIP:%NOLISTENPORT/%TESTNUMBER[0-1]{" "%HOSTIP:%NOLISTENPORT/{}{}{}{"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
multiple requests using {}{} in the URL
- </name>
- <command>
+</name>
+<command>
"%HOSTIP:%HTTPPORT/{%TESTNUMBER,%TESTNUMBER}{0001,0002}"
</command>
</client>
<server>
none
</server>
- <name>
+<name>
[] globbing overflowing the range counter
- </name>
+</name>
# 2^62 == 4611686018427387904
- <command>
+<command>
"%HOSTIP:%NOLISTENPORT/1234[0-1]{" "%HOSTIP:%NOLISTENPORT/[1-4611686018427387904][1-4611686018427387904]"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
URL with 1000+ letter user name + password
- </name>
- <command>
+</name>
+<command>
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@%HOSTIP:%HTTPPORT/%TESTNUMBER"
</command>
</client>
<killserver>
tftp
</killserver>
- <name>
+<name>
slow TFTP retrieve cancel due to -Y and -y
- </name>
+</name>
# if less than 1000 bytes/sec within 2 seconds, abort!
- <command>
+<command>
tftp://%HOSTIP:%TFTPPORT//%TESTNUMBER -Y1000 -y2
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with -z + -w response_code and simulated 304
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -z "-dec 12 12:00:00 1999 GMT" -w '%{response_code}'
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP download, failed PWD
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
glob [0-1] with stuff after range (7.33.0 regression)
- </name>
- <command>
+</name>
+<command>
"%HOSTIP:%HTTPPORT/0[0-1]/%TESTNUMBER"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP _without_ dotdot removal
- </name>
- <command>
+</name>
+<command>
--path-as-is --proxy http://%HOSTIP:%HTTPPORT http://test.remote.haxx.se.%TESTNUMBER:8990/../../hej/but/who/../%TESTNUMBER?stupid=me/../%TESTNUMBER#soo/../%TESTNUMBER http://test.remote.haxx.se.%TESTNUMBER:8990/../../hej/but/who/../%TESTNUMBER0001#/../%TESTNUMBER0001
</command>
<features>
<server>
tftp
</server>
- <name>
+<name>
TFTP retrieve without TFTP options requests
- </name>
- <command>
+</name>
+<command>
tftp://%HOSTIP:%TFTPPORT//%TESTNUMBER --tftp-no-options
</command>
</client>
<server>
tftp
</server>
- <name>
+<name>
TFTP send without TFTP options requests
- </name>
- <command>
+</name>
+<command>
-T %LOGDIR/test%TESTNUMBER.txt tftp://%HOSTIP:%TFTPPORT// --tftp-no-options
</command>
<file name="%LOGDIR/test%TESTNUMBER.txt">
<server>
http
</server>
- <name>
+<name>
URL with '#' at end of host name instead of '/'
- </name>
- <command>
+</name>
+<command>
--proxy http://%HOSTIP:%HTTPPORT http://test.remote.haxx.se.%TESTNUMBER:%HTTPPORT#@127.0.0.1/tricked.html no-scheme-url.com.%TESTNUMBER:%HTTPPORT#@127.127.127.127/again.html
</command>
<features>
<server>
http
</server>
- <name>
+<name>
--fail-early
- </name>
- <command>
+</name>
+<command>
--fail-early h1234://%HOSTIP:%HTTPPORT/%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP download, failed CWD
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/path/to/file/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP, use cookies with localhost
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER http://%HOSTIP:%HTTPPORT/we/want?hoge=fuga -b non-existing -H "Host: localhost"
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP URL with semicolon in password
- </name>
- <command>
+</name>
+<command>
"http://user:pass;word@%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER"
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP download with multiple replies at once in RETR
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/blalbla/lululul/%TESTNUMBER
</command>
</client>
<features>
http
</features>
- <name>
+<name>
HTTP URL with rubbish after port number
- </name>
- <command>
+</name>
+<command>
-g "http://[%HOSTIP]:%NOLISTENPORT:80/we/want/%TESTNUMBER" "http://%HOSTIP:%NOLISTENPORT:80/we/want/%TESTNUMBER" "http://user@example.com:80@localhost"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
'redirect_url' with --location and --max-redirs
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER -w '%{redirect_url}\n' --location --max-redirs 0
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP request and denied to download an older file with -z
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/blalbla/%TESTNUMBER -z "-1 jan 2001"
</command>
</client>
<features>
http
</features>
- <name>
+<name>
HTTP URL with rubbish after IPv6 bracket
- </name>
- <command>
+</name>
+<command>
-g "http://[%HOSTIP]test:%NOLISTENPORT/we/want/%TESTNUMBER" "http://[%HOSTIP][%HOSTIP]:%NOLISTENPORT/we/want/%TESTNUMBER" "http://user@[::1]@localhost"
</command>
</client>
<features>
http
</features>
- <name>
+<name>
HTTP URL with space in host name
- </name>
- <command>
+</name>
+<command>
-g "http://127.0.0.1 www.example.com/we/want/%TESTNUMBER"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with a single-byte HTTP/0.9 response
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --http0.9
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with a invalid HTTP/1 response line start
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --http0.9
</command>
</client>
<features>
unix-sockets
</features>
- <name>
+<name>
file name argument looks like a flag
- </name>
- <command>
+</name>
+<command>
--stderr %LOGDIR/moo%TESTNUMBER --unix-socket -k hej://moo
</command>
</client>
<server>
none
</server>
- <name>
+<name>
too large --retry-delay value
- </name>
- <command>
+</name>
+<command>
--retry 3 --retry-delay 9223372036854776 http://%HOSTIP:%NOLISTENPORT/%TESTNUMBER
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP --disable-epsv
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/path/to/file/%TESTNUMBER --disable-epsv
</command>
</client>
<server>
http
</server>
- <name>
+<name>
Basic 'redirect_url'
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER -w '%{redirect_url}\n' -s
</command>
</client>
<server>
http
</server>
- <name>
+<name>
--write-out from file with empty file
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER -w @%LOGDIR/blank%TESTNUMBER
</command>
<file name="%LOGDIR/blank%TESTNUMBER">
<killserver>
gophers
</killserver>
- <name>
+<name>
Gophers index
- </name>
- <command>
+</name>
+<command>
-k gophers://%HOSTIP:%GOPHERSPORT/1/%TESTNUMBER
</command>
</client>
<killserver>
http
</killserver>
- <name>
+<name>
-f and resume transfer of an entirely-downloaded file
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -C - -f
</command>
<file name="%LOGDIR/curl%TESTNUMBER.out">
<server>
http
</server>
- <name>
+<name>
HTTP header line folding
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -D %LOGDIR/out%TESTNUMBER
</command>
</client>
none
</server>
- <name>
+<name>
Verify lib/optiontable.pl
- </name>
+</name>
<command type="perl">
%SRCDIR/option-check.pl %SRCDIR/..
<server>
http
</server>
- <name>
+<name>
HTTP GET with both content and transfer encoding
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --tr-encoding --compressed
</command>
</client>
none
</server>
- <name>
+<name>
Verify libcurl.def against CURL_EXTERN declarations
- </name>
+</name>
<command type="perl">
%SRCDIR/extern-scan.pl --heading=EXPORTS --sort %SRCDIR/..
<server>
ftp
</server>
- <name>
+<name>
FTP upload with --crlf
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -T %LOGDIR/upload%TESTNUMBER --crlf
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
<server>
http
</server>
- <name>
+<name>
simple [a-d] globbing
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/[a-d]/%TESTNUMBER
</command>
</client>
<features>
http
</features>
- <name>
+<name>
reject non-numerical port number in URL
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:alpha/beta/%TESTNUMBER
</command>
</client>
<features>
GSS-API
</features>
- <name>
+<name>
FTP with 633 response before gss initialized
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
<server>
http
</server>
- <name>
+<name>
HTTP/1.2 is rejected
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
Replaced internal headers with a blank one
- </name>
- <command>
+</name>
+<command>
-H "Host;" -H "Accept;" http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
Multipart formpost to two URLs, the first failing
- </name>
- <command>
+</name>
+<command>
http://0 http://%HOSTIP:%HTTPPORT/%TESTNUMBER -F=
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET special path with --request-target
- </name>
- <command>
+</name>
+<command>
--request-target "XXX" "http://%HOSTIP:%HTTPPORT/" -H "Testno: %TESTNUMBER"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
Send "OPTIONS *" with --request-target
- </name>
- <command>
+</name>
+<command>
--request-target '*' -X OPTIONS http://%HOSTIP:%HTTPPORT/ -H "Testno: %TESTNUMBER"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP custom request 'DELETE'
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -X DELETE
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP (optional .netrc; no user/pass) dir list PASV
- </name>
- <command>
+</name>
+<command>
--netrc-optional --netrc-file %LOGDIR/netrc%TESTNUMBER ftp://%HOSTIP:%FTPPORT/
</command>
<file name="%LOGDIR/netrc%TESTNUMBER" >
<features>
unittest
</features>
- <name>
+<name>
llist unit tests
- </name>
+</name>
</client>
</testcase>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
curl_strequal tests
- </name>
+</name>
</client>
</testcase>
<features>
unittest
</features>
- <name>
+<name>
base64 encode/decode unit tests
- </name>
+</name>
</client>
</testcase>
<features>
unittest
</features>
- <name>
+<name>
Curl_timeleft unit tests
- </name>
+</name>
</client>
</testcase>
unittest
netrc
</features>
- <name>
+<name>
netrc parsing unit tests
- </name>
+</name>
<command>
%LOGDIR/netrc%TESTNUMBER
</command>
<features>
unittest
</features>
- <name>
+<name>
internal hash create/destroy testing
- </name>
+</name>
<command>
%TESTNUMBER
</command>
<features>
unittest
</features>
- <name>
+<name>
internal hash create/add/destroy testing
- </name>
+</name>
<tool>
unit1305
</tool>
unittest
ftp
</features>
- <name>
+<name>
internal Curl_fnmatch() testing
- </name>
+</name>
</client>
</testcase>
<server>
none
</server>
- <name>
+<name>
formpost unit tests
- </name>
+</name>
<command>
%LOGDIR/test-%TESTNUMBER
</command>
<features>
unittest
</features>
- <name>
+<name>
splay unit tests
- </name>
+</name>
</client>
<verify>
<server>
ftp
</server>
- <name>
+<name>
FTP (optional .netrc; user/no pass) dir list PASV
- </name>
- <command>
+</name>
+<command>
--netrc-optional --netrc-file %LOGDIR/netrc%TESTNUMBER ftp://user2@%HOSTIP:%FTPPORT/
</command>
<file name="%LOGDIR/netrc%TESTNUMBER" >
<server>
http
</server>
- <name>
+<name>
HTTP with NTLM delegation to winbind helper
- </name>
+</name>
<setenv>
# we force our own host name, in order to make the test machine independent
CURL_GETHOSTNAME=curlhost
# set the test number
CURL_NTLM_AUTH_TESTNUM=%TESTNUMBER
</setenv>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:anypasswd --ntlm-wb
</command>
<precheck>
<server>
http
</server>
- <name>
+<name>
HTTP Location: following a // prefixed url
- </name>
- <command>
+</name>
+<command>
http://firstplace.example.com/want/%TESTNUMBER -L -x http://%HOSTIP:%HTTPPORT
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP RFC1867-type formposting - -F with three files, one with explicit type
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -F name=value -F 'file=@%LOGDIR/test%TESTNUMBER.txt,%LOGDIR/test%TESTNUMBER.txt;type=magic/content,%LOGDIR/test%TESTNUMBER.txt'
</command>
# We create this file before the command is invoked!
<features>
http
</features>
- <name>
+<name>
FTP LIST tunneled through HTTP proxy
- </name>
- <command>
+</name>
+<command>
ftp://ftp.%TESTNUMBER:%FTPPORT/ -p -x %HOSTIP:%PROXYPORT
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with --resolve and same host name using different cases
- </name>
- <command>
+</name>
+<command>
--resolve MiXeDcAsE.cOm:%HTTPPORT:%HOSTIP http://MiXeDcAsE.cOm:%HTTPPORT/%TESTNUMBER http://mixedcase.com:%HTTPPORT/%TESTNUMBER0001
</command>
</client>
http
proxy
</features>
- <name>
+<name>
POP3 fetch tunneled through HTTP proxy
- </name>
- <command>
+</name>
+<command>
pop3://pop.%TESTNUMBER:%POP3PORT/%TESTNUMBER -p -x %HOSTIP:%PROXYPORT -u user:secret
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP (optional .netrc; user/passwd supplied) dir list PASV
- </name>
- <command>
+</name>
+<command>
--netrc-optional --netrc-file %LOGDIR/netrc%TESTNUMBER ftp://mary:mark@%HOSTIP:%FTPPORT/
</command>
<file name="%LOGDIR/netrc%TESTNUMBER" >
http
proxy
</features>
- <name>
+<name>
SMTP send tunneled through HTTP proxy
- </name>
+</name>
<stdin>
From: different\r
To: another\r
\r
body\r
</stdin>
- <command>
+<command>
smtp://smtp.%TESTNUMBER:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -T - -p -x %HOSTIP:%PROXYPORT
</command>
</client>
http
proxy
</features>
- <name>
+<name>
IMAP FETCH tunneled through HTTP proxy
- </name>
- <command>
+</name>
+<command>
'imap://imap.%TESTNUMBER:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user:secret -p -x %HOSTIP:%PROXYPORT
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP 308-redirect with POST
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/%TESTNUMBER -L -d "moo"
</command>
</client>
<features>
telnet
</features>
- <name>
+<name>
TELNET to HTTP server
- </name>
+</name>
<stdin>
GET /we/want/%TESTNUMBER HTTP/1.0\r
\r
</stdin>
- <command>
+<command>
telnet://%HOSTIP:%HTTPPORT --upload-file -
</command>
</client>
<features>
telnet
</features>
- <name>
+<name>
TELNET check of upload with stdout redirected
- </name>
+</name>
<stdin>
GET /ignore/for/%TESTNUMBER HTTP/1.0\r
\r
<server>
http
</server>
- <name>
+<name>
HTTP GET a globbed range with -f
- </name>
- <command>
+</name>
+<command>
-f 'http://%HOSTIP:%HTTPPORT/[%TESTNUMBER0000-%TESTNUMBER0001]' -o %LOGDIR/#1
</command>
</client>
<server>
http
</server>
- <name>
+<name>
/-prefixed proxy name
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/that/page/%TESTNUMBER -x "/server"
</command>
<features>
<server>
ftp
</server>
- <name>
+<name>
FTP compulsory .netrc; ignore passwd in URL
- </name>
- <command>
+</name>
+<command>
-n --netrc-file %LOGDIR/netrc%TESTNUMBER ftp://mary:mark@%HOSTIP:%FTPPORT/
</command>
<file name="%LOGDIR/netrc%TESTNUMBER" >
<server>
http
</server>
- <name>
+<name>
HTTP --proxy-anyauth and 407 with cookies
- </name>
- <command>
+</name>
+<command>
-U myname:mypassword -x %HOSTIP:%HTTPPORT http://z.x.com/%TESTNUMBER --proxy-anyauth -c %LOGDIR/dump%TESTNUMBER
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP POST with 303 redirect and --post303
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/blah/%TESTNUMBER -L -d "moo" --post303
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP POST zero length, chunked-encoded
- </name>
- <command>
+</name>
+<command>
-d "" --header "Transfer-Encoding: chunked" http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP retrieve a byte-range
- </name>
- <command>
+</name>
+<command>
-r 4-16 ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP with user and no password
- </name>
- <command>
+</name>
+<command>
-u user: ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP download without size in RETR string
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/blalbla/lululul/%TESTNUMBER
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP download without size in RETR string and no SIZE command
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/blalbla/lululul/%TESTNUMBER
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP download a newer file with -z
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/blalbla/%TESTNUMBER -z "1 jan 1989"
</command>
</client>
<features>
unittest
</features>
- <name>
+<name>
unit test for parse_cert_parameter()
- </name>
+</name>
</client>
<verify>
<features>
unittest
</features>
- <name>
+<name>
Curl_dedotdotify
- </name>
+</name>
</client>
</testcase>
<features>
unittest
</features>
- <name>
+<name>
curl_easy_escape and curl_easy_unescape
- </name>
+</name>
</client>
</testcase>
<features>
unittest
</features>
- <name>
+<name>
curl_msnprintf unit tests
- </name>
+</name>
</client>
</testcase>
<features>
unittest
</features>
- <name>
+<name>
Curl_pgrsTime unit tests
- </name>
+</name>
</client>
</testcase>
<server>
http
</server>
- <name>
+<name>
HTTP HEAD with Connection: close
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -i --head
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP download file with -z, expected to not transfer
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/blalbla/%TESTNUMBER -z "1 jan 2004"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
--libcurl for simple HTTP GET
- </name>
+</name>
<setenv>
SSL_CERT_FILE=
</setenv>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER --libcurl %LOGDIR/test%TESTNUMBER.c
</command>
</client>
<server>
http
</server>
- <name>
+<name>
--libcurl for GET with various options
- </name>
+</name>
<features>
http
ftp
<setenv>
SSL_CERT_FILE=
</setenv>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER --libcurl %LOGDIR/test%TESTNUMBER.c --basic -u fake:user -H "X-Files: Mulder" -H "X-Men: cyclops, iceman" -A MyUA -b chocolate=chip --proto "=http,ftp,file"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
--libcurl for simple POST
- </name>
+</name>
<setenv>
SSL_CERT_FILE=
</setenv>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER --libcurl %LOGDIR/test%TESTNUMBER.c -d "foo=bar" -d "baz=quux"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
--libcurl for GET with query
- </name>
+</name>
<setenv>
SSL_CERT_FILE=
</setenv>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER --libcurl %LOGDIR/test%TESTNUMBER.c -G -d "foo=bar" -d "baz=quux"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
--libcurl for HTTP RFC1867-type formposting - -F with 3 files, one with explicit type & encoder
- </name>
+</name>
<setenv>
SSL_CERT_FILE=
</setenv>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -F name=value -F 'file=@%LOGDIR/test%TESTNUMBER.txt,%LOGDIR/test%TESTNUMBER.txt;type=magic/content;encoder=8bit,%LOGDIR/test%TESTNUMBER.txt;headers=X-testheader-1: header 1;headers=X-testheader-2: header 2' --libcurl %LOGDIR/test%TESTNUMBER.c
</command>
# We create this file before the command is invoked!
<server>
ftp
</server>
- <name>
+<name>
--libcurl for FTP with quote ops
- </name>
+</name>
<setenv>
SSL_CERT_FILE=
</setenv>
- <command>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl %LOGDIR/test%TESTNUMBER.c
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
--libcurl for SMTP
- </name>
+</name>
<setenv>
SSL_CERT_FILE=
</setenv>
\r
body\r
</file>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T %LOGDIR/test%TESTNUMBER.eml --libcurl %LOGDIR/test%TESTNUMBER.c
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
--libcurl for POP3 LIST one message
- </name>
+</name>
<setenv>
SSL_CERT_FILE=
</setenv>
<server>
http-ipv6
</server>
- <name>
+<name>
HTTP receive cookies over IPV6
- </name>
- <command>
+</name>
+<command>
-c %LOGDIR/jar%TESTNUMBER -g http://%HOST6IP:%HTTP6PORT/path/%TESTNUMBER0001 http://%HOST6IP:%HTTP6PORT/path/%TESTNUMBER0002
</command>
</client>
<server>
none
</server>
- <name>
+<name>
Pass in string to -C
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%NOLISTENPORT/%TESTNUMBER -C wrong
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP download info with -I
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/blalbla/%TESTNUMBER -I
</command>
</client>
<server>
none
</server>
- <name>
+<name>
Pass in negative number to --max-time
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%NOLISTENPORT/%TESTNUMBER --max-time -4
</command>
</client>
</server>
# make sure there's no Expect: 100-continue when there's no file to send!
- <name>
+<name>
HTTP with zero size file PUT
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -T %LOGDIR/empty%TESTNUMBER
</command>
# create an empty file
!SSPI
crypto
</features>
- <name>
+<name>
HTTP GET with --anyauth with two URLs (picking Digest)
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:testpass --anyauth http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP redirect with fragment in new URL
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/this/%TESTNUMBER -L
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP PORT without SIZE or EPRT support
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -P -
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with chunked Transfer-Encoding overflowed chunked size
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with chunked encoding and chunked trailer without CRs
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -D %LOGDIR/heads%TESTNUMBER
</command>
</client>
!SSPI
crypto
</features>
- <name>
+<name>
HTTP with --anyauth and connection reuse
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:testpass --anyauth http://%HOSTIP:%HTTPPORT/%TESTNUMBER0003
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with --anyauth (but no auth!) and connection reuse
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --anyauth http://%HOSTIP:%HTTPPORT/%TESTNUMBER0003
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP URL with 150 dir levels
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/part1/part2/part3/part4/part5/part6/part7/part8/part9/part10/part11/part12/part13/part14/part15/part16/part17/part18/part19/part20/part21/part22/part23/part24/part25/part26/part27/part28/part29/part30/part31/part32/part33/part34/part35/part36/part37/part38/part39/part40/part41/part42/part43/part44/part45/part46/part47/part48/part49/part50/part51/part52/part53/part54/part55/part56/part57/part58/part59/part60/part61/part62/part63/part64/part65/part66/part67/part68/part69/part70/part71/part72/part73/part74/part75/part76/part77/part78/part79/part80/part81/part82/part83/part84/part85/part86/part87/part88/part89/part90/part91/part92/part93/part94/part95/part96/part97/part98/part99/part100/part101/part102/part103/part104/part105/part106/part107/part108/part109/part110/part111/part112/part113/part114/part115/part116/part117/part118/part119/part120/part121/part122/part123/part124/part125/part126/part127/part128/part129/part130/part131/part132/part133/part134/part135/part136/part137/part138/part139/part140/part141/part142/part143/part144/part145/part146/part147/part148/part149/part150/%TESTNUMBER
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
--libcurl for IMAP FETCH message
- </name>
+</name>
<setenv>
SSL_CERT_FILE=
</setenv>
<server>
http
</server>
- <name>
+<name>
Re-using HTTP proxy connection for two different host names
- </name>
- <command>
+</name>
+<command>
--proxy http://%HOSTIP:%HTTPPORT http://test.remote.haxx.se.%TESTNUMBER:8990/ http://different.remote.haxx.se.%TESTNUMBER:8990
</command>
<features>
<server>
none
</server>
- <name>
+<name>
too large -m timeout value
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%NOLISTENPORT/%TESTNUMBER -m 184467440737095510
</command>
</client>
http
http-proxy
</server>
- <name>
+<name>
HTTP over proxy-tunnel with --proxy-header and --header
- </name>
- <command>
+</name>
+<command>
http://test.%TESTNUMBER:%HTTPPORT/we/want/that/page/%TESTNUMBER -p -x %HOSTIP:%PROXYPORT --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy"
</command>
<features>
<name>
HTTP GET with 999 response code
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --write-out '%{response_code}'
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP URL with type=a
- </name>
- <command>
+</name>
+<command>
"ftp://%HOSTIP:%FTPPORT/%2ftmp/moo/%TESTNUMBER;type=a"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with negative response code
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with single-digit response code
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<name>
HTTP GET with 100-digit response code and survive
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<name>
HTTP GET with 100-digit subversion number in response
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET resume at exactly the existing file size is fine
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -C 100
</command>
<file name="%LOGDIR/curl%TESTNUMBER.out">
<server>
http-unix
</server>
- <name>
+<name>
simple HTTP GET over Unix socket
- </name>
- <command>
+</name>
+<command>
--unix-socket %HTTPUNIXPATH http://server-interpreted.example.com/%TESTNUMBER
</command>
</client>
<server>
http-unix
</server>
- <name>
+<name>
HTTP requests with multiple connections over Unix socket
- </name>
- <command>
+</name>
+<command>
--unix-socket %HTTPUNIXPATH http://one.example.com/%TESTNUMBER0001 http://two.example.com/%TESTNUMBER0002 http://one.example.com/%TESTNUMBER0003
</command>
</client>
!SSPI
crypto
</features>
- <name>
+<name>
HTTP with duplicated WWW-Authenticate parameters
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:testpass --digest
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP NLST dir list without contents, using PORT
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/ -P - -l
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP with --remote-time
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER --remote-time
</command>
# Verify the mtime of the file. The mtime is specifically chosen to be an even
<precheck>
perl %SRCDIR/libtest/test613.pl prepare %PWD/%LOGDIR/test%TESTNUMBER.dir
</precheck>
- <name>
+<name>
file:// with --remote-time
- </name>
- <command>
+</name>
+<command>
file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.dir/plainfile.txt --remote-time
</command>
<postcheck>
<precheck>
perl %SRCDIR/libtest/test613.pl prepare %PWD/%LOGDIR/test%TESTNUMBER.dir
</precheck>
- <name>
+<name>
SFTP with --remote-time
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/test%TESTNUMBER.dir/rofile.txt --insecure --remote-time
</command>
<postcheck>
http
proxy
</features>
- <name>
+<name>
Provide illegal proxy name
- </name>
- <command>
+</name>
+<command>
--proxy "http://a:b@/x" http://%HOSTIP:%NOLISTENPORT
</command>
</client>
<precheck>
perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");'
</precheck>
- <name>
+<name>
Redirect following to UTF-8 IDN host name
- </name>
+</name>
- <command>
+<command>
http://åäö.se:%HTTPPORT/%TESTNUMBER --resolve xn--4cab6c.se:%HTTPPORT:%HOSTIP -L --connect-to %HOSTIP:%HTTPPORT:%HOSTIP:%HTTPPORT
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP download range with integer overflow
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -r 36893488147419103232-
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP NLST dir list with weird reply code, using PORT
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/ -P - -l
</command>
</client>
<features>
dict
</features>
- <name>
+<name>
Basic DICT lookup
- </name>
- <command>
+</name>
+<command>
dict://%HOSTIP:%DICTPORT/d:basic
</command>
</client>
<features>
telnet
</features>
- <name>
+<name>
Basic TELNET negotiation
- </name>
+</name>
<stdin>
test%TESTNUMBER
</stdin>
- <command>
+<command>
telnet://%HOSTIP:%TELNETPORT --upload-file -
</command>
</client>
<features>
tftp
</features>
- <name>
+<name>
Too long tftp filename
- </name>
- <command>
+</name>
+<command>
tftp://%HOSTIP:%NOLISTENPORT/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz
</command>
</client>
<server>
http
</server>
- <name>
+<name>
--connect-to with IPv6 address w/o IPv6 support!
- </name>
+</name>
<command>
--connect-to localhost:80:[::1]:80 localhost
</command>
<server>
http-ipv6
</server>
- <name>
+<name>
HTTP-IPv6 GET with PROXY protocol
- </name>
- <command>
+</name>
+<command>
-g "http://%HOST6IP:%HTTP6PORT/%TESTNUMBER" --haproxy-protocol
</command>
<features>
sftp
!oldlibssh
</features>
- <name>
+<name>
SFTP with corrupted known_hosts
- </name>
- <command>
+</name>
+<command>
-u : sftp://%HOSTIP:%SSHPORT/ -l
</command>
<file name="%LOGDIR/test%TESTNUMBER.dir/.ssh/known_hosts">
<server>
ftp
</server>
- <name>
+<name>
persistent FTP with different paths
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/first/dir/here/%TESTNUMBER ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
<server>
none
</server>
- <name>
+<name>
curl important --help
- </name>
- <command>
+</name>
+<command>
--help
</command>
</client>
<server>
none
</server>
- <name>
+<name>
curl invalid category --help
- </name>
- <command>
+</name>
+<command>
--help sdfafdsfadsfsd
</command>
</client>
<features>
file
</features>
- <name>
+<name>
curl file category --help
- </name>
- <command>
+</name>
+<command>
--help file
</command>
</client>
<features>
file
</features>
- <name>
+<name>
curl file category --help with lower/upper mix
- </name>
- <command>
+</name>
+<command>
--help fIlE
</command>
</client>
<server>
http
</server>
- <name>
+<name>
--libcurl for POST with binary content
- </name>
+</name>
<setenv>
SSL_CERT_FILE=
</setenv>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER --libcurl %LOGDIR/test%TESTNUMBER.c --data-binary @%LOGDIR/%TESTNUMBER-upload
</command>
# "ab\x81""cd\0e\\\"?\r\n\t\x01""fghi%x1Ajklm%xFD"
<name>
HTTP GET with 3-digit response and only digits in reason
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
http
socks5unix
</server>
- <name>
+<name>
HTTP GET via SOCKS5 proxy via unix sockets
- </name>
- <command>
+</name>
+<command>
--socks5 localhost%SOCKSUNIXPATH http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
http
socks5unix
</server>
- <name>
+<name>
HTTP GET with host name using SOCKS5h via unix sockets
- </name>
- <command>
+</name>
+<command>
http://this.is.a.host.name:%HTTPPORT/%TESTNUMBER --proxy socks5h://localhost%SOCKSUNIXPATH
</command>
</client>
<server>
none
</server>
- <name>
+<name>
Space in FTP upload URL
- </name>
- <command>
+</name>
+<command>
"ftp://%HOSTIP:%NOLISTENPORT/%TESTNUMBER%/with space/" -T %LOGDIR/irrelevant-file
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP with --ftp-create-dirs (failing CWD)
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/first/dir/here/%TESTNUMBER --ftp-create-dirs
</command>
</client>
https
socks5unix
</server>
- <name>
+<name>
HTTPS GET with host name using SOCKS5h via unix sockets
- </name>
- <command>
+</name>
+<command>
https://this.is.a.host.name:%HTTPSPORT/%TESTNUMBER -k --proxy socks5h://localhost%SOCKSUNIXPATH
</command>
</client>
<server>
http
</server>
- <name>
+<name>
first HTTP header starts with white space
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP PUT with Expect: 100-continue and 417 response during upload
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -T %LOGDIR/test%TESTNUMBER.txt --limit-rate 64K --expect100-timeout 0.001
</command>
<precheck>
<server>
ftp
</server>
- <name>
+<name>
FTP with --ftp-create-dirs (failing MKD)
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/attempt/to/get/this/%TESTNUMBER --ftp-create-dirs
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP with multiple uploads
- </name>
- <command>
+</name>
+<command>
-T %LOGDIR/upload%TESTNUMBER ftp://%HOSTIP:%FTPPORT/dir1/%TESTNUMBER -T %LOGDIR/upload%TESTNUMBER ftp://%HOSTIP:%FTPPORT/dir2/%TESTNUMBER
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
<server>
http
</server>
- <name>
+<name>
--write-out test
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER --write-out "%{url_effective} %{http_code} %{size_download}\n"
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
curl_multi_wait
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<killserver>
ftp
</killserver>
- <name>
+<name>
FTP with multi interface and slow LIST response
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER/
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP multi with CURLOPT_RESOLVE, cleanup sequence UA
- </name>
- <command>
+</name>
+<command>
http://google.com:%HTTPPORT/%TESTNUMBER %HTTPPORT %HOSTIP
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP multi with CURLOPT_RESOLVE, cleanup sequence PA
- </name>
- <command>
+</name>
+<command>
http://google.com:%HTTPPORT/%TESTNUMBER %HTTPPORT %HOSTIP
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP multi with CURLOPT_RESOLVE, cleanup sequence UB
- </name>
- <command>
+</name>
+<command>
http://google.com:%HTTPPORT/%TESTNUMBER %HTTPPORT %HOSTIP
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP multi with CURLOPT_RESOLVE, cleanup sequence PB
- </name>
- <command>
+</name>
+<command>
http://google.com:%HTTPPORT/%TESTNUMBER %HTTPPORT %HOSTIP
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP GET connection cache limit (CURLMOPT_MAXCONNECTS)
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/path/%TESTNUMBER %HOSTIP %HTTPPORT
</command>
</client>
</tool>
# based on bug report #1184
- <name>
+<name>
SMTP with multi interface and CURLE_ABORTED_BY_CALLBACK
- </name>
+</name>
<stdin>
From: different
To: another
body
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
Close a multi handle without using it
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%NOLISTENPORT/path/%TESTNUMBER
</command>
</client>
<features>
proxy
</features>
- <name>
+<name>
simple multi http:// through proxytunnel with authentication info
- </name>
- <command>
+</name>
+<command>
http://the.old.moo.%TESTNUMBER:%HTTPPORT/%TESTNUMBER %HOSTIP:%PROXYPORT
</command>
<file name="%LOGDIR/test%TESTNUMBER.txt">
<server>
http
</server>
- <name>
+<name>
HTTP GET with an error code that might trick authentication
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP GET connection cache limit (CURLOPT_MAXCONNECTS)
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/path/%TESTNUMBER %HOSTIP %HTTPPORT
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
GLOBAL CACHE test over two easy performs
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/path/%TESTNUMBER %HOSTIP %HTTPPORT
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
return failure immediately from progress callback
- </name>
+</name>
# this server/host won't be used for real
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
./libtest/lib%TESTNUMBER check
</precheck>
- <name>
+<name>
HTTP POST, server responds before completed send
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
Extract Location: with broken URL
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
lib1518
</tool>
- <name>
+<name>
Extract Location: with broken absolute URL
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with an error code that might trick authentication and --fail
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --fail
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
SMTP with CRLF-dot-CRLF in data
- </name>
+</name>
<stdin>
From: different\r
To: another\r
\r
body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
Test all curl_easy_setopt and curl_easy_getinfo options
- </name>
- <command>
+</name>
+<command>
unused
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP PUT with 303 redirect
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/blah/%TESTNUMBER -L -T %LOGDIR/upload%TESTNUMBER.txt
</command>
<file name="%LOGDIR/upload%TESTNUMBER.txt">
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
CURLOPT_PROXYHEADER is ignored CURLHEADER_UNIFIED
- </name>
- <command>
+</name>
+<command>
http://the.old.moo.%TESTNUMBER:%HTTPPORT/%TESTNUMBER %HOSTIP:%PROXYPORT
</command>
<features>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
CURLOPT_PROXYHEADER: separate host/proxy headers
- </name>
- <command>
+</name>
+<command>
http://the.old.moo.%TESTNUMBER:%HTTPPORT/%TESTNUMBER %HOSTIP:%PROXYPORT
</command>
<features>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
Check same headers are generated with CURLOPT_HEADEROPT == CURLHEADER_UNIFIED
- </name>
- <command>
+</name>
+<command>
http://the.old.moo.%TESTNUMBER:%HTTPPORT/%TESTNUMBER %HOSTIP:%PROXYPORT
</command>
<features>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
Separately specified proxy/server headers sent in a proxy GET
- </name>
- <command>
+</name>
+<command>
http://the.old.moo:%HTTPPORT/%TESTNUMBER %HOSTIP:%PROXYPORT
</command>
<features>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP request-injection in URL sent over proxy
- </name>
- <command>
+</name>
+<command>
"http://the.old.moo:%HTTPPORT/%TESTNUMBER" %HOSTIP:%PROXYPORT
</command>
<features>
!SSPI
crypto
</features>
- <name>
+<name>
HTTP with Digest authorization with stale=true
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001 -u testuser:testpass --digest http://%HOSTIP:%HTTPPORT/%TESTNUMBER0002
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
CURLOPT_OPENSOCKETFUNCTION returns bad socket
- </name>
+</name>
</client>
# it should be detected and an error should be reported
!SSPI
crypto
</features>
- <name>
+<name>
HTTP PUT with --anyauth authorization (picking Digest)
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -T %LOGDIR/put%TESTNUMBER -u testuser:testpass --anyauth
</command>
<file name="%LOGDIR/put%TESTNUMBER">
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
chunked with trailers and pausing the receive
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
connection reuse with CURLOPT_MAXLIFETIME_CONN
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
none
</server>
- <name>
+<name>
Verify all string options are translated by OS/400 wrapper
- </name>
+</name>
<command type="perl">
%SRCDIR/check-translatable-options.pl %SRCDIR/..
lib%TESTNUMBER
</tool>
- <name>
+<name>
verify setting pipeling blocklisting options
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%NOLISTENPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
re-run redirected transfer without setting URL again
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP multi transfer error without curl_multi_remove_handle
- </name>
+</name>
# tool is what to use instead of 'curl'
<tool>
lib%TESTNUMBER
</tool>
- <command>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1'
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP cleanup before a connection was created
- </name>
+</name>
# tool is what to use instead of 'curl'
<tool>
lib%TESTNUMBER
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
verify api is protected against calls from callbacks
- </name>
+</name>
# this server/host won't be used for real
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
send long HTTP headers to header callback
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP PUT with --anyauth (when the server requires none)
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -T %LOGDIR/put%TESTNUMBER -u testuser:testpass --anyauth
</command>
<file name="%LOGDIR/put%TESTNUMBER">
dict
ftp
</features>
- <name>
+<name>
URL API
- </name>
+</name>
<tool>
lib%TESTNUMBER
</tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
re-run redirected transfer without setting CURLU URL again
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP first type=A then regular URL
- </name>
+</name>
<tool>
lib%TESTNUMBER
</tool>
<server>
http
</server>
- <name>
+<name>
HTTP GET with --anyauth (when the server requires none)
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:testpass --anyauth
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP first type=D then regular URL
- </name>
+</name>
<tool>
lib1569
</tool>
<server>
http
</server>
- <name>
+<name>
HTTP multipart formpost with only a 100 reply
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -F name=daniel
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with NTLM authorization when talking HTTP/1.0 (known to fail)
- </name>
+</name>
<setenv>
# we force our own host name, in order to make the test machine independent
CURL_GETHOSTNAME=curlhost
# we try to use the LD_PRELOAD hack, if not a debug build
LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
</setenv>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:testpass --ntlm -0
</command>
<precheck>
<server>
imap
</server>
- <name>
+<name>
IMAP cleanup before a connection was created
- </name>
+</name>
# tool is what to use instead of 'curl'
<tool>
lib1553
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP request, remove handle while resolving, don't block
- </name>
+</name>
- <command>
+<command>
http://a-site-never-accessed.example.org/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with proxy authorization
- </name>
- <command>
+</name>
+<command>
-U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x %HOSTIP:%HTTPPORT http://we.want.that.site.com/%TESTNUMBER
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP with delayed close, conn reuse, connection reset and retry
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER http://%HOSTIP:%HTTPPORT/wantmore/%TESTNUMBER0001
</command>
</client>
unittest
NTLM
</features>
- <name>
+<name>
NTLM unit tests
- </name>
+</name>
</client>
</testcase>
<features>
unittest
</features>
- <name>
+<name>
MD5 unit tests
- </name>
+</name>
</client>
</testcase>
<features>
unittest
</features>
- <name>
+<name>
Internal hash create/add/destroy testing, exercising clean functions
- </name>
+</name>
</client>
</testcase>
<features>
unittest
</features>
- <name>
+<name>
Internal hash add, retrieval, deletion testing
- </name>
+</name>
</client>
</testcase>
<features>
unittest
</features>
- <name>
+<name>
Test WIN32/MSDOS filename sanitization
- </name>
+</name>
</client>
</testcase>
<features>
unittest
</features>
- <name>
+<name>
Test negative data lengths as input to libcurl functions
- </name>
+</name>
</client>
</testcase>
<features>
unittest
</features>
- <name>
+<name>
verify speedcheck
- </name>
+</name>
</client>
</testcase>
<features>
unittest
</features>
- <name>
+<name>
CURLOPT_RESOLVE parsing
- </name>
+</name>
</client>
</testcase>
unittest
shuffle-dns
</features>
- <name>
+<name>
verify DNS shuffling
- </name>
+</name>
</client>
</testcase>
<features>
unittest
</features>
- <name>
+<name>
CURLOPT_RESOLVE parsing
- </name>
+</name>
</client>
</testcase>
<server>
ftp
</server>
- <name>
+<name>
FTP RETR PASV
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
<features>
unittest
</features>
- <name>
+<name>
SHA256 unit tests
- </name>
+</name>
</client>
</testcase>
<features>
unittest
</features>
- <name>
+<name>
MD4 unit tests
- </name>
+</name>
</client>
</testcase>
<features>
unittest
</features>
- <name>
+<name>
HMAC unit tests
- </name>
+</name>
</client>
</testcase>
unittest
proxy
</features>
- <name>
+<name>
noproxy and cidr comparisons
- </name>
+</name>
</client>
<errorcode>
0
<server>
http
</server>
- <name>
+<name>
HTTP GET asking for --proxy-ntlm when some other authentication is required
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-ntlm --fail
</command>
</client>
<features>
unittest
</features>
- <name>
+<name>
unit tests for url.c
- </name>
+</name>
</client>
</testcase>
unittest
https
</features>
- <name>
+<name>
unit tests for stripcredentials from URL
- </name>
+</name>
</client>
</testcase>
<server>
http
</server>
- <name>
+<name>
HTTP multipart formpost with contents from a file
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -F "name=<%LOGDIR/field%TESTNUMBER" -F tool=curl
</command>
# We create this file before the command is invoked!
http
https-proxy
</server>
- <name>
+<name>
HTTPS-proxy with Basic auth to HTTP without auth
- </name>
- <command>
+</name>
+<command>
-U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x https://%HOSTIP:%HTTPSPROXYPORT http://we.want.that.site.com/%TESTNUMBER --proxy-insecure
</command>
<features>
ftp
https-proxy
</server>
- <name>
+<name>
FTP through HTTPS-proxy
- </name>
- <command>
+</name>
+<command>
-p -x https://%HOSTIP:%HTTPSPROXYPORT ftp://ftp.site.thru.https.proxy:%FTPPORT/%TESTNUMBER --proxy-insecure
</command>
<features>
ftp
https-proxy
</server>
- <name>
+<name>
FTP through HTTPS-proxy, with connection reuse
- </name>
- <command>
+</name>
+<command>
-p -x https://%HOSTIP:%HTTPSPROXYPORT ftp://ftp.site.thru.https.proxy:%FTPPORT/%TESTNUMBER --proxy-insecure ftp://ftp.site.thru.https.proxy:%FTPPORT/%TESTNUMBER0002
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP range with multiple ranges
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -r 0-10,12-15
</command>
</client>
<precheck>
perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");'
</precheck>
- <name>
+<name>
HTTP over proxy with IDN host name
- </name>
- <command>
+</name>
+<command>
http://www.åäö.se/page/%TESTNUMBER -x %HOSTIP:%HTTPPORT http://www.große.de/page/%TESTNUMBER
</command>
</client>
unittest
DoH
</features>
- <name>
+<name>
DOH
- </name>
+</name>
</client>
</testcase>
<features>
unittest
</features>
- <name>
+<name>
x509 parsing
- </name>
+</name>
</client>
</testcase>
unittest
DoH
</features>
- <name>
+<name>
unit test for doh_encode
- </name>
+</name>
</client>
</testcase>
<server>
http
</server>
- <name>
+<name>
HTTP formpost a file with spaces in name
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -F "name=@%LOGDIR/fie ld %TESTNUMBER"
</command>
# We create this file before the command is invoked!
<features>
unittest
</features>
- <name>
+<name>
bufref unit tests
- </name>
+</name>
</client>
</testcase>
crypto
proxy
</features>
- <name>
+<name>
HTTP with proxy-requiring-Basic to site-requiring-Digest
- </name>
- <command>
+</name>
+<command>
http://data.from.server.requiring.digest.hohoho.com/%TESTNUMBER --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --digest --user digest:alot
</command>
</client>
crypto
proxy
</features>
- <name>
+<name>
HTTP with proxy-requiring-Digest to site-requiring-Digest
- </name>
- <command>
+</name>
+<command>
http://data.from.server.requiring.digest.hohoho.com/%TESTNUMBER --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-digest --digest --user digest:alot
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with config file on stdin
- </name>
+</name>
<stdin>
#
# Use a silly request without '--':
# long option *with* '--':
--max-time 180
</stdin>
- <command>
+<command>
-K - %HOSTIP:%HTTPPORT/that.site.com/%TESTNUMBER
</command>
</client>
!SSPI
proxy
</features>
- <name>
+<name>
HTTP POST with --proxy-ntlm and no SSL with no response
- </name>
- <command>
+</name>
+<command>
http://a.galaxy.far.far.away/%TESTNUMBER --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-ntlm -F "dummy=value"
</command>
</client>
http
http/2
</server>
- <name>
+<name>
HTTP/2 GET with Upgrade:
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTP2PORT/%TESTNUMBER --http2 http://%HOSTIP:%HTTP2PORT/%TESTNUMBER0001
</command>
</client>
http
http/2
</server>
- <name>
+<name>
HTTP/2 POST with Upgrade:
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTP2PORT/%TESTNUMBER --http2 -d "datatosend"
</command>
</client>
http
http/2
</server>
- <name>
+<name>
HTTP/2 HEAD with Upgrade:
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTP2PORT/%TESTNUMBER --http2 --head
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP, get cookie with dot prefixed full domain
- </name>
- <command>
+</name>
+<command>
-c %LOGDIR/jar%TESTNUMBER -x %HOSTIP:%HTTPPORT http://z.x.com/%TESTNUMBER
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP with cookies file and custom added cookie
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -b %LOGDIR/jar%TESTNUMBER.txt -b "tool=curl; name=fool"
</command>
<file name="%LOGDIR/jar%TESTNUMBER.txt">
<server>
http
</server>
- <name>
+<name>
HTTP RFC1867-formpost a file from stdin with "faked" filename
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl"
</command>
<server>
http
</server>
- <name>
+<name>
HTTP POST --anyauth to server not requiring any auth at all
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:testpass --anyauth -d "junkelijunk"
</command>
</client>
<features>
crypto
</features>
- <name>
+<name>
HTTP POST --digest to server not requiring any auth at all
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u auser:apasswd --digest -d "junkelijunk"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP POST --ntlm to server not requiring any auth at all
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u auser:apasswd --ntlm -d "junkelijunk"
</command>
</client>
<features>
crypto
</features>
- <name>
+<name>
HTTP POST --digest to server doing a 302-location response
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u auser:apasswd --digest -d "junkelijunk"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP response with negative Content-Length
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP using proxy and cookies with path checks
- </name>
- <command>
+</name>
+<command>
http://supertrooper.fake/c/%TESTNUMBER -b %LOGDIR/injar%TESTNUMBER -x %HOSTIP:%HTTPPORT
</command>
<file name="%LOGDIR/injar%TESTNUMBER">
<server>
http
</server>
- <name>
+<name>
multiple requests using {} in URL
- </name>
- <command>
+</name>
+<command>
"%HOSTIP:%HTTPPORT/{%TESTNUMBER,%TESTNUMBER0002,%TESTNUMBER0003}"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP 1.0 PUT
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -T %LOGDIR/test%TESTNUMBER.txt --http1.0
</command>
<file name="%LOGDIR/test%TESTNUMBER.txt">
<features>
http/2
</features>
- <name>
+<name>
HTTP/2 upgrade refused
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --http2
</command>
<features>
http/2
</features>
- <name>
+<name>
HTTP/2 upgrade with lying server
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --http2
</command>
<server>
http
</server>
- <name>
+<name>
HTTP 1.0 POST
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER --data-binary @%LOGDIR/test%TESTNUMBER.txt --http1.0
</command>
<file name="%LOGDIR/test%TESTNUMBER.txt">
<server>
http
</server>
- <name>
+<name>
HTTP GET two URLs over a single proxy with persistent connection
- </name>
- <command>
+</name>
+<command>
http://deathstar.another.galaxy/%TESTNUMBER http://a.galaxy.far.far.away/%TESTNUMBER --proxy http://%HOSTIP:%HTTPPORT
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP replace Host: when following Location: to new host
- </name>
- <command>
+</name>
+<command>
http://deathstar.another.galaxy/%TESTNUMBER -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://%HOSTIP:%HTTPPORT
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP replace Host: when following Location: on the same host
- </name>
- <command>
+</name>
+<command>
http://deathstar.another.galaxy/%TESTNUMBER -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://%HOSTIP:%HTTPPORT
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP RFC1867-type formposting with types on text fields
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -F "name=daniel;type=moo/foo" -F "html= <body>hello</body>;type=text/html;charset=verymoo"
</command>
# We create this file before the command is invoked!
<server>
http
</server>
- <name>
+<name>
HTTP redirect with bad host name separation and slash in parameters
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT?oh=what-weird=test/%TESTNUMBER -L
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with resume and redirect
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -C 50 -L
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with resume and redirect (to a page that doesn't resume)
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -C 50 -L
</command>
</client>
<features>
http
</features>
- <name>
+<name>
attempt connect to non-listening socket
- </name>
- <command>
+</name>
+<command>
%HOSTIP:%NOLISTENPORT
</command>
</client>
<killserver>
ftp
</killserver>
- <name>
+<name>
FTP download with strict timeout and slow CWD
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/path/to/file/%TESTNUMBER -m %FTPTIME2
</command>
</client>
<server>
http
</server>
- <name>
+<name>
CURLOPT_COOKIEFILE then reset then set again
- </name>
+</name>
<tool>
lib%TESTNUMBER
</tool>
http
http-proxy
</server>
- <name>
+<name>
HTTP CONNECT with 204 response
- </name>
- <command>
+</name>
+<command>
http://test.%TESTNUMBER:%HTTPPORT/we/want/that/page/%TESTNUMBER -p --proxy %HOSTIP:%PROXYPORT
</command>
<features>
<server>
http
</server>
- <name>
+<name>
CURLOPT_COOKIELIST set to "FLUSH" of a shared cookie object
- </name>
+</name>
<tool>
lib%TESTNUMBER
</tool>
<server>
http
</server>
- <name>
+<name>
CURLOPT_CURLU and CURLOPT_PORT
- </name>
+</name>
<tool>
lib%TESTNUMBER
</tool>
<server>
http
</server>
- <name>
+<name>
CURLINFO_EFFECTIVE_URL with non-scheme URL
- </name>
+</name>
<tool>
lib%TESTNUMBER
</tool>
<server>
http
</server>
- <name>
+<name>
HTTP GET --retry-all-errors to overcome partial transfer
- </name>
+</name>
<command option="no-output,no-include">
--retry 1 --retry-all-errors -o %LOGDIR/outfile%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
<server>
ftp
</server>
- <name>
+<name>
FTP URL with ?-letters in username and password
- </name>
- <command>
+</name>
+<command>
"ftp://use%3fr:pass%3fword@%HOSTIP:%FTPPORT/%TESTNUMBER"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET -w num_connects with one simple connect
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -w "%{num_connects}\n"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET -w num_connects with redirected fetch (2 connects)
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -w "%{num_connects}\n" -L
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP resume transfer with the whole file already downloaded and --fail
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -C 87 --fail
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP response 530 after PASS, temporarily not allowed access
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP transient error, retry request once
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER --retry 1
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET --retry on 503 error with output to stdout
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --retry 1000
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET --retry on 503 error with output to file
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --retry 1000
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with -d, -G and {}
- </name>
- <command>
+</name>
+<command>
-d "foo=moo&moo=poo" "http://%HOSTIP:%HTTPPORT/{%TESTNUMBER,%TESTNUMBER}" -G
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with user and password
- </name>
- <command>
+</name>
+<command>
-u fake:user http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<features>
http
</features>
- <name>
+<name>
attempt connect to non-existing host name
- </name>
- <command>
+</name>
+<command>
--ipv4 non-existing-host.haxx.se.
</command>
</client>
<server>
file
</server>
- <name>
+<name>
basic file:// file
- </name>
+</name>
<command option="no-include">
file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt
</command>
ftp
file
</server>
- <name>
+<name>
FTP RETR followed by FILE
- </name>
+</name>
<command option="no-include">
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt
</command>
ftp
file
</server>
- <name>
+<name>
HTTP GET followed by FTP RETR followed by FILE
- </name>
+</name>
<command option="no-include">
http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001 ftp://%HOSTIP:%FTPPORT/%TESTNUMBER0002 file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt
</command>
file
tftp
</server>
- <name>
+<name>
HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ
- </name>
+</name>
<command option="no-include">
http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001 ftp://%HOSTIP:%FTPPORT/%TESTNUMBER0002 file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt tftp://%HOSTIP:%TFTPPORT//%TESTNUMBER0003
</command>
file
tftp
</server>
- <name>
+<name>
HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ then again in reverse order
- </name>
+</name>
<command option="no-include">
http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001 ftp://%HOSTIP:%FTPPORT/%TESTNUMBER0002 file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt tftp://%HOSTIP:%TFTPPORT//%TESTNUMBER0003 tftp://%HOSTIP:%TFTPPORT//%TESTNUMBER0003 file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt ftp://%HOSTIP:%FTPPORT/%TESTNUMBER0002 http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001
</command>
tftp
sftp
</server>
- <name>
+<name>
TFTP RRQ followed by SFTP retrieval followed by FILE followed by SCP retrieval then again in reverse order
- </name>
+</name>
<command option="no-include">
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: tftp://%HOSTIP:%TFTPPORT//%TESTNUMBER sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/test%TESTNUMBER.txt file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt scp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/test%TESTNUMBER.txt file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/test%TESTNUMBER.txt tftp://%HOSTIP:%TFTPPORT//%TESTNUMBER --insecure
</command>
<server>
file
</server>
- <name>
+<name>
missing file:// file
- </name>
- <command>
+</name>
+<command>
file://localhost/%PWD/%LOGDIR/non-existent-file.txt
</command>
</client>
<server>
file
</server>
- <name>
+<name>
two file:// URLs to stdout
- </name>
+</name>
<command option="no-include">
file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt FILE://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt
</command>
libauthretry
</tool>
- <name>
+<name>
HTTP authorization retry (Basic)
- </name>
+</name>
<setenv>
# we force our own host name, in order to make the test machine independent
CURL_GETHOSTNAME=curlhost
# we try to use the LD_PRELOAD hack, if not a debug build
LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
</setenv>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER basic basic
</command>
<precheck>
libauthretry
</tool>
- <name>
+<name>
HTTP authorization retry (Basic switching to Digest)
- </name>
+</name>
<setenv>
# we force our own host name, in order to make the test machine independent
CURL_GETHOSTNAME=curlhost
# we try to use the LD_PRELOAD hack, if not a debug build
LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
</setenv>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER basic digest
</command>
<precheck>
libauthretry
</tool>
- <name>
+<name>
HTTP authorization retry (Digest switching to Basic)
- </name>
+</name>
<setenv>
# we force our own host name, in order to make the test machine independent
CURL_GETHOSTNAME=curlhost
# we try to use the LD_PRELOAD hack, if not a debug build
LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
</setenv>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER digest basic
</command>
<precheck>
libauthretry
</tool>
- <name>
+<name>
HTTP authorization retry (Digest)
- </name>
+</name>
<setenv>
# we force our own host name, in order to make the test machine independent
CURL_GETHOSTNAME=curlhost
# we try to use the LD_PRELOAD hack, if not a debug build
LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
</setenv>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER digest digest
</command>
<precheck>
<server>
file
</server>
- <name>
+<name>
file:/path URL with a single slash
- </name>
+</name>
<setenv>
# Needed for MSYS2 to not convert
MSYS2_ARG_CONV_EXCL=file:
<server>
https Server-localhost-sv.pem
</server>
- <name>
+<name>
simple HTTPS GET with DER public key pinning (Schannel variant)
- </name>
+</name>
<setenv>
# This test is pointless if we're not using the schannel backend
CURL_SSL_BACKEND=schannel
</setenv>
- <command>
+<command>
--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --pinnedpubkey %SRCDIR/certs/Server-localhost-sv.pub.der --ssl-revoke-best-effort https://localhost:%HTTPSPORT/%TESTNUMBER
</command>
# Ensure that we're running on localhost because we're checking the host name
<server>
https Server-localhost-sv.pem
</server>
- <name>
+<name>
simple HTTPS GET with DER public key pinning
- </name>
- <command>
+</name>
+<command>
--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --pinnedpubkey %SRCDIR/certs/Server-localhost-sv.pub.der https://localhost:%HTTPSPORT/%TESTNUMBER
</command>
# Ensure that we're running on localhost because we're checking the host name
<server>
https Server-localhost-sv.pem
</server>
- <name>
+<name>
HTTPS wrong DER pinnedpubkey but right CN
- </name>
- <command>
+</name>
+<command>
--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --pinnedpubkey %SRCDIR/certs/Server-localhost-sv.der https://localhost:%HTTPSPORT/%TESTNUMBER
</command>
# Ensure that we're running on localhost because we're checking the host name
<features>
http
</features>
- <name>
+<name>
HTTP, -O with no slash at all in the URL
- </name>
+</name>
<command option="no-output">
%HOSTIP:%NOLISTENPORT -O
</command>
<server>
https Server-localhost-sv.pem
</server>
- <name>
+<name>
simple HTTPS GET with PEM public key pinning
- </name>
- <command>
+</name>
+<command>
--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --pinnedpubkey %SRCDIR/certs/Server-localhost-sv.pub.pem https://localhost:%HTTPSPORT/%TESTNUMBER
</command>
# Ensure that we're running on localhost because we're checking the host name
<server>
https Server-localhost-sv.pem
</server>
- <name>
+<name>
HTTPS wrong PEM pinnedpubkey but right CN
- </name>
- <command>
+</name>
+<command>
--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --pinnedpubkey %SRCDIR/certs/Server-localhost-sv.pem https://localhost:%HTTPSPORT/%TESTNUMBER
</command>
# Ensure that we're running on localhost because we're checking the host name
<server>
ftp
</server>
- <name>
+<name>
FTP (optional .netrc with 'default' override; no user/pass) dir list PASV
- </name>
- <command>
+</name>
+<command>
--netrc-optional --netrc-file %LOGDIR/netrc%TESTNUMBER ftp://%HOSTIP:%FTPPORT/
</command>
<file name="%LOGDIR/netrc%TESTNUMBER" >
<server>
file
</server>
- <name>
+<name>
"upload" with file://
- </name>
+</name>
<command option="no-include">
file://localhost%FILE_PWD/%LOGDIR/result%TESTNUMBER.txt -T %LOGDIR/upload%TESTNUMBER.txt
</command>
<server>
https Server-localhost-sv.pem
</server>
- <name>
+<name>
simple HTTPS GET with base64-sha256 public key pinning
- </name>
- <command>
+</name>
+<command>
--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --pinnedpubkey sha256//AAUDLk4c98xcFUDvA9i/MnA9HuO03IPi15r+Cx9OXnc= https://localhost:%HTTPSPORT/%TESTNUMBER
</command>
# Ensure that we're running on localhost because we're checking the host name
<server>
https Server-localhost-sv.pem
</server>
- <name>
+<name>
HTTPS wrong base64-sha256 pinnedpubkey but right CN
- </name>
- <command>
+</name>
+<command>
--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --pinnedpubkey sha256//bSIggTf+ikMG0CtmDlpMVBd7yi7H1md4URogRPqerso= https://localhost:%HTTPSPORT/%TESTNUMBER
</command>
# Ensure that we're running on localhost because we're checking the host name
<server>
none
</server>
- <name>
+<name>
Disable certificate revocation checks
- </name>
- <command>
+</name>
+<command>
--ssl-no-revoke -I https://revoked.badssl.com/
</command>
</client>
<precheck>
perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");'
</precheck>
- <name>
+<name>
Connection reuse with IDN host name
- </name>
+</name>
- <command>
+<command>
http://åäö.se:%HTTPPORT/%TESTNUMBER --resolve xn--4cab6c.se:%HTTPPORT:%HOSTIP -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L
</command>
</client>
<precheck>
perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");'
</precheck>
- <name>
+<name>
Connection reuse with IDN host name over HTTP proxy
- </name>
+</name>
- <command>
+<command>
http://åäö.se/%TESTNUMBER -x %HOSTIP:%HTTPPORT -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L
</command>
</client>
<server>
http
</server>
- <name>
+<name>
Connect to specific host
- </name>
+</name>
- <command>
+<command>
http://www1.example.com:8081/%TESTNUMBER --connect-to ::%HOSTIP:%HTTPPORT --next http://www2.example.com:8082/%TESTNUMBER --connect-to :8082:%HOSTIP:%HTTPPORT --next http://www3.example.com:8083/%TESTNUMBER --connect-to www3.example.com::%HOSTIP:%HTTPPORT --next http://www4.example.com:8084/%TESTNUMBER --connect-to www4.example.com:8084:%HOSTIP:%HTTPPORT
</command>
</client>
<server>
file
</server>
- <name>
+<name>
"upload" with file://
- </name>
+</name>
<command option="no-include">
file://localhost/%PWD/%LOGDIR/nonexisting/result%TESTNUMBER.txt -T %LOGDIR/upload%TESTNUMBER.txt
</command>
http
http-proxy
</server>
- <name>
+<name>
Connect to specific host via HTTP proxy (switch to tunnel mode automatically)
- </name>
+</name>
- <command>
+<command>
http://www.example.com.%TESTNUMBER/%TESTNUMBER --connect-to ::connect.example.com.%TESTNUMBER:%HTTPPORT -x %HOSTIP:%PROXYPORT
</command>
<features>
<server>
http
</server>
- <name>
+<name>
Connect to specific host: Reuse existing connections if possible
- </name>
+</name>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -w "%{num_connects}\n" --next --connect-to ::%HOSTIP:%HTTPPORT http://%HOSTIP:%HTTPPORT/%TESTNUMBER -w "%{num_connects}\n" --next http://%HOSTIP:%HTTPPORT/%TESTNUMBER -w "%{num_connects}\n"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
Connect to specific host: Do not mix connections with and without a "connect to host"
- </name>
+</name>
- <command>
+<command>
http://www.example.com:%HTTPPORT/%TESTNUMBER --resolve www.example.com:%HTTPPORT:%HOSTIP -w "%{num_connects}\n" --next --resolve -www.example.com:%HTTPPORT --connect-to ::%HOSTIP:%HTTPPORT http://www.example.com:%HTTPPORT/%TESTNUMBER -w "%{num_connects}\n"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
Connect to specific host with IP addresses
- </name>
+</name>
- <command>
+<command>
http://10.0.0.1:8081/%TESTNUMBER --connect-to 10.0.0.1:8081:%HOSTIP:%HTTPPORT --next http://[fc00::1]:8082/%TESTNUMBER --connect-to [fc00::1]:8082:%HOSTIP:%HTTPPORT
</command>
</client>
<server>
http
</server>
- <name>
+<name>
Connect to specific host: use the first "connect-to" string that matches
- </name>
+</name>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --connect-to foo::bar: --connect-to :123::456 --next http://www.example.com:%HTTPPORT/%TESTNUMBER --connect-to www.example.com::%HOSTIP: --connect-to www.example.com::foo: --next http://%HOSTIP:8083/%TESTNUMBER --connect-to :8083::%HTTPPORT --connect-to :8083::123 --next http://www.example.com:8084/%TESTNUMBER --connect-to www.example.com:8084:%HOSTIP:%HTTPPORT --connect-to www.example.com:8084:foo:123
</command>
</client>
http-proxy
socks5
</server>
- <name>
+<name>
Connect to specific host via SOCKS proxy and HTTP proxy (switch to tunnel mode automatically)
- </name>
+</name>
<features>
proxy
</features>
- <command>
+<command>
http://www.example.com.%TESTNUMBER/%TESTNUMBER --connect-to ::connect.example.com.%TESTNUMBER:%HTTPPORT -x %HOSTIP:%PROXYPORT --preproxy socks5://%HOSTIP:%SOCKSPORT
</command>
</client>
crypto
proxy
</features>
- <name>
+<name>
HTTP POST --digest with PUT, resumed upload, modified method and SHA-256
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u auser:apasswd --digest -T %LOGDIR/%TESTNUMBER -x http://%HOSTIP:%HTTPPORT -C 2 -X GET
</command>
<file name="%LOGDIR/%TESTNUMBER">
crypto
proxy
</features>
- <name>
+<name>
HTTP POST --digest with PUT, resumed upload, modified method, SHA-256 and userhash=true
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u auser:apasswd --digest -T %LOGDIR/%TESTNUMBER -x http://%HOSTIP:%HTTPPORT -C 2 -X GET
</command>
<file name="%LOGDIR/%TESTNUMBER">
crypto
proxy
</features>
- <name>
+<name>
HTTP proxy CONNECT auth Digest
- </name>
- <command>
+</name>
+<command>
http://test.remote.haxx.se.%TESTNUMBER:8990/path/%TESTNUMBER0002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-digest --proxytunnel
</command>
</client>
crypto
proxy
</features>
- <name>
+<name>
HTTP POST --digest with PUT, resumed upload, modified method, SHA-512-256 and userhash=false
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u auser:apasswd --digest -T %LOGDIR/%TESTNUMBER -x http://%HOSTIP:%HTTPPORT -C 2 -X GET
</command>
<file name="%LOGDIR/%TESTNUMBER">
!SSPI
crypto
</features>
- <name>
+<name>
HTTP with RFC7616 SHA256 Digest authorization
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:testpass --digest
</command>
</client>
!SSPI
crypto
</features>
- <name>
+<name>
HTTP with RFC7616 SHA-512-256 Digest authorization and userhash=false
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:testpass --digest
</command>
</client>
!SSPI
crypto
</features>
- <name>
+<name>
HTTP with RFC7616 SHA-256 Digest authorization and userhash=true
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:testpass --digest
</command>
</client>
!SSPI
crypto
</features>
- <name>
+<name>
HTTP with RFC7616 Digest authorization with bad password and SHA256
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:test2pass --digest
</command>
</client>
!SSPI
crypto
</features>
- <name>
+<name>
HTTP with RFC7616 Digest authorization with bad password, SHA-512-256 and userhash=false
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:test2pass --digest
</command>
</client>
!SSPI
crypto
</features>
- <name>
+<name>
HTTP with RFC7616 Digest authorization with bad password, SHA-256 and userhash=true
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:test2pass --digest
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with chunked Transfer-Encoding closed prematurely
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
https Server-localhost-sv.pem
</server>
- <name>
+<name>
Ignore certificate revocation "best effort" strategy
- </name>
+</name>
<setenv>
# This test is pointless if we're not using the schannel backend
CURL_SSL_BACKEND=schannel
</setenv>
- <command>
+<command>
--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --ssl-revoke-best-effort https://localhost:%HTTPSPORT/%TESTNUMBER
</command>
# Ensure that we're running on localhost because we're checking the host name
<server>
file
</server>
- <name>
+<name>
basic file:// file with "127.0.0.1" hostname
- </name>
+</name>
<command option="no-include">
file://127.0.0.1%FILE_PWD/%LOGDIR/test2070.txt
</command>
<server>
http
</server>
- <name>
+<name>
HTTP form posts with handle reset
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -F 'name=a;filename=a.pdf' --next http://%HOSTIP:%HTTPPORT/%TESTNUMBER -F 'name=b;filename=b.jpg'
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --oauth2-bearer mF_9.B5f-4.1JqM
</command>
</client>
<server>
https Server-localhost-sv.pem
</server>
- <name>
+<name>
simple HTTPS GET with PEM public key pinning (Schannel variant)
- </name>
+</name>
<setenv>
# This test is pointless if we're not using the schannel backend
CURL_SSL_BACKEND=schannel
</setenv>
- <command>
+<command>
--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --pinnedpubkey %SRCDIR/certs/Server-localhost-sv.pub.pem --ssl-revoke-best-effort https://localhost:%HTTPSPORT/%TESTNUMBER
</command>
# Ensure that we're running on localhost because we're checking the host name
ftp
proxy
</features>
- <name>
+<name>
HTTP PUT to a FTP URL with username+password - over HTTP proxy
- </name>
- <command>
+</name>
+<command>
-x http://%HOSTIP:%HTTPPORT ftp://daniel:mysecret@host.com/we/want/%TESTNUMBER -T %LOGDIR/test%TESTNUMBER.txt
</command>
<file name="%LOGDIR/test%TESTNUMBER.txt">
<server>
http
</server>
- <name>
+<name>
Automatic referrer credential and anchor stripping check
- </name>
- <command>
+</name>
+<command>
http://user:pass@%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER#anchor --location --referer ';auto' --write-out '%{referer}\n'
</command>
</client>
<server>
https Server-localhost-sv.pem
</server>
- <name>
+<name>
simple HTTPS GET with base64-sha256 public key pinning (Schannel variant)
- </name>
+</name>
<setenv>
# This test is pointless if we're not using the schannel backend
CURL_SSL_BACKEND=schannel
</setenv>
- <command>
+<command>
--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --pinnedpubkey sha256//AAUDLk4c98xcFUDvA9i/MnA9HuO03IPi15r+Cx9OXnc= --ssl-revoke-best-effort https://localhost:%HTTPSPORT/%TESTNUMBER
</command>
# Ensure that we're running on localhost because we're checking the host name
<server>
http
</server>
- <name>
+<name>
use curl with multiple request methods
- </name>
- <command>
+</name>
+<command>
-I -d FOOO -F moo=moo localhost
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
Get two FTP files from the same remote dir: no second CWD
- </name>
+</name>
<command option="no-include">
ftp://%HOSTIP:%FTPPORT/a/path/%TESTNUMBER ftp://%HOSTIP:%FTPPORT/a/path/%TESTNUMBER
</command>
DoH
ipv6
</features>
- <name>
+<name>
HTTP GET using DoH
- </name>
- <command>
+</name>
+<command>
http://foo.example.com:%HTTPPORT/%TESTNUMBER --doh-url http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
Get two FTP files with no remote EPSV support
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/a/path/%TESTNUMBER ftp://%HOSTIP:%FTPPORT/a/path/%TESTNUMBER
</command>
<stdout>
<features>
ipv6
</features>
- <name>
+<name>
Get two FTP files with no remote EPRT support
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/a/path/%TESTNUMBER ftp://%HOSTIP:%FTPPORT/a/path/%TESTNUMBER -P -
</command>
<stdout>
<server>
http
</server>
- <name>
+<name>
HTTP URL with escaped { and }
- </name>
+</name>
<command>
"http://%HOSTIP:%HTTPPORT/\{\}\/%TESTNUMBER"
</command>
<server>
ftp
</server>
- <name>
+<name>
Get two FTP dir listings from the same remote dir: no second CWD
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/a/path/%TESTNUMBER/ ftp://%HOSTIP:%FTPPORT/a/path/%TESTNUMBER/
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP upload two files to the same dir
- </name>
- <command>
+</name>
+<command>
-T %LOGDIR/upload.%TESTNUMBER ftp://%HOSTIP:%FTPPORT/a/path/%TESTNUMBER/ -T %LOGDIR/upload.%TESTNUMBER ftp://%HOSTIP:%FTPPORT/a/path/%TESTNUMBER/%2e%2eanotherup.%TESTNUMBER
</command>
<file name="%LOGDIR/upload.%TESTNUMBER">
<server>
http
</server>
- <name>
+<name>
HTTP proxy CONNECT to proxy returning 405
- </name>
- <command>
+</name>
+<command>
http://test.remote.example.com.%TESTNUMBER:%HTTPPORT/path/%TESTNUMBER0002 --proxy http://%HOSTIP:%HTTPPORT --proxytunnel -w "%{http_code} %{http_connect}\n"
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP PUT from a file but enforce chunked transfer-encoding
- </name>
- <command>
+</name>
+<command>
-T %LOGDIR/file%TESTNUMBER -H "Transfer-Encoding: chunked" http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
<file name="%LOGDIR/file%TESTNUMBER">
http
proxy
</features>
- <name>
+<name>
try using proxy with unsupported scheme
- </name>
- <command>
+</name>
+<command>
-x foo://%HOSTIP:%NOLISTENPORT/%TESTNUMBER http://%HOSTIP:%NOLISTENPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
get HTTP with URL > 10000 bytes
- </name>
- <command>
+</name>
+<command>
%HOSTIP:%HTTPPORT/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET gzip compressed content
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --compressed
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET gzip compressed content with broken gzip header
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --compressed
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET deflate compressed content
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --compressed
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET deflate compressed content with broken deflate header
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --compressed
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET gzip compressed content with huge comment and extra field
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --compressed
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP %0a-code in URL's name part
- </name>
- <command>
+</name>
+<command>
ftp://bad%0auser:passwd@%HOSTIP:%FTPPORT/%TESTNUMBER%0a
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP %0d-code in URL's CWD part
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER%0d
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP with quote ops
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD"
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP RETR with ACCT
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER --ftp-account "one count"
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP RETR with bad ACCT
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER --ftp-account "one count"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
unsupported protocol:// URL
- </name>
- <command>
+</name>
+<command>
htfp://%HOSTIP:%HTTPPORT/none.htfml
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET multiply compressed content
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --compressed
</command>
</client>
<server>
http
</server>
- <name>
+<name>
WebSockets upgrade only
- </name>
- <command>
+</name>
+<command>
ws://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP GET reused handle with first header folded
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER0002
</command>
</client>
<server>
file
</server>
- <name>
+<name>
file:// with resume
- </name>
+</name>
<command option="no-include">
file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt -C 10
</command>
<server>
http
</server>
- <name>
+<name>
HTTP GET deflate raw-compressed content
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --compressed
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP, proxy, site+proxy auth and Location: to new host
- </name>
- <command>
+</name>
+<command>
http://first.host.it.is/we/want/that/page/%TESTNUMBER -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user testing:this --location
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP, proxy, site+proxy auth and Location: to new host using location-trusted
- </name>
- <command>
+</name>
+<command>
http://first.host.it.is/we/want/that/page/%TESTNUMBER -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user testing:this --location-trusted
</command>
<features>
<server>
ftp
</server>
- <name>
+<name>
FTP resumed upload but no file present remotely
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -T %LOGDIR/upload%TESTNUMBER -C -
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
<server>
ftp
</server>
- <name>
+<name>
FTP resume upload but denied access to remote file
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -T %LOGDIR/file%TESTNUMBER.txt -C -
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
ftp
</server>
- <name>
+<name>
FTP getting bad host in 227-response to PASV
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER --disable-epsv
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP getting bad port in response to EPSV
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET fail silently on HTTP error return
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --fail --silent --show-error
</command>
</client>
<server>
http-ipv6
</server>
- <name>
+<name>
HTTP-IPv6 GET
- </name>
- <command>
+</name>
+<command>
-g "http://%HOST6IP:%HTTP6PORT/%TESTNUMBER"
</command>
</client>
http
http/2
</server>
- <name>
+<name>
HTTP/2 GET
- </name>
+</name>
<setenv>
</setenv>
- <command>
+<command>
-k --http2 "https://%HOSTIP:%HTTP2TLSPORT/%TESTNUMBER"
</command>
http
http/2
</server>
- <name>
+<name>
HTTP/2 GET
- </name>
+</name>
<setenv>
</setenv>
- <command>
+<command>
-k --http2 "https://%HOSTIP:%HTTP2TLSPORT/%TESTNUMBER" -d "moo"
</command>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP GET multiple over HTTP/2
- </name>
- <command>
+</name>
+<command>
https://%HOSTIP:%HTTP2TLSPORT/path/%TESTNUMBER %HOSTIP %HTTP2TLSPORT
</command>
</client>
http
http/2
</server>
- <name>
+<name>
HTTP/2 GET
- </name>
+</name>
<setenv>
</setenv>
- <command>
+<command>
-k --http2 -w '%{header_json}\n' "https://%HOSTIP:%HTTP2TLSPORT/%TESTNUMBER"
</command>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP/2 using STREAM_WEIGHTs
- </name>
- <command>
+</name>
+<command>
https://%HOSTIP:%HTTP2TLSPORT/path/%TESTNUMBER %HOSTIP %HTTP2TLSPORT
</command>
</client>
<server>
http-ipv6
</server>
- <name>
+<name>
HTTP-IPv6 GET (using ip6-localhost)
- </name>
- <command>
+</name>
+<command>
-g "http://ip6-localhost:%HTTP6PORT/%TESTNUMBER"
</command>
<precheck>
<server>
http-ipv6
</server>
- <name>
+<name>
HTTP-IPv6 GET with username+password in URL
- </name>
- <command>
+</name>
+<command>
-g "http://foobar:barfoo@%HOST6IP:%HTTP6PORT/%TESTNUMBER"
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP dir listing with nocwd and URL encoded path
- </name>
- <command>
+</name>
+<command>
--ftp-method nocwd ftp://%HOSTIP:%FTPPORT/fir%23t/th%69rd/%TESTNUMBER/
</command>
</client>
!SSPI
crypto
</features>
- <name>
+<name>
HTTP POST --digest
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u auser:apasswd --digest -d "junkelijunk"
</command>
</client>
!SSPI
crypto
</features>
- <name>
+<name>
HTTP POST --digest with server doing a 100 before 401 response
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u auser:apasswd --digest -d "junkelijunk"
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP upload time condition evaluates TRUE => skip upload
- </name>
+</name>
<file name="%LOGDIR/test%TESTNUMBER.txt">
data
to
works
so does it?
</file>
- <command>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -T %LOGDIR/test%TESTNUMBER.txt -z "apr 1 2005 08:00:00"
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP upload time condition evaluates FALSE => upload anyway
- </name>
+</name>
<file name="%LOGDIR/test%TESTNUMBER.txt">
data
to
works
so does it?
</file>
- <command>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -T %LOGDIR/test%TESTNUMBER.txt -z "apr 1 2005 08:00:00"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP 304 response with "illegal" Content-Length: header
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -z "dec 12 12:00:00 1999 GMT"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
looping HTTP Location: following with --max-redirs
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -L --max-redirs 5
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP dir list PASV with slow response
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/
</command>
</client>
http
http/3
</server>
- <name>
+<name>
HTTP/3 GET:
- </name>
- <command>
+</name>
+<command>
--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --http3 --resolve localhost:%HTTP3PORT:%HOSTIP https://localhost:%HTTP3PORT/%TESTNUMBER
</command>
</client>
http
http/3
</server>
- <name>
+<name>
HTTP/3 POST
- </name>
+</name>
<setenv>
</setenv>
- <command>
+<command>
-k --http3 "https://%HOSTIP:%HTTP3PORT/%TESTNUMBER" -d "moo"
</command>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP GET multiple over HTTP/3
- </name>
- <command>
+</name>
+<command>
https://%HOSTIP:%HTTP3PORT/path/%TESTNUMBER %HOSTIP %HTTP3PORT
</command>
</client>
http
http/3
</server>
- <name>
+<name>
HTTP/3 header-api
- </name>
+</name>
<setenv>
</setenv>
- <command>
+<command>
-w '%{header_json}\n' --http3-only --cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --resolve localhost:%HTTP3PORT:%HOSTIP https://localhost:%HTTP3PORT/%TESTNUMBER
</command>
<server>
ftp
</server>
- <name>
+<name>
FTP dir list, PORT with specified IP and slow response
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/ -P %CLIENTIP
</command>
</client>
<server>
ftp-ipv6
</server>
- <name>
+<name>
FTP IPv6 dir list PASV
- </name>
- <command>
+</name>
+<command>
-g "ftp://%HOST6IP:%FTP6PORT/"
</command>
</client>
<server>
ftp-ipv6
</server>
- <name>
+<name>
FTP IPv6 dir list with EPRT
- </name>
- <command>
+</name>
+<command>
-g "ftp://%HOST6IP:%FTP6PORT/" -P -
</command>
</client>
<server>
ftp-ipv6
</server>
- <name>
+<name>
FTP IPv6 dir list PASV and --disable-epsv
- </name>
- <command>
+</name>
+<command>
-g "ftp://%HOST6IP:%FTP6PORT/" --disable-epsv
</command>
</client>
<server>
ftp-ipv6
</server>
- <name>
+<name>
FTP IPv6 dir list with EPRT and --disable-eprt
- </name>
- <command>
+</name>
+<command>
-g "ftp://%HOST6IP:%FTP6PORT/" -P - --disable-eprt
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP resume request over proxy with auth without server supporting it
- </name>
+</name>
<command option="no-output">
-x http://%HOSTIP:%HTTPPORT http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -C - --no-include -o %LOGDIR/fewl%TESTNUMBER.txt -U daniel:stenberg
</command>
<server>
http
</server>
- <name>
+<name>
HTTP Location: following with --netrc-optional
- </name>
- <command>
+</name>
+<command>
http://supersite.com/want/%TESTNUMBER -L -x http://%HOSTIP:%HTTPPORT --netrc-optional --netrc-file %LOGDIR/netrc%TESTNUMBER
</command>
<features>
crypto
proxy
</features>
- <name>
+<name>
HTTP POST multipart without Expect: header using proxy anyauth (Digest)
- </name>
- <command>
+</name>
+<command>
-x http://%HOSTIP:%HTTPPORT http://remotehost:54321/we/want/%TESTNUMBER -F name=daniel -F tool=curl -F file=@%LOGDIR/test%TESTNUMBER.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth
</command>
# We create this file before the command is invoked!
crypto
proxy
</features>
- <name>
+<name>
HTTP POST multipart with Expect: header using proxy anyauth (Digest)
- </name>
- <command>
+</name>
+<command>
-x http://%HOSTIP:%HTTPPORT http://remotehost:54321/we/want/%TESTNUMBER -F name=daniel -F tool=curl -F file=@%LOGDIR/test%TESTNUMBER.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue"
</command>
# We create this file before the command is invoked!
<server>
http
</server>
- <name>
+<name>
specify more -o than URLs
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -o - -o -
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET URL without slash but with questionmark
- </name>
- <command>
+</name>
+<command>
"http://%HOSTIP:%HTTPPORT?%TESTNUMBER"
</command>
</client>
debug
http
</features>
- <name>
+<name>
connection filter connect/destroy unit tests
- </name>
+</name>
</client>
</testcase>
<features>
unittest
</features>
- <name>
+<name>
bufq unit tests
- </name>
+</name>
</client>
</testcase>
<features>
unittest
</features>
- <name>
+<name>
dynhds unit tests
- </name>
+</name>
</client>
</testcase>
<features>
unittest
</features>
- <name>
+<name>
http1 parser unit tests
- </name>
+</name>
</client>
</testcase>
<server>
ftp
</server>
- <name>
+<name>
FTP RETR with 226 response code to TYPE
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
<server>
http-ipv6
</server>
- <name>
+<name>
HTTP-IPv6 GET with proxy specified using IPv6-numerical address
- </name>
- <command>
+</name>
+<command>
-g -x "http://%HOST6IP:%HTTP6PORT" http://veryveryremotesite.com/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with proxy string including http:// and user+password
- </name>
- <command>
+</name>
+<command>
http://we.want.that.site.com/%TESTNUMBER -x http://f%61ke:user@%HOSTIP:%HTTPPORT
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP GET with chunked Transfer-Encoding and chunked trailer
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -D %LOGDIR/heads%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP --ignore-content-length
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --ignore-content-length
</command>
</client>
<server>
http
</server>
- <name>
+<name>
Get same cookie page several times
- </name>
- <command>
+</name>
+<command>
"http://%HOSTIP:%HTTPPORT/want/{%TESTNUMBER,%TESTNUMBER,%TESTNUMBER}" -b none
</command>
<features>
<server>
ftp
</server>
- <name>
+<name>
FTP RETR PASV --ftp-skip-pasv-ip
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER --ftp-skip-pasv-ip --disable-epsv
</command>
</client>
<server>
tftp
</server>
- <name>
+<name>
TFTP retrieve
- </name>
- <command>
+</name>
+<command>
tftp://%HOSTIP:%TFTPPORT//%TESTNUMBER
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP timed conditioned get file with identical time stamp
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -z "2004 jan 1 12:12:12 UTC"
</command>
!SSPI
crypto
</features>
- <name>
+<name>
HTTP with two Digest authorization headers
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:testpass --digest
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP Location: following with --max-redirs 0
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -L --max-redirs 0
</command>
</client>
http
http-proxy
</server>
- <name>
+<name>
HTTP CONNECT with proxytunnel getting two URLs from the same host
- </name>
- <command>
+</name>
+<command>
http://remotesite.com.%TESTNUMBER:%HTTPPORT/we/want/that/page/%TESTNUMBER -p -x %HOSTIP:%PROXYPORT --user iam:myself --proxy-user youare:yourself http://remotesite.com.%TESTNUMBER:%HTTPPORT/we/want/that/page/%TESTNUMBER
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP Location: following with multiple question marks in URLs
- </name>
- <command>
+</name>
+<command>
"http://%HOSTIP:%HTTPPORT/want?uri=http://anything/%TESTNUMBER?secondq/%TESTNUMBER" -L
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP RFC1867-type formposting with custom Content-Type
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -F name=daniel -H "Content-Type: text/info"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with proxy string including http:// and user+empty password
- </name>
- <command>
+</name>
+<command>
http://we.want.that.site.com/%TESTNUMBER -x http://f%61ke:@%HOSTIP:%HTTPPORT
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP with proxy string including http:// and user only
- </name>
- <command>
+</name>
+<command>
http://we.want.that.site.com/%TESTNUMBER -x http://f%61ke@%HOSTIP:%HTTPPORT
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP Location: following with extra spaces in header
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -L
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP --ftp-alternative-to-user on USER failure
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER/ --ftp-alternative-to-user "USER replacement"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP PUT from file with 100 + 401 responses and -f without auth given
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -f -T %LOGDIR/test%TESTNUMBER.txt
</command>
<file name="%LOGDIR/test%TESTNUMBER.txt">
<server>
http
</server>
- <name>
+<name>
HTTP GET with no response body or headers
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
tftp
</server>
- <name>
+<name>
TFTP retrieve on invalid file
- </name>
- <command>
+</name>
+<command>
tftp://%HOSTIP:%TFTPPORT//invalid-file --tftp-blksize 1024
</command>
</client>
<server>
tftp
</server>
- <name>
+<name>
TFTP retrieve of boundary case 512 byte file
- </name>
- <command>
+</name>
+<command>
tftp://%HOSTIP:%TFTPPORT//%TESTNUMBER
</command>
</client>
<server>
tftp
</server>
- <name>
+<name>
TFTP send
- </name>
- <command>
+</name>
+<command>
-T %LOGDIR/test%TESTNUMBER.txt tftp://%HOSTIP:%TFTPPORT// --connect-time 549
</command>
<file name="%LOGDIR/test%TESTNUMBER.txt">
<server>
tftp
</server>
- <name>
+<name>
TFTP send of boundary case 512 byte file
- </name>
- <command>
+</name>
+<command>
-T %LOGDIR/test%TESTNUMBER.txt tftp://%HOSTIP:%TFTPPORT//
</command>
<file name="%LOGDIR/test%TESTNUMBER.txt">
<server>
http
</server>
- <name>
+<name>
HTTP proxy CONNECT with custom User-Agent header
- </name>
- <command>
+</name>
+<command>
http://test.remote.example.com.%TESTNUMBER:%HTTPPORT/path/%TESTNUMBER -H "User-Agent: looser/2015" --proxy http://%HOSTIP:%HTTPPORT --proxytunnel --proxy-header "User-Agent: looser/2007"
</command>
<features>
<features>
file
</features>
- <name>
+<name>
file:// with (unsupported) proxy, authentication and range
- </name>
+</name>
<setenv>
all_proxy=http://fake:user@%HOSTIP:%NOLISTENPORT/
</setenv>
<server>
ftp
</server>
- <name>
+<name>
FTP resume upload but denied access to local file
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -T %LOGDIR/illegal-nonexistent-file -C -
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with 2 secs timeout
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -m 2
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP download maximum filesize exceeded
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER --max-filesize 30
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP download maximum filesize not exceeded
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER --max-filesize 100
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with maximum filesize not exceeded
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --max-filesize 1000
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with maximum filesize exceeded
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --max-filesize 2
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP --ftp-account on ACCT request
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER/ --ftp-account "data for acct"
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP ACCT request without --ftp-account
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER/
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP CWD with --ftp-method multicwd
- </name>
- <command>
+</name>
+<command>
--ftp-method multicwd ftp://%HOSTIP:%FTPPORT/first/second/third/%TESTNUMBER
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP CWD with --ftp-method singlecwd
- </name>
- <command>
+</name>
+<command>
--ftp-method singlecwd ftp://%HOSTIP:%FTPPORT/first/second/third/%TESTNUMBER
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP CWD with --ftp-method nocwd
- </name>
- <command>
+</name>
+<command>
--ftp-method nocwd ftp://%HOSTIP:%FTPPORT/first/second/th%69rd/%TESTNUMBER
</command>
</client>
ftp
proxy
</features>
- <name>
+<name>
FTP over HTTP proxy with user:pass not in url
- </name>
- <command>
+</name>
+<command>
-x http://%HOSTIP:%HTTPPORT -u michal:aybabtu ftp://host.com/we/want/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP POST with auth and contents but with content-length set to 0
- </name>
- <command>
+</name>
+<command>
-d "fooo=mooo&pooo=clue&doo=%20%20%20++++" -u "fake:-user" http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with no data in server reply
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER
</command>
</client>
<server>
https
</server>
- <name>
+<name>
simple HTTPS GET
- </name>
- <command>
+</name>
+<command>
-k https://%HOSTIP:%HTTPSPORT/%TESTNUMBER
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP with multiple and invalid (first) --mail-rcpt and --mail-rcpt-allowfails
- </name>
+</name>
<stdin>
From: different\r
To: another\r
\r
body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP with multiple and invalid (last) --mail-rcpt and --mail-rcpt-allowfails
- </name>
+</name>
<stdin>
From: different\r
To: another\r
\r
body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt invalid.five --mail-from sender@example.com -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP with multiple and invalid (middle) --mail-rcpt and --mail-rcpt-allowfails
- </name>
+</name>
<stdin>
From: different\r
To: another\r
\r
body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP with multiple and invalid (all but one) --mail-rcpt and --mail-rcpt-allowfails
- </name>
+</name>
<stdin>
From: different\r
To: another\r
\r
body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP with multiple invalid (all) --mail-rcpt and --mail-rcpt-allowfails
- </name>
+</name>
<stdin>
From: different\r
To: another\r
\r
body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt invalid.two --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP with invalid --mail-rcpt and --mail-rcpt-allowfails
- </name>
+</name>
<stdin>
From: different\r
To: another\r
\r
body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T -
</command>
</client>
<server>
https
</server>
- <name>
+<name>
HTTPS GET with user and password
- </name>
- <command>
+</name>
+<command>
-k -u fake:user https://%HOSTIP:%HTTPSPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET -w num_headers with redirected fetch (2 connects)
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -w "%{num_headers}\n" -L -o/dev/null
</command>
</client>
<server>
https
</server>
- <name>
+<name>
HTTPS GET over HTTP proxy fails
- </name>
- <command>
+</name>
+<command>
-k -U fake:user -x %HOSTIP:%HTTPPORT https://bad.fakeurl-to.test:%TESTNUMBER/slash/%TESTNUMBER
</command>
</client>
<server>
sftp
</server>
- <name>
+<name>
SFTP correct sha256 host key
- </name>
- <command>
+</name>
+<command>
--hostpubsha256 %SSHSRVSHA256 --key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt
</command>
<setenv>
<server>
scp
</server>
- <name>
+<name>
SCP correct sha256 host key
- </name>
- <command>
+</name>
+<command>
--hostpubsha256 %SSHSRVSHA256 --key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt
</command>
<setenv>
<server>
ftp
</server>
- <name>
+<name>
Get a file via FTP but 550 after MDTM command
- </name>
+</name>
<tool>
lib3027
</tool>
<killserver>
https
</killserver>
- <name>
+<name>
HTTPS with 8 secs timeout
- </name>
- <command>
+</name>
+<command>
-k https://%HOSTIP:%HTTPSPORT/want/%TESTNUMBER -m 8
</command>
</client>
<server>
https
</server>
- <name>
+<name>
HTTPS multipart formpost
- </name>
- <command>
+</name>
+<command>
-k https://%HOSTIP:%HTTPSPORT/we/want/%TESTNUMBER -F name=daniel -F tool=curl -F file=@%LOGDIR/test%TESTNUMBER.txt
</command>
# We create this file before the command is invoked!
<server>
https
</server>
- <name>
+<name>
insecure HTTPS without permission
- </name>
- <command>
+</name>
+<command>
https://%HOSTIP:%HTTPSPORT/want/%TESTNUMBER --cacert moooo
</command>
</client>
<server>
https
</server>
- <name>
+<name>
HTTPS GET, receive no headers only data!
- </name>
- <command>
+</name>
+<command>
-k https://%HOSTIP:%HTTPSPORT/%TESTNUMBER --http0.9
</command>
</client>
perl %SRCDIR/libtest/test%TESTNUMBER.pl %CURL
</precheck>
- <name>
+<name>
simple HTTPS GET with openssl engine
- </name>
- <command>
+</name>
+<command>
--engine openssl -k https://%HOSTIP:%HTTPSPORT/%TESTNUMBER
</command>
</client>
<server>
https
</server>
- <name>
+<name>
simple HTTPS GET with invalid crypto engine
- </name>
- <command>
+</name>
+<command>
--engine invalid-crypto-engine-xyzzy -k https://%HOSTIP:%HTTPSPORT/%TESTNUMBER
</command>
</client>
http
https
</server>
- <name>
+<name>
HTTP Location: redirect to HTTPS URL
- </name>
- <command>
+</name>
+<command>
-k http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -L
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with weirdly formatted cookies and cookiejar storage
- </name>
+</name>
# Explicitly set the time zone to a known good one, in case the user is
# using one of the 'right' zones that take into account leap seconds
# which causes the cookie expiry times to be different.
<setenv>
TZ=GMT
</setenv>
- <command>
+<command>
http://test31.curl:%HTTPPORT/we/want/%TESTNUMBER -b none -c %LOGDIR/jar%TESTNUMBER.txt --resolve test31.curl:%HTTPPORT:127.0.0.1
</command>
<precheck>
<server>
https Server-localhost-sv.pem
</server>
- <name>
+<name>
simple HTTPS GET
- </name>
- <command>
+</name>
+<command>
--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt https://localhost:%HTTPSPORT/%TESTNUMBER
</command>
# Ensure that we're running on localhost because we're checking the host name
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
verify certificate chain order with simple HTTPS GET
- </name>
- <command>
+</name>
+<command>
https://%HOSTIP:%HTTPSPORT/%TESTNUMBER
</command>
</client>
<server>
https Server-localhost0h-sv.pem
</server>
- <name>
+<name>
HTTPS wrong subjectAltName but right CN
- </name>
- <command>
+</name>
+<command>
--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt https://localhost:%HTTPSPORT/%TESTNUMBER
</command>
# Ensure that we're running on localhost because we're checking the host name
<server>
https Server-localhost.nn-sv.pem
</server>
- <name>
+<name>
HTTPS GET to localhost and null-prefixed CN cert
- </name>
- <command>
+</name>
+<command>
--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt https://localhost:%HTTPSPORT/%TESTNUMBER
</command>
# Ensure that we're running on localhost because we're checking the host name
<server>
https Server-localhost-sv.pem
</server>
- <name>
+<name>
CRL test
- </name>
- <command>
+</name>
+<command>
--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --crlfile %SRCDIR/certs/Server-localhost-sv.crl https://localhost:%HTTPSPORT/%TESTNUMBER
</command>
# Ensure that we're running on localhost because we're checking the host name
<server>
http
</server>
- <name>
+<name>
HTTP GET brotli compressed content
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --compressed
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET brotli compressed content with broken header
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --compressed
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET brotli compressed content of size more than CURL_MAX_WRITE_SIZE
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --compressed
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with custom Authorization: and redirect to new host
- </name>
- <command>
+</name>
+<command>
http://first.host.it.is/we/want/that/page/%TESTNUMBER -x %HOSTIP:%HTTPPORT -H "Authorization: s3cr3t" --proxy-user testing:this --location
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP with custom Authorization: and redirect to new host
- </name>
- <command>
+</name>
+<command>
http://first.host.it.is/we/want/that/page/%TESTNUMBER -x %HOSTIP:%HTTPPORT -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP GET gzip transfer-encoded data in raw mode
- </name>
+</name>
<command option="no-include">
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --raw
</command>
<server>
http
</server>
- <name>
+<name>
HTTP with -d and -G
- </name>
- <command>
+</name>
+<command>
-d "foo=moo&moo=poo" http://%HOSTIP:%HTTPPORT/%TESTNUMBER -G
</command>
</client>
<features>
TLS-SRP
</features>
- <name>
+<name>
simple TLS-SRP HTTPS GET, check user in response
- </name>
+</name>
<command>
--insecure --tlsauthtype SRP --tlsuser jsmith --tlspassword abc -A curl-test-suite https://%HOSTIP:%HTTPTLSPORT
</command>
<features>
unittest
</features>
- <name>
+<name>
curl_get_line unit tests
- </name>
+</name>
<command>
%LOGDIR/curl_get_line%TESTNUMBER
</command>
<server>
http-ipv6
</server>
- <name>
+<name>
HTTP-IPv6 GET with PROXY protocol with spoofed client IP
- </name>
- <command>
+</name>
+<command>
-g "http://%HOST6IP:%HTTP6PORT/%TESTNUMBER" --haproxy-clientip "2001:db8::"
</command>
<features>
<features>
TLS-SRP
</features>
- <name>
+<name>
TLS-SRP with bad username and password
- </name>
+</name>
<command>
--insecure --tlsauthtype SRP --tlsuser baduser --tlspassword badpass https://%HOSTIP:%HTTPTLSPORT
</command>
<features>
TLS-SRP
</features>
- <name>
+<name>
TLS-SRP with bad password
- </name>
+</name>
<command>
--insecure --tlsauthtype SRP --tlsuser jsmith --tlspassword badpass https://%HOSTIP:%HTTPTLSPORT
</command>
<features>
TLS-SRP
</features>
- <name>
+<name>
TLS-SRP to non-TLS-SRP server
- </name>
+</name>
<command>
--insecure --tlsauthtype SRP --tlsuser jsmith --tlspassword badpass https://%HOSTIP:%HTTPSPORT/want/%TESTNUMBER
</command>
<features>
TLS-SRP
</features>
- <name>
+<name>
TLS-SRP with server cert checking
- </name>
+</name>
<command> # no --insecure
--tlsauthtype SRP --tlsuser jsmith --tlspassword abc https://%HOSTIP:%HTTPTLSPORT/want/fails
</command>
<server>
https
</server>
- <name>
+<name>
HTTPS with attempted redirect to denied HTTP
- </name>
- <command>
+</name>
+<command>
-k https://%HOSTIP:%HTTPSPORT/%TESTNUMBER --proto-redir -http --location
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET chunked data in raw mode
- </name>
+</name>
<command option="no-include">
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --raw
</command>
<server>
http
</server>
- <name>
+<name>
HTTP with cookiejar without cookies left
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -b none -c %LOGDIR/cookies%TESTNUMBER http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER0002
</command>
<features>
<features>
libz
</features>
- <name>
+<name>
HTTP with "Content-Encoding: none
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/hello/%TESTNUMBER --compressed
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP cookie with Max-Age=0
- </name>
+</name>
# Explicitly set the time zone to a known good one, in case the user is
# using one of the 'right' zones that take into account leap seconds
# which causes the cookie expiry times to be different.
<setenv>
TZ=GMT
</setenv>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -b %LOGDIR/jar%TESTNUMBER.txt -b %LOGDIR/jar%TESTNUMBER-2.txt -H "Host: host.foo.com" http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER0002
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP PUT with resume
- </name>
+</name>
<file name="%LOGDIR/test%TESTNUMBER.txt">
012345678
012345678
012345678
012345678
</file>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -T%LOGDIR/test%TESTNUMBER.txt -C 50
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with custom Cookie: and redirect to new host
- </name>
- <command>
+</name>
+<command>
http://first.host.it.is/we/want/that/page/%TESTNUMBER -x %HOSTIP:%HTTPPORT -H "Cookie: test=yes" --location
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP with cookie using host name 'moo'
- </name>
- <command>
+</name>
+<command>
-x http://%HOSTIP:%HTTPPORT http://moo/we/want/%TESTNUMBER -b none http://moo/we/want/%TESTNUMBER0002
</command>
<features>
<server>
tftp
</server>
- <name>
+<name>
TFTP retrieve with blksize 400
- </name>
- <command>
+</name>
+<command>
tftp://%HOSTIP:%TFTPPORT//%TESTNUMBER --tftp-blksize 400
</command>
</client>
<server>
none
</server>
- <name>
+<name>
Try a non-boolean command line option with --no-
- </name>
- <command>
+</name>
+<command>
--no-proxy "hey" http://%HOSTIP:%NOLISTENPORT/%TESTNUMBER
</command>
</client>
crypto
proxy
</features>
- <name>
+<name>
HTTP with proxy Digest and site Digest with creds in URLs
- </name>
- <command>
+</name>
+<command>
http://digest:alot@data.from.server.requiring.digest.hohoho.com/%TESTNUMBER --proxy http://foo:bar@%HOSTIP:%HTTPPORT --proxy-digest --digest
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP range download when SIZE doesn't work
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER --range 3-6
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP range download with SIZE returning extra crap
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER --range 3-6
</command>
</client>
<server>
http
</server>
- <name>
+<name>
ANYAUTH connection reuse of non-authed connection
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --next http://%HOSTIP:%HTTPPORT/%TESTNUMBER --anyauth -u foo:moo
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with chunked Transfer-Encoding
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP using %00 in path with singlecwd
- </name>
- <command>
+</name>
+<command>
--ftp-method singlecwd ftp://%HOSTIP:%FTPPORT/%00first/second/third/%TESTNUMBER
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP upload file with 552 disk full response
- </name>
+</name>
<file name="%LOGDIR/test%TESTNUMBER.txt">
data
to
works
so does it?
</file>
- <command>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -T %LOGDIR/test%TESTNUMBER.txt
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET --fail-with-body on HTTP error return
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --fail-with-body
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP root dir list multicwd
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT// --ftp-method multicwd
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP root dir list nocwd
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT// --ftp-method nocwd
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP root dir list singlecwd
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT// --ftp-method singlecwd
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP home dir list singlecwd
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/ --ftp-method singlecwd
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP without password
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
<server>
http
</server>
- <name>
+<name>
load Alt-Svc from file and use
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --alt-svc ""
</command>
<file name="%LOGDIR/altsvc-%TESTNUMBER">
<server>
http
</server>
- <name>
+<name>
parse incoming Alt-Svc and save to file
- </name>
+</name>
<setenv>
# make debug-curl accept Alt-Svc over plain HTTP
CURL_ALTSVC_HTTP="yeah"
</setenv>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --alt-svc "%LOGDIR/altsvc-%TESTNUMBER"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP PUT with Expect: 100-continue and 417 response
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -T %LOGDIR/test%TESTNUMBER.txt --expect100-timeout 999
</command>
# 1053700 x 'x', large enough to invoke the 100-continue behaviour
http
http/2
</server>
- <name>
+<name>
HTTPS GET translated by alt-svc lookup to HTTP/2 GET
- </name>
+</name>
<setenv>
# make debug-curl accept Alt-Svc over plain HTTP
CURL_ALTSVC_HTTP="yeah"
</setenv>
- <command>
+<command>
--http2 --alt-svc "%LOGDIR/altsvc-%TESTNUMBER" "http://%HOSTIP:%HTTPPORT/%TESTNUMBER" "http://%HOSTIP:%HTTPPORT/%TESTNUMBER"
</command>
<file name="%LOGDIR/altsvc-%TESTNUMBER">
https
http/2
</server>
- <name>
+<name>
HTTPS GET translated by alt-svc lookup to HTTP/2 GET
- </name>
+</name>
<setenv>
# make debug-curl accept Alt-Svc over plain HTTP
CURL_ALTSVC_HTTP="yeah"
</setenv>
- <command>
+<command>
--http2 --alt-svc "%LOGDIR/altsvc-%TESTNUMBER" "http://%HOSTIP:%HTTPSPORT/%TESTNUMBER" "http://%HOSTIP:%HTTPSPORT/%TESTNUMBER"
</command>
<file name="%LOGDIR/altsvc-%TESTNUMBER">
<server>
http
</server>
- <name>
+<name>
HTTP GET with bad chunked Transfer-Encoding
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
Error on both --fail-with-body and --fail
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --fail-with-body --fail
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET --fail-with-body on HTTP error return - twice
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER --fail-with-body
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP resume upload file with nothing to start from
- </name>
+</name>
<file name="%LOGDIR/test%TESTNUMBER.txt">
data
to
works
so does it?
</file>
- <command>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -T %LOGDIR/test%TESTNUMBER.txt --continue-at -
</command>
</client>
http
http-proxy
</server>
- <name>
+<name>
CONNECT with short sends
- </name>
+</name>
<setenv>
# make the first send cut off after this amount of data
CURL_SMALLREQSEND=8
# make repeated sends small too
CURL_SMALLSENDS=8
</setenv>
- <command>
+<command>
http://test.%TESTNUMBER:%HTTPPORT/we/want/that/page/%TESTNUMBER -p -x %HOSTIP:%PROXYPORT -d "datatopost=ohthatsfunyesyes"
</command>
</client>
<server>
https
</server>
- <name>
+<name>
HTTPS PUT of small file
- </name>
- <command>
+</name>
+<command>
-k https://%HOSTIP:%HTTPSPORT/we/want/%TESTNUMBER -T %LOGDIR/test%TESTNUMBER.txt
</command>
<file name="%LOGDIR/test%TESTNUMBER.txt">
<server>
http
</server>
- <name>
+<name>
HTTP/1.1 with chunked AND Content-Length headers
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP --retry-max-time with too long Retry-After
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --retry 2 --retry-max-time 10
</command>
</client>
<server>
http
</server>
- <name>
+<name>
Append dash if -r range specified without one
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -r 4
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with nothing returned from server
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
using more -o than URLs in the command line
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -o %LOGDIR/dump -o %LOGDIR/dump2 --no-progress-meter
</command>
</client>
<server>
http
</server>
- <name>
+<name>
--remove-on-error
- </name>
+</name>
<command option="no-output">
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -o %LOGDIR/save-%TESTNUMBER --remove-on-error
</command>
<server>
none
</server>
- <name>
+<name>
Reject using -T and -d at once
- </name>
- <command>
+</name>
+<command>
-T %LOGDIR/%TESTNUMBER -d input http://never-accessed
</command>
</client>
<server>
http
</server>
- <name>
+<name>
--remove-on-error with --no-clobber and an added number
- </name>
+</name>
<command option="no-output">
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -o %LOGDIR/save --remove-on-error --no-clobber
</command>
<server>
http
</server>
- <name>
+<name>
HTTP resume request without server supporting it
- </name>
+</name>
<command option="no-output">
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -C - --no-include -o %LOGDIR/fewl%TESTNUMBER.txt
</command>
<server>
http
</server>
- <name>
+<name>
HTTP with --json
- </name>
- <command>
+</name>
+<command>
--json '{ "drink": "coffe" }' http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with --json from stdin
- </name>
+</name>
<stdin>
{ "drink": "coffe" }
</stdin>
<server>
http
</server>
- <name>
+<name>
HTTP with --json x 2
- </name>
- <command>
+</name>
+<command>
--json '{ "drink": "coffe",' --json ' "crunch": "cookie" }' http://%HOSTIP:%HTTPPORT/%TESTNUMBER -H "Content-Type: drinks/hot"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with --json + --next
- </name>
- <command>
+</name>
+<command>
--json '{ "drink": "coffe" }' http://%HOSTIP:%HTTPPORT/%TESTNUMBER --next http://%HOSTIP:%HTTPPORT/%TESTNUMBER0002
</command>
</client>
!SSPI
crypto
</features>
- <name>
+<name>
HTTP with Digest and multiple qop values with leading space
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001 -u testuser:testpass --digest http://%HOSTIP:%HTTPPORT/%TESTNUMBER0002
</command>
</client>
<server>
http
</server>
- <name>
+<name>
*.localhost is a local host
- </name>
- <command>
+</name>
+<command>
http://curlmachine.localhost:%HTTPPORT/%TESTNUMBER
</command>
# Ensure that we're running on localhost
<server>
http
</server>
- <name>
+<name>
HTTP RFC1867-type formposting with filename= and type=
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2=<verbatim;type=xxx/yyy" -F "file=@%LOGDIR/test%TESTNUMBER.txt;type=moo/foobar;filename=fakerfile" -F file2=@%LOGDIR/test%TESTNUMBER.txt -F "file3=@\"%LOGDIR/test%TESTNUMBER.txt\";type=mo/foo;filename=\"f\\\\\\\\ak\\\\\\er,\\\\an\\d;.t\\\"xt\"" -F 'file4=@"%LOGDIR/test%TESTNUMBER.txt"; filename="A\\AA\"\"\\\"ZZZ"'
</command>
# We create this file before the command is invoked!
<server>
http
</server>
- <name>
+<name>
--path-as-is with redirect, keeping dotdots
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/../../%TESTNUMBER --path-as-is -L
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP secure cookies over localhost
- </name>
+</name>
<setenv>
TZ=GMT
</setenv>
- <command>
+<command>
http://localhost:%HTTPPORT/%TESTNUMBER -b none http://localhost:%HTTPPORT/%TESTNUMBER
</command>
<precheck>
<server>
http
</server>
- <name>
+<name>
HTTP max-filesize and out-of-range Content-Length
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --max-filesize 2000000
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with rubbish in Content-Length
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP and out-of-range Content-Length
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET zstd compressed content
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --compressed
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET zstd compressed content of size more than CURL_MAX_WRITE_SIZE
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --compressed
</command>
</client>
<server>
http
</server>
- <name>
+<name>
Reject HTTP/1.1 response with colon-less header
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
Replaced internal and added custom HTTP headers
- </name>
- <command>
+</name>
+<command>
-H "extra-header: here" -H "Accept: replaced" -H "X-Custom-Header;" -H "X-Test: foo; " -H "X-Test:" -H "X-Test2: foo;" -H "X-Test3: " -H "X-Test4; " -H "X-Test5;ignored" http://%HOSTIP:%HTTPPORT/%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP redirect with whitespace after ? (and conversion)
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/are/all/twits/%TESTNUMBER -L
</command>
</client>
<server>
ftps
</server>
- <name>
+<name>
FTPS dir list PASV unencrypted data
- </name>
- <command>
+</name>
+<command>
-k --ftp-ssl-control ftps://%HOSTIP:%FTPSPORT/
</command>
</client>
<server>
ftps
</server>
- <name>
+<name>
FTPS PASV upload file
- </name>
+</name>
<file name="%LOGDIR/test%TESTNUMBER.txt">
data
to
works
so does it?
</file>
- <command>
+<command>
-k --ftp-ssl-control ftps://%HOSTIP:%FTPSPORT/%TESTNUMBER -T %LOGDIR/test%TESTNUMBER.txt
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP SSL required on non-SSL server
- </name>
- <command>
+</name>
+<command>
-k --ftp-ssl-reqd ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
<server>
ftps
</server>
- <name>
+<name>
FTPS with CCC not supported by server
- </name>
- <command>
+</name>
+<command>
-k --ftp-ssl-control --ftp-ssl-ccc ftps://%HOSTIP:%FTPSPORT/
</command>
</client>
<server>
ftps
</server>
- <name>
+<name>
FTPS with invalid cacert
- </name>
- <command>
+</name>
+<command>
--ftp-ssl-control --cacert moooo ftps://%HOSTIP:%FTPSPORT/
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTPS operation to FTP port
- </name>
- <command>
+</name>
+<command>
-m 5 -k ftps://%HOSTIP:%FTPPORT/path/to/file/%TESTNUMBER
</command>
</client>
<server>
ftps
</server>
- <name>
+<name>
FTPS dir list, PORT with specified IP
- </name>
- <command>
+</name>
+<command>
-k --ftp-ssl-control -P %CLIENTIP ftps://%HOSTIP:%FTPSPORT/
</command>
</client>
<server>
ftps
</server>
- <name>
+<name>
Get two FTPS files from the same remote dir: no second CWD
- </name>
- <command>
+</name>
+<command>
-k --ftp-ssl-control ftps://%HOSTIP:%FTPSPORT/a/path/%TESTNUMBER ftps://%HOSTIP:%FTPSPORT/a/path/%TESTNUMBER
</command>
<stdout>
<server>
ftps
</server>
- <name>
+<name>
FTPS PORT upload with CWD
- </name>
- <command>
+</name>
+<command>
-k --ftp-ssl-control ftps://%HOSTIP:%FTPSPORT/CWD/STOR/RETR/%TESTNUMBER -T %LOGDIR/upload%TESTNUMBER -P -
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
<server>
ftps
</server>
- <name>
+<name>
FTPS PASV upload file
- </name>
+</name>
<file name="%LOGDIR/test%TESTNUMBER.txt">
data
to
works
so does it?
</file>
- <command>
+<command>
-k --ftp-ssl-control ftps://%HOSTIP:%FTPSPORT/%TESTNUMBER -T %LOGDIR/test%TESTNUMBER.txt
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP formpost with missing file
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -F moo=@boo
</command>
</client>
<server>
https
</server>
- <name>
+<name>
HTTPS GET with very long request header
- </name>
+</name>
# 14 characters repeated 3500 times makes 49000 bytes
<file name="%LOGDIR/file%TESTNUMBER">
Long: %repeat[3500 x header content]%
</file>
- <command>
+<command>
-k https://%HOSTIP:%HTTPSPORT/%TESTNUMBER -H @%LOGDIR/file%TESTNUMBER
</command>
</client>
<server>
none
</server>
- <name>
+<name>
-K with missing file causes error
- </name>
- <command>
+</name>
+<command>
-K %LOGDIR/missing http://localhost
</command>
</client>
<server>
http
</server>
- <name>
+<name>
alt-svc using host name with trailing dot in URL
- </name>
+</name>
<setenv>
# make debug-curl accept Alt-Svc over plain HTTP
CURL_ALTSVC_HTTP="yeah"
</setenv>
- <command>
+<command>
--alt-svc "%LOGDIR/altsvc-%TESTNUMBER" "http://whohoo.:12345/%TESTNUMBER"
</command>
<file name="%LOGDIR/altsvc-%TESTNUMBER">
<server>
http
</server>
- <name>
+<name>
alt-svc using host name with trailing dot on host from file
- </name>
+</name>
<setenv>
# make debug-curl accept Alt-Svc over plain HTTP
CURL_ALTSVC_HTTP="yeah"
</setenv>
- <command>
+<command>
--alt-svc "%LOGDIR/altsvc-%TESTNUMBER" "http://whohoo:12345/%TESTNUMBER"
</command>
<file name="%LOGDIR/altsvc-%TESTNUMBER">
<server>
http
</server>
- <name>
+<name>
HTTP response with control code then negative Content-Length
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP growing file support
- </name>
- <command>
+</name>
+<command>
--ignore-content-length ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
--dump-header to file that cannot be created
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -D loggg/save-here/fails
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP redirect with whitespace in path (and conversion)
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/are/all/twits/%TESTNUMBER -L
</command>
</client>
<server>
http
</server>
- <name>
+<name>
Setting cookies set with expired dates that were loaded from jar
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/func_test/del_cookie -b %LOGDIR/cookie%TESTNUMBER -c %LOGDIR/save%TESTNUMBER
</command>
<file name="%LOGDIR/cookie%TESTNUMBER" mode="text">
<server>
http
</server>
- <name>
+<name>
HTTP PUT with path ending with slash + query
- </name>
- <command>
+</name>
+<command>
-T %LOGDIR/up%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER/?fullpath
</command>
<file name="%LOGDIR/up%TESTNUMBER">
<server>
http
</server>
- <name>
+<name>
HTTP Location: following over HTTP proxy
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -L -x %HOSTIP:%HTTPPORT
</command>
<features>
<server>
http
</server>
- <name>
+<name>
Three -K uses with --next and --data in each
- </name>
- <command>
+</name>
+<command>
-K %LOGDIR/config%TESTNUMBER-a -K %LOGDIR/config%TESTNUMBER-b -K %LOGDIR/config%TESTNUMBER-c
</command>
</client>
<server>
http
</server>
- <name>
+<name>
Two -K uses with --next and then one on cmdline
- </name>
- <command>
+</name>
+<command>
-K %LOGDIR/config%TESTNUMBER-a -K %LOGDIR/config%TESTNUMBER-b --next -d c %HOSTIP:%HTTPPORT/%TESTNUMBER0003 -H "c: c"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
Use -K with --next and --config from within
- </name>
- <command>
+</name>
+<command>
-K %LOGDIR/config%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
Alt-Svc to numerical IPv6 address
- </name>
+</name>
<setenv>
# make debug-curl accept Alt-Svc over plain HTTP
CURL_ALTSVC_HTTP="yeah"
</setenv>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --alt-svc "%LOGDIR/altsvc-%TESTNUMBER"
</command>
</client>
http
http-ipv6
</server>
- <name>
+<name>
HTTPS IPv4 GET translated by alt-svc to IPv6 address
- </name>
+</name>
<setenv>
# make debug-curl accept Alt-Svc over plain HTTP
CURL_ALTSVC_HTTP="yeah"
</setenv>
- <command>
+<command>
--alt-svc "%LOGDIR/altsvc-%TESTNUMBER" "http://%HOSTIP:%HTTPPORT/%TESTNUMBER" "http://%HOSTIP:%HTTPPORT/%TESTNUMBER"
</command>
<file name="%LOGDIR/altsvc-%TESTNUMBER">
<server>
http
</server>
- <name>
+<name>
HTTP RFC1867-type formposting without Expect: header
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -F name=daniel -F tool=curl -F file=@%LOGDIR/test%TESTNUMBER.txt -H "Expect:"
</command>
# We create this file before the command is invoked!
<server>
http-proxy
</server>
- <name>
+<name>
Refuse tunneling protocols through HTTP proxy
- </name>
- <command>
+</name>
+<command>
-x http://%HOSTIP:%PROXYPORT/%TESTNUMBER -p gopher://127.0.0.1 dict://127.0.0.1 http://moo https://example telnet://another ftp://yes ftps://again imap://more ldap://perhaps mqtt://yes pop3://mail rtsp://harder scp://copy sftp://files smb://wird smtp://send
</command>
</client>
<server>
http
</server>
- <name>
+<name>
simple HTTP Location: without protocol in initial URL
- </name>
- <command>
+</name>
+<command>
%HOSTIP:%HTTPPORT/want/%TESTNUMBER -L
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with bad domain name, get cookies and store in cookie jar
- </name>
+</name>
# Explicitly set the time zone to a known good one, in case the user is
# using one of the 'right' zones that take into account leap seconds
# which causes the cookie expiry times to be different from what we expect.
<setenv>
TZ=GMT
</setenv>
- <command>
+<command>
domain..tld:%HTTPPORT/want/%TESTNUMBER --resolve domain..tld:%HTTPPORT:%HOSTIP -c %LOGDIR/jar%TESTNUMBER -b %LOGDIR/injar%TESTNUMBER
</command>
<file name="%LOGDIR/injar%TESTNUMBER">
<server>
http
</server>
- <name>
+<name>
simple HTTP 1.0 GET
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -0
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with -d and -G and -I
- </name>
- <command>
+</name>
+<command>
-d "foo=moo&moo=poo" http://%HOSTIP:%HTTPPORT/%TESTNUMBER -G -I http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP follow redirect with ../
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/are/all/twits/%TESTNUMBER -L
</command>
</client>
<server>
http
</server>
- <name>
+<name>
Two globbed HTTP PUTs
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -T '{%LOGDIR/in%TESTNUMBER,%LOGDIR/in%TESTNUMBER}'
</command>
<file name="%LOGDIR/in%TESTNUMBER">
<server>
http
</server>
- <name>
+<name>
Two globbed HTTP PUTs, the second upload file is missing
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -T '{%LOGDIR/in%TESTNUMBER,%LOGDIR/bad%TESTNUMBER}'
</command>
<file name="%LOGDIR/in%TESTNUMBER">
<server>
http
</server>
- <name>
+<name>
Two globbed HTTP PUTs to two globbed URLs
- </name>
- <command>
+</name>
+<command>
'http://%HOSTIP:%HTTPPORT/{one,two}/' -T '{%LOGDIR/first%TESTNUMBER,%LOGDIR/second%TESTNUMBER}' -H "Testno: %TESTNUMBER"
</command>
<file name="%LOGDIR/first%TESTNUMBER">
<server>
ftp
</server>
- <name>
+<name>
skip 'macdef' when parsing netrc
- </name>
- <command>
+</name>
+<command>
--netrc --netrc-file %LOGDIR/netrc%TESTNUMBER ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
<file name="%LOGDIR/netrc%TESTNUMBER" >
<name>
parallel upload missing file
</name>
- <command>
+<command>
0 -Z -Tz
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP over proxy
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/that/page/%TESTNUMBER#5 -x %HOSTIP:%HTTPPORT
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP follow redirect with ../../
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/are/all/twits/%TESTNUMBER -L
</command>
</client>
lib500
</tool>
- <name>
+<name>
simple libcurl HTTP GET tool
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER %LOGDIR/ip%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
simple libcurl attempt operation without URL set
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%NOLISTENPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
simple multi file:// get
- </name>
- <command>
+</name>
+<command>
file://%PWD/%LOGDIR/test%TESTNUMBER.txt
</command>
<file name="%LOGDIR/test%TESTNUMBER.txt">
<features>
proxy
</features>
- <name>
+<name>
simple multi http:// through proxytunnel with authentication info
- </name>
- <command>
+</name>
+<command>
http://machine.%TESTNUMBER:%HTTPPORT/%TESTNUMBER %HOSTIP:%PROXYPORT
</command>
<file name="%LOGDIR/test%TESTNUMBER.txt">
lib%TESTNUMBER
</tool>
- <name>
+<name>
simple multi through local proxy without listener
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%NOLISTENPORT/%TESTNUMBER %HOSTIP:%NOLISTENPORT
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
FTP upload with rename after transfer
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER %LOGDIR/upload%TESTNUMBER
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
lib%TESTNUMBER
</tool>
- <name>
+<name>
send HTTP POST using read callback
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP follow redirect with excessive ../
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/are/all/twits/%TESTNUMBER -L
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
send HTTP POST using read callback, using chunked transfer-encoding
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
FTP with FILETIME and NOBODY but missing file
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
simple curl_easy_duplicate() test
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
send HTTP POST using read callback that returns CURL_READFUNC_ABORT
- </name>
+</name>
# the 1s post-command delay helps to prevent a spurious failure on s390
<command delay="1">
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
First set options to POST and then to make HEAD
- </name>
+</name>
# the 1s post-command delay helps to prevent a spurious failure on s390
<command delay="1">
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
lib%TESTNUMBER
</tool>
- <name>
+<name>
make a POSTFIELDS set to NULL with POSTFIELDSIZE set to zero
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
make an HTTPPOST set to NULL
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
curl_getdate() testing
- </name>
- <command>
+</name>
+<command>
nothing
</command>
</client>
./libtest/lib%TESTNUMBER check
</precheck>
- <name>
+<name>
HTTP GET with more than FD_SETSIZE descriptors open
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
GET same URL twice with different users
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP follow redirect with ./-prefix
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/are/all/twits/%TESTNUMBER -L
</command>
</client>
lib520
</tool>
- <name>
+<name>
FTP RETR with FILETIME
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/520
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
FTP dir list PASV with CURLOPT_PORT
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP/%TESTNUMBER/ %FTPPORT
</command>
</client>
<tool>
lib521
</tool>
- <name>
+<name>
HTTP GET with CURLOPT_PORT
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP/%TESTNUMBER %HTTPPORT
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP GET with proxy and CURLOPT_PORT
- </name>
+</name>
# first URL then proxy
- <command>
+<command>
http://www.example.com:999/%TESTNUMBER http://%HOSTIP:%HTTPPORT
</command>
<features>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
FTP upload with target URL ending with slash
- </name>
+</name>
# first URL then proxy
- <command>
+<command>
ftp://%HOSTIP:%FTPPORT/path/to/
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
FTP PORT upload using multi interface
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/path/%TESTNUMBER %LOGDIR/upload%TESTNUMBER
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
FTP RETR same file using different handles but same connection
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/path/%TESTNUMBER
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
FTP RETR same file using different handles but same connection
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/path/%TESTNUMBER
</command>
</client>
<tool>
lib526
</tool>
- <name>
+<name>
HTTP GET same file using different handles but same connection
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/path/%TESTNUMBER
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
FTP PORT upload using multi interface (weird cleanup function sequence)
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/path/%TESTNUMBER %LOGDIR/upload%TESTNUMBER
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
<server>
http
</server>
- <name>
+<name>
HTTP, junk session cookies
- </name>
- <command>
+</name>
+<command>
%HOSTIP:%HTTPPORT/want/%TESTNUMBER -b %LOGDIR/injar%TESTNUMBER -j
</command>
<file name="%LOGDIR/injar%TESTNUMBER">
<tool>
lib525
</tool>
- <name>
+<name>
FTP PORT upload using multi interface and get 425 response
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/path/%TESTNUMBER %LOGDIR/upload%TESTNUMBER
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
FTP RETR same file using reset handles between each transfer
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/path/%TESTNUMBER
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
FTP RETR a non-existing file twice using the multi interface
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/path/%TESTNUMBER ftp://%HOSTIP:%FTPPORT/path/%TESTNUMBER
</command>
</client>
<tool>
lib533
</tool>
- <name>
+<name>
FTP RETR twice using multi: non-existing host and non-existing file
- </name>
- <command>
+</name>
+<command>
ftp://non-existing-host.haxx.se/path/%TESTNUMBER ftp://%HOSTIP:%FTPPORT/path/%TESTNUMBER
</command>
</client>
lib533
</tool>
- <name>
+<name>
HTTP GET multi two files with FAILONERROR
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001
</command>
</client>
./libtest/lib%TESTNUMBER check
</precheck>
- <name>
+<name>
HTTP GET with a HUGE number of file descriptors open
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<tool>
lib504
</tool>
- <name>
+<name>
FTP multi-interface download, failed login: PASS not valid
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
Two FTP fetches using different CURLOPT_FTP_FILEMETHOD
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/path/to/the/file/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with blank Location:
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -L
</command>
</client>
crypto
proxy
</features>
- <name>
+<name>
HTTP proxy auth Digest multi API re-using connection
- </name>
- <command>
+</name>
+<command>
http://test.remote.example.com/path/%TESTNUMBER http://%HOSTIP:%HTTPPORT silly:person custom.set.host.name
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
FTP upload and upload same file again without rewind
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER %LOGDIR/upload%TESTNUMBER
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
FTP a file with NOBODY yes and HEADER no
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
curl_easy_escape
- </name>
- <command>
+</name>
+<command>
-
</command>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP POST text data using CURLOPT_COPYPOSTFIELDS
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<tool>
lib533
</tool>
- <name>
+<name>
FTP RETR a non-existing file then a found one using the multi interface
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/path/%TESTNUMBER ftp://%HOSTIP:%FTPPORT/path/%TESTNUMBER
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE
- </name>
+</name>
# first URL then proxy
- <command>
+<command>
ftp://www.example.com/moo/%TESTNUMBER http://%HOSTIP:%HTTPPORT
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP follow redirect with single slash in path
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -L
</command>
</client>
<tool>
lib549
</tool>
- <name>
+<name>
FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE and ASCII transfer
- </name>
+</name>
# first URL then proxy
- <command>
+<command>
ftp://www.example.com/moo/%TESTNUMBER http://%HOSTIP:%HTTPPORT ascii
</command>
</client>
crypto
proxy
</features>
- <name>
+<name>
HTTP proxy auth Digest with POST data from read callback
- </name>
- <command>
+</name>
+<command>
http://test.remote.example.com/path/%TESTNUMBER http://%HOSTIP:%HTTPPORT s1lly:pers0n
</command>
</client>
crypto
proxy
</features>
- <name>
+<name>
HTTP proxy auth Digest with 70K POST data from read callback
- </name>
- <command>
+</name>
+<command>
http://test.remote.example.com/path/%TESTNUMBER http://s1lly:pers0n@%HOSTIP:%HTTPPORT/
</command>
</client>
</tool>
<features>
</features>
- <name>
+<name>
HTTP post with huge request headers and post data from callback
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/path/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP multi-part formpost using read callback for the file part
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
send and recv HTTP
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP POST with *HUGE* request and chunked transfer-encoding
- </name>
+</name>
<stdin>
#
data "we post this"
-A "%repeat[99999 x a]%"
#
</stdin>
- <command>
+<command>
-K - %HOSTIP:%HTTPPORT/that.site.com/%TESTNUMBER
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
simple HTTPS GET with multi interface
- </name>
- <command>
+</name>
+<command>
https://%HOSTIP:%HTTPSPORT/%TESTNUMBER
</command>
</client>
<tool>
lib549
</tool>
- <name>
+<name>
FTP RETR with CURLOPT_PROXY_TRANSFER_MODE, ASCII transfer and type=i
- </name>
+</name>
# first URL then proxy
- <command>
+<command>
"ftp://www.example.com/moo/%TESTNUMBER;type=i" http://%HOSTIP:%HTTPPORT ascii
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
FTP a type=A URL and CURLOPT_PORT set
- </name>
+</name>
# note that we need quotes around the URL below to make sure the shell doesn't
# treat the semicolon as a separator!
- <command>
+<command>
'ftp://%HOSTIP:23456/%TESTNUMBER;type=A' %FTPPORT
</command>
<tool>
lib562
</tool>
- <name>
+<name>
FTP type=A URL and CURLOPT_PORT set and proxy
- </name>
+</name>
<features>
proxy
</features>
</setenv>
# note that we need quotes around the URL below to make sure the shell doesn't
# treat the semicolon as a separator!
- <command>
+<command>
"ftp://%HOSTIP:23456/%TESTNUMBER;type=A" %FTPPORT
</command>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
FTP RETR a file over a SOCKS proxy using the multi interface
- </name>
+</name>
<command>
ftp://%HOSTIP:%FTPPORT/path/%TESTNUMBER %HOSTIP:%SOCKSPORT
</command>
lib%TESTNUMBER
</tool>
- <name>
+<name>
send HTTP POST using read callback, chunked transfer-encoding and Digest
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP GET with CURLINFO_CONTENT_LENGTH_DOWNLOAD and 0 bytes transfer
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER %LOGDIR/ip%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP content-type with spaces in
- </name>
- <command>
+</name>
+<command>
-w "%{content_type}\n" http://%HOSTIP:%HTTPPORT/%TESTNUMBER -o %LOGDIR/out%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
verify connect time with multi interface
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
FTP wildcard download - dup_handle and multi interface
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/fully_simulated/UNIX/*
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
FTP wildcard download - skip/parser_correctness/CURLOPT_FNMATCH_FUNCTION (Unix)
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/fully_simulated/UNIX/*
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP POST lower than MAX_INITIAL_POST_SIZE with progress callback
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER %LOGDIR/ip%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
small chunked HTTP POSTs with digest auth. and progress callback
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER %LOGDIR/ip%TESTNUMBER
</command>
</client>
<name>
HTTP PUT from file with weird letters
</name>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/ -T %LOGDIR/%TESTNUMBERte[]st.txt -g
</command>
<file name="%LOGDIR/%TESTNUMBERte[]st.txt">
lib507
</tool>
- <name>
+<name>
multi interface, multiple Location: headers
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
lib507
</tool>
- <name>
+<name>
multi interface, multiple Content-Type: headers
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
SFTP upload using multi interface
- </name>
- <command>
+</name>
+<command>
Sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/upload%TESTNUMBER.txt %PWD/%LOGDIR/file%TESTNUMBER.txt %USER: %LOGDIR/server/curl_client_key.pub %LOGDIR/server/curl_client_key
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
SFTP with multi interface, remove handle early
- </name>
+</name>
# The command here uses 'localhost' just to make sure that curl_multi_perform
# won't reach too far in the first invoke. When using c-ares at least, the
# name resolve will cause it to return rather quickly and thus we could trigger
# the problem we're looking to verify.
- <command>
+<command>
sftp://localhost:%SSHPORT%SSH_PWD/%LOGDIR/upload%TESTNUMBER.txt %USER: %LOGDIR/server/curl_client_key.pub %LOGDIR/server/curl_client_key
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
CURLOPT_MIMEPOST first set then set to NULL
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
socket open/close callbacks
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<tool>
lib585
</tool>
- <name>
+<name>
FTP and open/close socket callbacks
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP multi-part formpost with aborted read callback
- </name>
+</name>
# Add a delay to give server time to write its output since we otherwise might
# not even give it enough time to write its lock file.
<command delay="1">
<tool>
lib525
</tool>
- <name>
+<name>
FTP PORT upload using multi interface, EPRT doesn't work
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/path/%TESTNUMBER %LOGDIR/upload%TESTNUMBER
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
lib%TESTNUMBER
</tool>
- <name>
+<name>
make an HTTP MIME POST set to NULL
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP URL with slash but with "parameter"
- </name>
- <command>
+</name>
+<command>
"http://%HOSTIP:%HTTPPORT?mooo/%TESTNUMBER"
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
FTP multi PORT and 425 on upload
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/path/%TESTNUMBER %FTPTIME2 %LOGDIR/upload%TESTNUMBER
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
<tool>
lib591
</tool>
- <name>
+<name>
FTP multi PORT and 421 on upload
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/path/%TESTNUMBER %FTPTIME2 %LOGDIR/upload%TESTNUMBER
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
<tool>
lib591
</tool>
- <name>
+<name>
FTP multi PORT upload, no data conn and no transient neg. reply
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/path/%TESTNUMBER %FTPTIME2 %LOGDIR/upload%TESTNUMBER
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
<tool>
lib591
</tool>
- <name>
+<name>
FTP multi PORT upload, no data conn and no positive prelim. reply
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/path/%TESTNUMBER %FTPTIME2 %LOGDIR/upload%TESTNUMBER
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
lib585
</tool>
- <name>
+<name>
verify close callbacks with passive FTP
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER %LOGDIR/ip%TESTNUMBER
</command>
</client>
lib585
</tool>
- <name>
+<name>
verify close callbacks with active FTP
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER %LOGDIR/ip%TESTNUMBER activeftp
</command>
</client>
<tool>
lib%TESTNUMBER
</tool>
- <name>
+<name>
FTP connect only option
- </name>
+</name>
<command>
ftp://%HOSTIP:%FTPPORT
lib%TESTNUMBER
</tool>
- <name>
+<name>
curl_easy_reset with referer and other strings set
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
<features>
# Bug 3510057 pointed out that when following a location to a larger chunked
# encoded page, the first size would still be used in the progress callback
- <name>
+<name>
HTTP GET with progress callback and redirects changing content sizes
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER %LOGDIR/ip%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with simple cookie send
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/that/page/%TESTNUMBER -b "name=contents;name2=content2" -b name3=content3
</command>
<features>
<name>
HTTP PUT from stdin with wrong content-length
</name>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/bzz/%TESTNUMBER -T - -H "Content-Length: 1"
</command>
<stdin>
<server>
sftp
</server>
- <name>
+<name>
SFTP retrieval
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt --insecure
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
scp
</server>
- <name>
+<name>
SCP retrieval
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt --insecure
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
sftp
</server>
- <name>
+<name>
SFTP put
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: -T %LOGDIR/file%TESTNUMBER.txt sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/upload.%TESTNUMBER --insecure
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
scp
</server>
- <name>
+<name>
SCP upload
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: -T %LOGDIR/file%TESTNUMBER.txt scp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/upload.%TESTNUMBER --insecure
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
sftp
</server>
- <name>
+<name>
SFTP retrieval of nonexistent file
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%SSH_PWD/not-a-valid-file-moooo --insecure
</command>
</client>
<server>
scp
</server>
- <name>
+<name>
SCP retrieval of nonexistent file
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%SSH_PWD/not-a-valid-file-moooo --insecure
</command>
</client>
<server>
sftp
</server>
- <name>
+<name>
SFTP invalid user login
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u not-a-valid-user: sftp://%HOSTIP:%SSHPORT%SSH_PWD/not-a-valid-file-moooo --insecure
</command>
</client>
<server>
scp
</server>
- <name>
+<name>
SCP invalid user login
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u not-a-valid-user: scp://%HOSTIP:%SSHPORT%SSH_PWD/not-a-valid-file-moooo --insecure
</command>
</client>
<server>
sftp
</server>
- <name>
+<name>
SFTP post-quote rename
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: -Q "-rename %PWD/%LOGDIR/file%TESTNUMBER.txt %PWD/%LOGDIR/file%TESTNUMBER-renamed.txt" sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt --insecure
</command>
# Verify that the file was renamed properly, then rename the file back to what
<server>
sftp
</server>
- <name>
+<name>
SFTP post-quote mkdir failure
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: -Q "-mkdir %PWD/%LOGDIR/file%TESTNUMBER.txt" sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt --insecure
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
http
</server>
- <name>
+<name>
HTTP with various cookies and custom Host:
- </name>
+</name>
# Explicitly set the time zone to a known good one, in case the user is
# using one of the 'right' zones that take into account leap seconds
# which causes the cookie expiry times to be different.
<setenv>
TZ=GMT
</setenv>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -c %LOGDIR/jar%TESTNUMBER.txt -H "Host: www.host.foo.com"
</command>
<features>
<precheck>
perl %SRCDIR/libtest/test%TESTNUMBER.pl mkdir %PWD/%LOGDIR/test%TESTNUMBER.dir
</precheck>
- <name>
+<name>
SFTP post-quote rmdir
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: -Q "-rmdir %PWD/%LOGDIR/test%TESTNUMBER.dir" sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt --insecure
</command>
<postcheck>
<precheck>
perl %SRCDIR/libtest/test610.pl mkdir %PWD/%LOGDIR/test%TESTNUMBER.dir
</precheck>
- <name>
+<name>
SFTP post-quote rename
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: -Q "-rename %PWD/%LOGDIR/test%TESTNUMBER.dir %PWD/%LOGDIR/test%TESTNUMBER.new" sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt --insecure
</command>
<postcheck>
<server>
sftp
</server>
- <name>
+<name>
SFTP post-quote remove file
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: -T %LOGDIR/file%TESTNUMBER.txt -Q "-rm %PWD/%LOGDIR/file%TESTNUMBER.txt" sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/upload.%TESTNUMBER --insecure
</command>
<postcheck>
<precheck>
perl %SRCDIR/libtest/test%TESTNUMBER.pl prepare %PWD/%LOGDIR/test%TESTNUMBER.dir
</precheck>
- <name>
+<name>
SFTP directory retrieval
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/test%TESTNUMBER.dir/ --insecure
</command>
<postcheck>
<precheck>
perl %SRCDIR/libtest/test613.pl prepare %PWD/%LOGDIR/test%TESTNUMBER.dir
</precheck>
- <name>
+<name>
SFTP pre-quote chmod
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: -Q "chmod 444 %PWD/%LOGDIR/test%TESTNUMBER.dir/plainfile.txt" sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/test%TESTNUMBER.dir/ --insecure
</command>
<postcheck>
<precheck>
perl %SRCDIR/libtest/test613.pl prepare %PWD/%LOGDIR/test%TESTNUMBER.dir
</precheck>
- <name>
+<name>
SFTP put remote failure
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: -T %LOGDIR/file%TESTNUMBER.txt sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/test%TESTNUMBER.dir/rofile.txt --insecure
</command>
<postcheck>
<server>
sftp
</server>
- <name>
+<name>
SFTP retrieval of empty file
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt --insecure
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
scp
</server>
- <name>
+<name>
SCP retrieval of empty file
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt --insecure
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
sftp
</server>
- <name>
+<name>
SFTP retrieval of two files
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt --insecure
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
scp
</server>
- <name>
+<name>
SCP retrieval of two files
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt scp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt --insecure
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
http
</server>
- <name>
+<name>
HTTP, send cookies when using custom Host:
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER?hoge=fuga -b %LOGDIR/jar%TESTNUMBER.txt -H "Host: www.host.foo.com"
</command>
<file name="%LOGDIR/jar%TESTNUMBER.txt">
<server>
sftp
</server>
- <name>
+<name>
SFTP retrieval of missing file followed by good file
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/not-a-valid-file-moooo sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt --insecure
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
scp
</server>
- <name>
+<name>
SCP retrieval of missing file followed by good file
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/not-a-valid-file-moooo scp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt --insecure
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
sftp
</server>
- <name>
+<name>
SFTP put failure
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: -T %LOGDIR/file%TESTNUMBER.txt sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/nonexistent-directory/nonexistent-file --insecure
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
scp
</server>
- <name>
+<name>
SCP upload failure
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: -T %LOGDIR/file%TESTNUMBER.txt scp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/nonexistent-directory/nonexistent-file --insecure
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
sftp
</server>
- <name>
+<name>
SFTP put with --ftp-create-dirs
- </name>
- <command>
+</name>
+<command>
--ftp-create-dirs --key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: -T %LOGDIR/file%TESTNUMBER.txt sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/test%TESTNUMBER.dir/upload.%TESTNUMBER --insecure
</command>
<postcheck>
<server>
sftp
</server>
- <name>
+<name>
SFTP put with --ftp-create-dirs twice
- </name>
- <command>
+</name>
+<command>
--ftp-create-dirs --key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: -T %LOGDIR/file%TESTNUMBER.txt sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/test%TESTNUMBER.a/upload.%TESTNUMBER -T %LOGDIR/file%TESTNUMBER.txt sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/test%TESTNUMBER.b/upload.%TESTNUMBER --insecure
</command>
<postcheck>
<server>
sftp
</server>
- <name>
+<name>
SFTP invalid quote command
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: -Q "invalid-command foo bar" sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt --insecure
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
sftp
</server>
- <name>
+<name>
SFTP quote remove file with NOBODY
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: -I -Q "rm %PWD/%LOGDIR/file%TESTNUMBER.txt" sftp://%HOSTIP:%SSHPORT --insecure
</command>
<postcheck>
<server>
sftp
</server>
- <name>
+<name>
SFTP invalid user login (password authentication)
- </name>
- <command>
+</name>
+<command>
-u not-a-valid-user: sftp://%HOSTIP:%SSHPORT%SSH_PWD/irrelevant-file --insecure
</command>
</client>
<server>
scp
</server>
- <name>
+<name>
SCP invalid user login (password authentication)
- </name>
- <command>
+</name>
+<command>
-u not-a-valid-user: scp://%HOSTIP:%SSHPORT%SSH_PWD/irrelevant-file --insecure
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with proxy authorization set in environment
- </name>
+</name>
<setenv>
http_proxy=http://fake:user@%HOSTIP:%HTTPPORT/
</setenv>
- <command>
+<command>
http://we.want.that.site.com/%TESTNUMBER
</command>
<features>
<server>
sftp
</server>
- <name>
+<name>
SFTP incorrect host key
- </name>
- <command>
+</name>
+<command>
--hostpubmd5 00000000000000000000000000000000 --key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/irrelevant-file --insecure
</command>
</client>
<server>
scp
</server>
- <name>
+<name>
SCP incorrect host key
- </name>
- <command>
+</name>
+<command>
--hostpubmd5 00000000000000000000000000000000 --key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/irrelevant-file --insecure
</command>
</client>
<features>
sftp
</features>
- <name>
+<name>
SFTP syntactically invalid host key
- </name>
- <command>
+</name>
+<command>
--hostpubmd5 00 --key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: sftp://%HOSTIP:%NOLISTENPORT%SSH_PWD/%LOGDIR/irrelevant-file --insecure
</command>
</client>
<server>
sftp
</server>
- <name>
+<name>
SFTP retrieval with byte range
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt -r 5-9 --insecure
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
sftp
</server>
- <name>
+<name>
SFTP retrieval with byte range past end of file
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt -r 5-99 --insecure
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
sftp
</server>
- <name>
+<name>
SFTP retrieval with byte range relative to end of file
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt -r -9 --insecure
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
sftp
</server>
- <name>
+<name>
SFTP retrieval with X- byte range
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt -r 5- --insecure
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
sftp
</server>
- <name>
+<name>
SFTP retrieval with invalid X- range
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt -r 99- --insecure
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<precheck>
perl %SRCDIR/libtest/test610.pl mkdir %PWD/%LOGDIR/test%TESTNUMBER.dir
</precheck>
- <name>
+<name>
SFTP post-quote rename * asterisk accept-fail
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: -Q "-*rename %PWD/%LOGDIR/test%TESTNUMBER.dir %PWD/%LOGDIR/test%TESTNUMBER.new" sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt --insecure
</command>
<postcheck>
<precheck>
perl %SRCDIR/libtest/test610.pl mkdir %PWD/%LOGDIR/test%TESTNUMBER.dir
</precheck>
- <name>
+<name>
SFTP post-quote rename * asterisk accept-fail
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: -Q "-*rename %PWD/%LOGDIR/test%TESTNUMBER-not-exists-dir %PWD/%LOGDIR/test%TESTNUMBER.new" sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt --insecure
</command>
<postcheck>
!SSPI
crypto
</features>
- <name>
+<name>
HTTP with Digest authorization
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:testpass --digest
</command>
</client>
<server>
sftp
</server>
- <name>
+<name>
SFTP --head retrieval
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt --insecure --head
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
scp
</server>
- <name>
+<name>
SCP --head retrieval
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt --insecure --head
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
sftp
</server>
- <name>
+<name>
SFTP retrieval
- </name>
- <command>
+</name>
+<command>
--key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: --compressed-ssh sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt --insecure
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP multi-part mimepost using read callback for the file part
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP multi-part chunked mimepost using read callback for the file part
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP multipart using mime API
- </name>
+</name>
<stdin>
From: different\r
To: another\r
\r
body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=(;type=multipart/alternative" -F "= <body>This is the html version</body>;headers=X-test1: this is a header;type=text/html;headers=X-test2: this is another header " -F "=This is the plain text version;headers=@%LOGDIR/headers%TESTNUMBER" -F "=)" -F "=@%LOGDIR/test%TESTNUMBER.txt;headers=<%LOGDIR/headers%TESTNUMBER" -H "From: different" -H "To: another" -H "Reply-To: <followup@example.com>"
</command>
<file1 name="%LOGDIR/test%TESTNUMBER.txt">
<server>
imap
</server>
- <name>
+<name>
IMAP APPEND multipart using mime API
- </name>
- <command>
+</name>
+<command>
imap://%HOSTIP:%IMAPPORT/%TESTNUMBER -F "=(;type=multipart/alternative" -F "= <body>This is the html version</body>;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@%LOGDIR/test%TESTNUMBER.txt" -H "Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)" -H "From: Fred Foobar <foobar@example.com>" -H "To: joe@example.com" -H "Message-Id: <B27397-0100000@example.com>" -H "Subject: afternoon meeting" -u user:secret
</command>
<file name="%LOGDIR/test%TESTNUMBER.txt">
<server>
smtp
</server>
- <name>
+<name>
SMTP multipart with transfer content encoders
- </name>
+</name>
<stdin>
From: different\r
To: another\r
\r
body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is the email inline text with a very long line containing the special character = and that should be split by encoder.;headers=Content-disposition: "inline";encoder=quoted-printable' -F "=@%LOGDIR/test%TESTNUMBER.txt;encoder=base64" -H "From: different" -H "To: another"
</command>
<file name="%LOGDIR/test%TESTNUMBER.txt">
<server>
smtp
</server>
- <name>
+<name>
SMTP multipart with 7bit encoder error
- </name>
+</name>
<stdin>
From: different\r
To: another\r
\r
body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@%LOGDIR/test%TESTNUMBER.txt;encoder=7bit" -H "From: different" -H "To: another"
</command>
<file name="%LOGDIR/test%TESTNUMBER.txt">
!SSPI
crypto
</features>
- <name>
+<name>
HTTP with Digest authorization with bad password
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:test2pass --digest
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP formpost using form API - with redirect and re-POST
- </name>
+</name>
<stdin>
Some data from stdin
</stdin>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER %LOGDIR/test%TESTNUMBER.filedata
</command>
<file name="%LOGDIR/test%TESTNUMBER.filedata">
lib%TESTNUMBER
</tool>
- <name>
+<name>
curl_formadd with huge COPYCONTENTS
- </name>
+</name>
<stdin>
Some data from stdin
</stdin>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER %LOGDIR/test%TESTNUMBER.filedata
</command>
<file name="%LOGDIR/test%TESTNUMBER.filedata">
lib%TESTNUMBER
</tool>
- <name>
+<name>
SMTP with encoded huge mime data contents
- </name>
- <command>
+</name>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
Reuse of handle after altering mime data
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP duplicate easy handle with mime data
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER %LOGDIR/file%TESTNUMBER.txt
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
lib%TESTNUMBER
</tool>
- <name>
+<name>
resolver start callback
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
sftp
</server>
- <name>
+<name>
SFTP retrieval with nonexistent private key file
- </name>
- <command>
+</name>
+<command>
--key DOES_NOT_EXIST --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%SSH_PWD/not-a-valid-file-moooo --insecure --connect-timeout 8
</command>
</client>
</tool>
<name>
Pass URL to libcurl with CURLOPT_CURLU
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
</tool>
<name>
CURLOPT_CURLU without the path set - over proxy
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP GET without headers in the response
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --http0.9
</command>
</client>
<tool>
lib597
</tool>
- <name>
+<name>
IMAP CONNECT_ONLY option
- </name>
+</name>
<command>
imap://%HOSTIP:%IMAPPORT/%TESTNUMBER
lib%TESTNUMBER
</tool>
- <name>
+<name>
Avoid redundant CWDs
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP redirect with whitespace in absolute Location: URL
- </name>
- <command>
+</name>
+<command>
http://example.com/please/gimme/%TESTNUMBER -L -x http://%HOSTIP:%HTTPPORT
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP redirect with dotdots and whitespaces in absolute Location: URL
- </name>
- <command>
+</name>
+<command>
http://example.com/please/../gimme/%TESTNUMBER?foobar#hello -L -x http://%HOSTIP:%HTTPPORT
</command>
<features>
<server>
sftp
</server>
- <name>
+<name>
SFTP correct host key
- </name>
- <command>
+</name>
+<command>
--hostpubmd5 %SSHSRVMD5 --key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
scp
</server>
- <name>
+<name>
SCP correct host key
- </name>
- <command>
+</name>
+<command>
--hostpubmd5 %SSHSRVMD5 --key %LOGDIR/server/curl_client_key --pubkey %LOGDIR/server/curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%SSH_PWD/%LOGDIR/file%TESTNUMBER.txt
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP mime post with binary-encoded huge data contents
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP chunked mimepost using single-byte read callback with encoder
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
HTTP mimepost early end of data detection
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER %LOGDIR/file%TESTNUMBER.txt
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
<server>
http
</server>
- <name>
+<name>
HTTP custom Content-Type with parameter
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
Request pause from mime read callback: multi
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
Request pause from mime read callback: easy
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
Request pause from form read callback: multi
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
lib%TESTNUMBER
</tool>
- <name>
+<name>
Request pause from form read callback: easy
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
</tool>
<name>
Set CURLOPT_CURLU and dupe the handle
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP connection reuse and different credentials
- </name>
+</name>
<command>
http://user1:foo1@%HOSTIP:%HTTPPORT/user1/%TESTNUMBER http://user2:foo2@%HOSTIP:%HTTPPORT/user2/%TESTNUMBER
lib%TESTNUMBER
</tool>
- <name>
+<name>
verify setting CURLOPT_COOKIEFILE to NULL again
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER %LOGDIR/cookies676
</command>
<features>
<server>
imap
</server>
- <name>
+<name>
IMAP with CONNECT_ONLY, custom command then exit
- </name>
+</name>
<tool>
lib%TESTNUMBER
</tool>
<server>
https Server-localhost-sv.pem
</server>
- <name>
+<name>
HTTPS GET using CURLOPT_CAINFO_BLOB
- </name>
+</name>
<tool>
lib%TESTNUMBER
</tool>
<server>
http
</server>
- <name>
+<name>
netrc with quoted password
- </name>
- <command>
+</name>
+<command>
--netrc-optional --netrc-file %LOGDIR/netrc%TESTNUMBER http://%HOSTIP:%HTTPPORT/
</command>
<file name="%LOGDIR/netrc%TESTNUMBER" >
<features>
http
</features>
- <name>
+<name>
netrc with quoted password but missing end quote
- </name>
- <command>
+</name>
+<command>
--netrc --netrc-file %LOGDIR/netrc%TESTNUMBER http://user1@http.example/
</command>
<file name="%LOGDIR/netrc%TESTNUMBER" >
<server>
http
</server>
- <name>
+<name>
netrc with multiple logins - pick first
- </name>
- <command>
+</name>
+<command>
--netrc-optional --netrc-file %LOGDIR/netrc%TESTNUMBER http://user1@%HOSTIP:%HTTPPORT/
</command>
<file name="%LOGDIR/netrc%TESTNUMBER" >
<server>
http
</server>
- <name>
+<name>
netrc with multiple logins - pick second
- </name>
- <command>
+</name>
+<command>
--netrc-optional --netrc-file %LOGDIR/netrc%TESTNUMBER http://user2@%HOSTIP:%HTTPPORT/
</command>
<file name="%LOGDIR/netrc%TESTNUMBER" >
<server>
http
</server>
- <name>
+<name>
netrc with no login
- </name>
- <command>
+</name>
+<command>
--netrc-optional --netrc-file %LOGDIR/netrc%TESTNUMBER http://%HOSTIP:%HTTPPORT/
</command>
<file name="%LOGDIR/netrc%TESTNUMBER" >
<server>
http
</server>
- <name>
+<name>
netrc with no login - provided user
- </name>
- <command>
+</name>
+<command>
--netrc-optional --netrc-file %LOGDIR/netrc%TESTNUMBER http://user@%HOSTIP:%HTTPPORT/
</command>
<file name="%LOGDIR/netrc%TESTNUMBER" >
<server>
none
</server>
- <name>
+<name>
verify return code for missing URL after --next
- </name>
- <command>
+</name>
+<command>
htdhdhdtp://localhost --next
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with cookie parser and header recording
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -b none -D %LOGDIR/heads%TESTNUMBER.txt
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with Digest *OR* NTLM authorization
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:testpass --anyauth
</command>
</client>
http
socks4
</server>
- <name>
+<name>
HTTP GET via SOCKS4 proxy
- </name>
- <command>
+</name>
+<command>
--socks4 %HOSTIP:%SOCKSPORT http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
http
socks5
</server>
- <name>
+<name>
HTTP GET via SOCKS5 proxy
- </name>
- <command>
+</name>
+<command>
--socks5 %HOSTIP:%SOCKSPORT http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
http
proxy
</features>
- <name>
+<name>
Attempt connect to non-listening HTTP server via SOCKS4 proxy
- </name>
- <command>
+</name>
+<command>
--socks4 %HOSTIP:%SOCKSPORT http://%HOSTIP:%NOLISTENPORT
</command>
</client>
http
proxy
</features>
- <name>
+<name>
Attempt connect to non-listening HTTP server via SOCKS5 proxy
- </name>
- <command>
+</name>
+<command>
--socks5 %HOSTIP:%SOCKSPORT http://%HOSTIP:%NOLISTENPORT
</command>
</client>
<server>
http
</server>
- <name>
+<name>
Attempt connect to non-listening SOCKS4 proxy
- </name>
- <command>
+</name>
+<command>
--socks4 %HOSTIP:%NOLISTENPORT http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
<features>
<server>
http
</server>
- <name>
+<name>
Attempt connect to non-listening SOCKS5 proxy
- </name>
- <command>
+</name>
+<command>
--socks5 %HOSTIP:%NOLISTENPORT http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
<features>
ftp
socks4
</server>
- <name>
+<name>
FTP dir list PASV via SOCKS4
- </name>
- <command>
+</name>
+<command>
--socks4 %HOSTIP:%SOCKSPORT ftp://%HOSTIP:%FTPPORT/
</command>
</client>
ftp
socks5
</server>
- <name>
+<name>
FTP dir list PASV via SOCKS5
- </name>
- <command>
+</name>
+<command>
--socks5 %HOSTIP:%SOCKSPORT ftp://%HOSTIP:%FTPPORT/
</command>
</client>
<setenv>
all_proxy=socks4://%HOSTIP:%SOCKSPORT
</setenv>
- <name>
+<name>
HTTP GET via SOCKS4 proxy
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<setenv>
http_proxy=socks5://%HOSTIP:%SOCKSPORT
</setenv>
- <name>
+<name>
HTTP GET via SOCKS5 set in http_proxy environment variable
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP and -F upload in config file
- </name>
+</name>
<stdin>
-F name=daniel
-F tool=curl
-F file=@%LOGDIR/test%TESTNUMBER.txt
user-agent = ""
</stdin>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -K -
</command>
# We create this file before the command is invoked!
http
socks5
</server>
- <name>
+<name>
HTTP GET via SOCKS5 set with --proxy
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --proxy socks5://%HOSTIP:%SOCKSPORT
</command>
</client>
<setenv>
all_proxy=socks5://%HOSTIP:%SOCKSPORT
</setenv>
- <name>
+<name>
FTP fetch with all_proxy set to socks5
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
</command>
</client>
ftp
socks5
</server>
- <name>
+<name>
FTP fetch with --proxy set to socks5://
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER --proxy socks5://%HOSTIP:%SOCKSPORT
</command>
</client>
ftp
socks5
</server>
- <name>
+<name>
FTP fetch with --proxy set to socks5:// and with --connect-to
- </name>
- <command>
+</name>
+<command>
ftp://ftp.example.com/%TESTNUMBER --connect-to ::%HOSTIP:%FTPPORT --proxy socks5://%HOSTIP:%SOCKSPORT
</command>
</client>
http
proxy
</features>
- <name>
+<name>
FTP fetch with --proxy set to http:// and with --connect-to
- </name>
- <command>
+</name>
+<command>
ftp://ftp.example.com.%TESTNUMBER/%TESTNUMBER --connect-to ::connect.example.com.%TESTNUMBER:%FTPPORT --proxytunnel --proxy http://%HOSTIP:%PROXYPORT
</command>
</client>
http
proxy
</features>
- <name>
+<name>
FTP fetch with --preproxy, --proxy and --connect-to
- </name>
- <command>
+</name>
+<command>
ftp://ftp.example.com.%TESTNUMBER/%TESTNUMBER --connect-to ::connect.example.com.%TESTNUMBER:%FTPPORT --proxytunnel --proxy %HOSTIP:%PROXYPORT --preproxy socks5://%HOSTIP:%SOCKSPORT
</command>
</client>
</name>
# it should never connect to the target server
- <command>
+<command>
http://hohoho.example.com:99/%TESTNUMBER -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@%HOSTIP:%SOCKSPORT
</command>
</client>
</name>
# target a port that won't work without the SOCKS magic
- <command>
+<command>
http://%HOSTIP:1/%TESTNUMBER -x socks5://uz3r:p4ssworm@%HOSTIP:%SOCKSPORT
</command>
<features>
crypto
proxy
</features>
- <name>
+<name>
HTTP proxy CONNECT (no auth) with proxy returning 407 and closing
- </name>
- <command>
+</name>
+<command>
http://test.remote.haxx.se.%TESTNUMBER:8990/path/%TESTNUMBER0002 --proxy http://%HOSTIP:%HTTPPORT --proxytunnel
</command>
</client>
http
socks5
</server>
- <name>
+<name>
HTTP GET with IPv6 numerical via SOCKS5h
- </name>
- <command>
+</name>
+<command>
http://[2200::33]:%HTTPPORT/%TESTNUMBER --proxy socks5h://%HOSTIP:%SOCKSPORT
</command>
</client>
!SSPI
crypto
</features>
- <name>
+<name>
HTTP with Digest *OR* Basic authorization
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:testpass --anyauth
</command>
</client>
http
socks5
</server>
- <name>
+<name>
HTTP GET with IPv4 numerical via SOCKS5h
- </name>
- <command>
+</name>
+<command>
http://12.34.56.78:%HTTPPORT/%TESTNUMBER --proxy socks5h://%HOSTIP:%SOCKSPORT
</command>
</client>
http
socks5
</server>
- <name>
+<name>
HTTP GET with host name using SOCKS5h
- </name>
- <command>
+</name>
+<command>
http://this.is.a.host.name:%HTTPPORT/%TESTNUMBER --proxy socks5h://%HOSTIP:%SOCKSPORT
</command>
</client>
<server>
http
</server>
- <name>
+<name>
IPFS
- </name>
- <command>
+</name>
+<command>
--ipfs-gateway http://%HOSTIP:%HTTPPORT/%TESTNUMBER ipfs://QmV5JejrpgUxnkZeFZYMxVCqAbKy3KdPXWXyuEDiMNZwUx
</command>
</client>
<server>
http
</server>
- <name>
+<name>
IPFS with malformed gateway URL (bad function argument error)
- </name>
- <command>
+</name>
+<command>
--ipfs-gateway http://nonexisting,local:8080/%TESTNUMBER ipfs://QmV5JejrpgUxnkZeFZYMxVCqAbKy3KdPXWXyuEDiMNZwUx
</command>
</client>
<setenv>
HOME=%PWD/%LOGDIR
</setenv>
- <name>
+<name>
IPFS with gateway URL from gateway file
- </name>
- <command>
+</name>
+<command>
ipfs://QmV5JejrpgUxnkZeFZYMxVCqAbKy3KdPXWXyuEDiMNZwUx
</command>
<file name="%LOGDIR/.ipfs/gateway" >
<setenv>
HOME=%PWD/%LOGDIR
</setenv>
- <name>
+<name>
IPFS with malformed gateway URL from gateway file
- </name>
- <command>
+</name>
+<command>
ipfs://QmV5JejrpgUxnkZeFZYMxVCqAbKy3KdPXWXyuEDiMNZwUx
</command>
<file name="%LOGDIR/.ipfs/gateway" >
# This is to prevent the automatic gateway detection from finding a gateway file in your home folder.
HOME=%PWD
</setenv>
- <name>
+<name>
IPFS with no gateway URL (no environment or home file either)
- </name>
- <command>
+</name>
+<command>
ipfs://QmV5JejrpgUxnkZeFZYMxVCqAbKy3KdPXWXyuEDiMNZwUx
</command>
</client>
<server>
http
</server>
- <name>
+<name>
IPNS
- </name>
- <command>
+</name>
+<command>
--ipfs-gateway http://%HOSTIP:%HTTPPORT/%TESTNUMBER ipns://QmV5JejrpgUxnkZeFZYMxVCqAbKy3KdPXWXyuEDiMNZwUx
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP, receive cookies when using custom Host:, domain using only two dots
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -c %LOGDIR/jar%TESTNUMBER.txt -H "Host: host.NOT_DISCLOSED.se"
</command>
<features>
<server>
http
</server>
- <name>
+<name>
HTTP, urlglob {}-retrieval and -o #[num] usage
- </name>
+</name>
<command option="no-output">
"http://%HOSTIP:%HTTPPORT/{%TESTNUMBER,%TESTNUMBER0001}" -o "%LOGDIR/dumpit#1.dump"
</command>
<features>
http
</features>
- <name>
+<name>
HTTP, urlglob retrieval with bad range
- </name>
+</name>
<command option="no-output">
"http://a-site-never-accessed.example.org/[2-1]" -o "%LOGDIR/weee#1.dump" --stderr -
</command>
<features>
http
</features>
- <name>
+<name>
HTTP, -O with no file name part in the URL
- </name>
+</name>
<command option="no-output">
http://%HOSTIP:%NOLISTENPORT/%TESTNUMBER/ -O
</command>
<server>
http
</server>
- <name>
+<name>
HTTP with -z "older date"
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -z "dec 12 12:00:00 1999 GMT"
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with -z "newer date"
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -z "dec 12 11:00:00 1999 GMT"
</command>
</client>
ftp
proxy
</features>
- <name>
+<name>
FTP over HTTP proxy
- </name>
- <command>
+</name>
+<command>
ftp://%HOSTIP:%HTTPPORT/we/want/that/page/%TESTNUMBER -x %HOSTIP:%HTTPPORT
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP with --login-options 'AUTH=+LOGIN'
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with cookie parsing from header file
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -b %LOGDIR/heads%TESTNUMBER.txt
</command>
http
http-proxy
</server>
- <name>
+<name>
HTTP 1.0 CONNECT with proxytunnel and proxy+host Basic authentication
- </name>
- <command>
+</name>
+<command>
http://test.%TESTNUMBER:%HTTPPORT/we/want/that/page/%TESTNUMBER -p --proxy1.0 %HOSTIP:%PROXYPORT --user iam:myself --proxy-user youare:yourself
</command>
<features>
<server>
imap
</server>
- <name>
+<name>
IMAP FETCH message
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u '"user:sec"ret{'
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP FETCH message by MAILINDEX and SECTION
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=123/;SECTION=1' -u user:secret
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP SELECT UIDVALIDITY Success
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP SELECT UIDVALIDITY Failure
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP doesn't perform SELECT if re-using the same mailbox
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=123/;SECTION=1' 'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=456/;SECTION=2.3' -u user:secret
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP APPEND message
- </name>
- <command>
+</name>
+<command>
imap://%HOSTIP:%IMAPPORT/%TESTNUMBER -T %LOGDIR/upload%TESTNUMBER -u user:secret
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
<server>
imap
</server>
- <name>
+<name>
IMAP LIST mailbox
- </name>
- <command>
+</name>
+<command>
imap://%HOSTIP:%IMAPPORT/%TESTNUMBER -u user:secret
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP LSUB mailbox
- </name>
- <command>
+</name>
+<command>
imap://%HOSTIP:%IMAPPORT -u user:secret -X 'LSUB "%TESTNUMBER" *'
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP EXAMINE mailbox (CUSTOMREQUEST)
- </name>
- <command>
+</name>
+<command>
imap://%HOSTIP:%IMAPPORT -u user:secret -X 'EXAMINE %TESTNUMBER'
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP mailbox STATUS (CUSTOMREQUEST)
- </name>
- <command>
+</name>
+<command>
imap://%HOSTIP:%IMAPPORT -u user:secret -X 'STATUS %TESTNUMBER (UIDNEXT MESSAGES)'
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP SEARCH for NEW messages
- </name>
- <command>
+</name>
+<command>
imap://%HOSTIP:%IMAPPORT/%TESTNUMBER?NEW -u user:secret
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP CREATE mailbox (CUSTOMREQUEST)
- </name>
- <command>
+</name>
+<command>
imap://%HOSTIP:%IMAPPORT -u user:secret -X 'CREATE %TESTNUMBER'
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP DELETE mailbox (CUSTOMREQUEST)
- </name>
- <command>
+</name>
+<command>
imap://%HOSTIP:%IMAPPORT -u user:secret -X 'DELETE %TESTNUMBER'
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP RENAME mailbox (CUSTOMREQUEST)
- </name>
- <command>
+</name>
+<command>
imap://%HOSTIP:%IMAPPORT -u user:secret -X 'RENAME 666 %TESTNUMBER'
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP CHECK mailbox (CUSTOMREQUEST)
- </name>
- <command>
+</name>
+<command>
imap://%HOSTIP:%IMAPPORT/%TESTNUMBER -u user:secret -X 'CHECK'
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP STORE - delete message (CUSTOMREQUEST)
- </name>
- <command>
+</name>
+<command>
imap://%HOSTIP:%IMAPPORT/%TESTNUMBER -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://%HOSTIP:%IMAPPORT/%TESTNUMBER -X CLOSE -u user:secret
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP STORE - delete message with confirmation (CUSTOMREQUEST)
- </name>
- <command>
+</name>
+<command>
imap://%HOSTIP:%IMAPPORT/%TESTNUMBER -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://%HOSTIP:%IMAPPORT/%TESTNUMBER -X EXPUNGE -u user:secret
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP COPY message to mailbox (CUSTOMREQUEST)
- </name>
- <command>
+</name>
+<command>
imap://%HOSTIP:%IMAPPORT -u user:secret -X 'COPY 123 %TESTNUMBER'
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP NOOP (CUSTOMREQUEST)
- </name>
- <command>
+</name>
+<command>
imap://%HOSTIP:%IMAPPORT -X NOOP -u user:secret
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP plain authentication
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user:secret
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with proxy requiring NTLM, but we send Basic
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --proxy-user testuser:testpass -x http://%HOSTIP:%HTTPPORT
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP login authentication
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user:secret
</command>
</client>
<features>
crypto
</features>
- <name>
+<name>
IMAP CRAM-MD5 authentication
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user:secret
</command>
</client>
debug
crypto
</features>
- <name>
+<name>
IMAP DIGEST-MD5 authentication
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user:secret
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP OAuth 2.0 (XOAUTH2) authentication
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP plain authentication with initial response
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user:secret
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP login authentication with initial response
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user:secret
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP OAuth 2.0 (XOAUTH2) authentication with initial response
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP with URL-encoded CR LF in the URL
- </name>
- <command>
+</name>
+<command>
imap://%HOSTIP:%IMAPPORT/%0d%0a/%TESTNUMBER
</command>
</client>
http
http-proxy
</server>
- <name>
+<name>
HTTP over proxy-tunnel with site authentication
- </name>
- <command>
+</name>
+<command>
http://test.%TESTNUMBER:%HTTPPORT/we/want/that/page/%TESTNUMBER -p -x %HOSTIP:%PROXYPORT --user 'iam:my:;self'
</command>
<features>
<features>
crypto
</features>
- <name>
+<name>
IMAP CRAM-MD5 graceful cancellation
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user:secret
</command>
</client>
SSL
!SSPI
</features>
- <name>
+<name>
IMAP NTLM graceful cancellation
- </name>
+</name>
<setenv>
# we force our own host name, in order to make the test machine independent
CURL_GETHOSTNAME=curlhost
# we try to use the LD_PRELOAD hack, if not a debug build
LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
</setenv>
- <command>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u testuser:testpass
</command>
<precheck>
debug
crypto
</features>
- <name>
+<name>
IMAP DIGEST-MD5 graceful cancellation
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user:secret
</command>
</client>
<features>
crypto
</features>
- <name>
+<name>
IMAP CRAM-MD5 authentication with SASL downgrade
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user:secret
</command>
</client>
SSL
!SSPI
</features>
- <name>
+<name>
IMAP NTLM authentication with SASL downgrade
- </name>
+</name>
<setenv>
# we force our own host name, in order to make the test machine independent
CURL_GETHOSTNAME=curlhost
# we try to use the LD_PRELOAD hack, if not a debug build
LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
</setenv>
- <command>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user:secret
</command>
<precheck>
debug
crypto
</features>
- <name>
+<name>
IMAP DIGEST-MD5 authentication with SASL downgrade
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user:secret
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP multiple connection authentication
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user.one:secret -: 'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;UID=2' -u user.two:secret
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP external authentication
- </name>
- <command>
+</name>
+<command>
'imap://user;AUTH=EXTERNAL@%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1'
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP external authentication without credentials
- </name>
- <command>
+</name>
+<command>
'imap://;AUTH=EXTERNAL@%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1'
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP external authentication with initial response
- </name>
- <command>
+</name>
+<command>
'imap://user;AUTH=EXTERNAL@%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1'
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP over proxy with site authentication
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/that/page/%TESTNUMBER -x %HOSTIP:%HTTPPORT --user iam:myself
</command>
<features>
<server>
imap
</server>
- <name>
+<name>
IMAP external authentication with initial response without credentials
- </name>
- <command>
+</name>
+<command>
'imap://;AUTH=EXTERNAL@%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1'
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP custom request doesn't check continuation data
- </name>
- <command>
+</name>
+<command>
imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/ -u user:secret -X 'FETCH 123 BODY[1]'
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP OAuth 2.0 (OAUTHBEARER) authentication
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM
</command>
# The protocol section doesn't support ways of specifying the raw data in the
<server>
imap
</server>
- <name>
+<name>
IMAP OAuth 2.0 (OAUTHBEARER) authentication with initial response
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP OAuth 2.0 (OAUTHBEARER) failure as continuation
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP PREAUTH response
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u notused:still-provided
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP FETCH message
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;UID=1' -u '"user:sec"ret{'
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP plain authentication with alternative authorization identity
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP plain authentication with alternative authorization identity (Not authorized)
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP over proxy with site and proxy authentication
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/that/page/%TESTNUMBER -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user testing:this
</command>
<features>
<server>
pop3
</server>
- <name>
+<name>
POP3 RETR message
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user:secret
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 LIST one message
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -l -u user:secret
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 LIST invalid message
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -l -u user:secret
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 LIST messages from *SLOW* server
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/ -u user:secret
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 LIST no messages available
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/ -u user:secret
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 RETR invalid message
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user:secret
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 invalid login
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user:wrong
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 RETR message with dot-prefixed line
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user:secret
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 DELE message (CUSTOMREQUEST)
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user:secret -X DELE -I
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 STAT (CUSTOMREQUEST)
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT -u user:secret -X STAT -I
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP, urlglob []-retrieval and -o #[num] usage
- </name>
+</name>
<command option="no-output">
"http://%HOSTIP:%HTTPPORT/[%TESTNUMBER0001-%TESTNUMBER0003]" -o "%LOGDIR/dumpit#1.dump"
</command>
<server>
pop3
</server>
- <name>
+<name>
POP3 NOOP (CUSTOMREQUEST)
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT -u user:secret -X NOOP -I
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 UIDL (CUSTOMREQUEST)
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT -u user:secret -X UIDL
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 retrieve message header (CUSTOMREQUEST)
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT -u user:secret -X 'TOP %TESTNUMBER 0'
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 RSET (CUSTOMREQUEST)
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT -u user:secret -X RSET -I
</command>
</client>
<features>
crypto
</features>
- <name>
+<name>
POP3 APOP authentication
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user:secret
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 plain authentication
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user:secret
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 login authentication
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user:secret
</command>
</client>
<features>
crypto
</features>
- <name>
+<name>
POP3 CRAM-MD5 authentication
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user:secret
</command>
</client>
debug
crypto
</features>
- <name>
+<name>
POP3 DIGEST-MD5 authentication
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user:secret
</command>
</client>
<features>
http
</features>
- <name>
+<name>
urlglob with out of range -o #[num] usage
- </name>
+</name>
<command option="no-output">
"http://%HOSTIP:%HTTPPORT/[%TESTNUMBER0001-%TESTNUMBER0002]" -o "%LOGDIR/dumpit%TESTNUMBER-#2.dump"
</command>
<server>
pop3
</server>
- <name>
+<name>
POP3 OAuth 2.0 (XOAUTH2) authentication
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user --oauth2-bearer mF_9.B5f-4.1JqM
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 plain authentication with initial response
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user:secret --sasl-ir
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 login authentication with initial response
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user:secret --sasl-ir
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 OAuth 2.0 (XOAUTH2) authentication with initial response
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 with URL-encoded CR LF in the URL
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%0d%0a/%TESTNUMBER
</command>
</client>
<features>
crypto
</features>
- <name>
+<name>
POP3 CRAM-MD5 graceful cancellation
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user:secret
</command>
</client>
SSL
!SSPI
</features>
- <name>
+<name>
POP3 NTLM graceful cancellation
- </name>
+</name>
<setenv>
# we force our own host name, in order to make the test machine independent
CURL_GETHOSTNAME=curlhost
# we try to use the LD_PRELOAD hack, if not a debug build
LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
</setenv>
- <command>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u testuser:testpass
</command>
<precheck>
debug
crypto
</features>
- <name>
+<name>
POP3 DIGEST-MD5 graceful cancellation
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user:secret
</command>
</client>
<features>
crypto
</features>
- <name>
+<name>
POP3 CRAM-MD5 authentication with SASL downgrade
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user:secret
</command>
</client>
!SSPI
crypto
</features>
- <name>
+<name>
HTTP PUT with Digest authorization
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -T %LOGDIR/put%TESTNUMBER -u testuser:testpass --digest
</command>
<file name="%LOGDIR/put%TESTNUMBER">
SSL
!SSPI
</features>
- <name>
+<name>
POP3 NTLM authentication with SASL downgrade
- </name>
+</name>
<setenv>
# we force our own host name, in order to make the test machine independent
CURL_GETHOSTNAME=curlhost
# we try to use the LD_PRELOAD hack, if not a debug build
LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
</setenv>
- <command>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user:secret
</command>
<precheck>
debug
crypto
</features>
- <name>
+<name>
POP3 DIGEST-MD5 authentication with SASL downgrade
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user:secret
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 multiple connection authentication
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER001 -u user.one:secret -: pop3://%HOSTIP:%POP3PORT/%TESTNUMBER002 -u user.two:secret
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 external authentication
- </name>
- <command>
+</name>
+<command>
'pop3://user;AUTH=EXTERNAL@%HOSTIP:%POP3PORT/%TESTNUMBER'
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 external authentication without credentials
- </name>
- <command>
+</name>
+<command>
'pop3://;AUTH=EXTERNAL@%HOSTIP:%POP3PORT/%TESTNUMBER'
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 external authentication with initial response
- </name>
- <command>
+</name>
+<command>
'pop3://user;AUTH=EXTERNAL@%HOSTIP:%POP3PORT/%TESTNUMBER' --sasl-ir
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 external authentication with initial response without credentials
- </name>
- <command>
+</name>
+<command>
'pop3://;AUTH=EXTERNAL@%HOSTIP:%POP3PORT/%TESTNUMBER' --sasl-ir
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 OAuth 2.0 (OAUTHBEARER) authentication
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user --oauth2-bearer mF_9.B5f-4.1JqM
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 OAuth 2.0 (OAUTHBEARER) authentication with initial response
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 OAuth 2.0 (OAUTHBEARER) failure as continuation
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user --oauth2-bearer mF_9.B5f-4.1JqM
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir
</command>
</client>
<features>
crypto
</features>
- <name>
+<name>
POP3 with short authentication response
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user:secret
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 plain authentication with alternative authorization identity
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user:secret --sasl-authzid shared-mailbox
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 plain authentication with alternative authorization identity (Not authorized)
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u kurt:xipj3plmq --sasl-authzid ursel
</command>
</client>
<server>
pop3
</server>
- <name>
+<name>
POP3 with CR in username
- </name>
- <command>
+</name>
+<command>
pop3://user%0dFRIGGING_cmd:secret@%HOSTIP:%POP3PORT/%TESTNUMBER
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP with --login-options 'AUTH=*'
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*'
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP with --login-options 'AUTH=dummy' (failing)
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy'
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP and envelope meta data after body transfer
- </name>
- <command>
+</name>
+<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=123/;SECTION=1' -u user:secret -D %LOGDIR/head-%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with custom auth and cookies redirected to HTTP on a diff port
- </name>
- <command>
+</name>
+<command>
-x http://%HOSTIP:%HTTPPORT http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA=="
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP RFC1867-type formposting
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -F name=daniel -F tool=curl -F file=@%LOGDIR/test%TESTNUMBER.txt
</command>
# We create this file before the command is invoked!
<server>
smtp
</server>
- <name>
+<name>
SMTP
- </name>
+</name>
<stdin>
From: different\r
To: another\r
\r
body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP with CRLF-dot-CRLF in data
- </name>
+</name>
<stdin>
From: different\r
To: another\r
\r
body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
RFC821-only SMTP server (EHLO not supported)
- </name>
+</name>
<stdin>
From: different\r
To: another\r
\r
body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP plain authentication
- </name>
+</name>
<stdin>
mail body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP login authentication
- </name>
+</name>
<stdin>
mail body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
</command>
</client>
<features>
crypto
</features>
- <name>
+<name>
SMTP CRAM-MD5 authentication
- </name>
+</name>
<stdin>
mail body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
</command>
</client>
debug
crypto
</features>
- <name>
+<name>
SMTP DIGEST-MD5 authentication
- </name>
+</name>
<stdin>
mail body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP OAuth 2.0 (XOAUTH2) authentication
- </name>
+</name>
<stdin>
mail body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP without SIZE support
- </name>
+</name>
<file name="%LOGDIR/test%TESTNUMBER.eml">
From: different\r
To: another\r
\r
body\r
</file>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -T %LOGDIR/test%TESTNUMBER.eml
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with NTLM/Negotiate/Basic, anyauth and user with domain, with size 0
- </name>
+</name>
<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --anyauth -u mydomain\\myself:secret
</command>
<server>
smtp
</server>
- <name>
+<name>
SMTP without terminating CRLF
- </name>
+</name>
<stdin nonewline="yes">
From: different\r
To: another\r
\r
body
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP with no mail data
- </name>
+</name>
<stdin nonewline="yes">
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP with SIZE support
- </name>
+</name>
<file name="%LOGDIR/test%TESTNUMBER.eml">
From: different\r
To: another\r
\r
body\r
</file>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -T %LOGDIR/test%TESTNUMBER.eml
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP with large message SIZE
- </name>
+</name>
<file name="%LOGDIR/test%TESTNUMBER.eml">
From: different\r
To: another\r
\r
body\r
</file>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -T %LOGDIR/test%TESTNUMBER.eml
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP invalid --mail-from
- </name>
+</name>
<file name="%LOGDIR/test%TESTNUMBER.eml">
From: different\r
To: another\r
\r
body\r
</file>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from invalid -T %LOGDIR/test%TESTNUMBER.eml
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP without --mail-from
- </name>
+</name>
<stdin>
From: different\r
To: another\r
\r
body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP with invalid --mail-rcpt
- </name>
+</name>
<stdin>
From: different\r
To: another\r
\r
body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt invalid --mail-from sender@example.com -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP with multiple --mail-rcpt
- </name>
+</name>
<stdin>
From: different\r
To: another\r
\r
body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP with multiple and invalid --mail-rcpt
- </name>
+</name>
<stdin>
From: different\r
To: another\r
\r
body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient.one@example.com --mail-rcpt invalid --mail-rcpt recipient.three@example.com --mail-rcpt sTrAnGe --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP plain authentication with initial response
- </name>
+</name>
<stdin>
mail body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T -
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP resume transfer with the whole file already downloaded
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -C 87
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP login authentication with initial response
- </name>
+</name>
<stdin>
mail body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP OAuth 2.0 (XOAUTH2) authentication with initial response
- </name>
+</name>
<stdin>
mail body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP VRFY
- </name>
- <command>
+</name>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP ambiguous VRFY
- </name>
- <command>
+</name>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt smith
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP external VRFY
- </name>
- <command>
+</name>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt user@example.net
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP unknown user VRFY
- </name>
- <command>
+</name>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP mailing list EXPN (CUSTOMREQUEST)
- </name>
- <command>
+</name>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Friends -X EXPN
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP HELP
- </name>
- <command>
+</name>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP NOOP (CUSTOMREQUEST)
- </name>
- <command>
+</name>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER -X NOOP -I
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with failed proxy auth
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -x %HOSTIP:%HTTPPORT
</command>
<features>
<server>
smtp
</server>
- <name>
+<name>
SMTP RSET (CUSTOMREQUEST)
- </name>
- <command>
+</name>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER -X RSET -I
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP with URL-encoded CR LF in the URL
- </name>
- <command>
+</name>
+<command>
smtp://%HOSTIP:%SMTPPORT/%0d%0a/%TESTNUMBER
</command>
</client>
<features>
crypto
</features>
- <name>
+<name>
SMTP CRAM-MD5 graceful cancellation
- </name>
- <command>
+</name>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
</command>
</client>
SSL
!SSPI
</features>
- <name>
+<name>
SMTP NTLM graceful cancellation
- </name>
+</name>
<setenv>
# we force our own host name, in order to make the test machine independent
CURL_GETHOSTNAME=curlhost
# we try to use the LD_PRELOAD hack, if not a debug build
LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
</setenv>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T -
</command>
<precheck>
debug
crypto
</features>
- <name>
+<name>
SMTP DIGEST-MD5 graceful cancellation
- </name>
- <command>
+</name>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
</command>
</client>
<features>
crypto
</features>
- <name>
+<name>
SMTP CRAM-MD5 authentication with SASL downgrade
- </name>
+</name>
<stdin>
mail body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
</command>
</client>
SSL
!SSPI
</features>
- <name>
+<name>
SMTP NTLM authentication with SASL downgrade
- </name>
+</name>
<stdin>
mail body\r
</stdin>
# we try to use the LD_PRELOAD hack, if not a debug build
LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
</setenv>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
</command>
<precheck>
debug
crypto
</features>
- <name>
+<name>
SMTP DIGEST-MD5 authentication with SASL downgrade
- </name>
+</name>
<stdin>
mail body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP multiple connection authentication
- </name>
+</name>
<file name="%LOGDIR/upload%TESTNUMBER">
mail body\r
</file>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER001 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user.one:secret -T %LOGDIR/upload%TESTNUMBER -: smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER002 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user.two:secret -T %LOGDIR/upload%TESTNUMBER
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
RFC821-only SMTP with username and password
- </name>
+</name>
<stdin>
mail body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
</command>
</client>
SSL
proxy
</features>
- <name>
+<name>
HTTPS GET with failed proxy auth (CONNECT 1.0)
- </name>
- <command>
+</name>
+<command>
https://test.anything.really.com:%TESTNUMBER --proxy1.0 %HOSTIP:%HTTPPORT
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP with username and password but no AUTH capability
- </name>
+</name>
<stdin>
mail body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP with --crlf
- </name>
+</name>
<file name="%LOGDIR/upload%TESTNUMBER">
From: different
To: another
the
--crlf option
</file>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -T %LOGDIR/upload%TESTNUMBER --crlf
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP external authentication
- </name>
+</name>
<stdin>
mail body\r
</stdin>
- <command>
+<command>
'smtp://user;AUTH=EXTERNAL@%HOSTIP:%SMTPPORT/%TESTNUMBER' --mail-rcpt recipient@example.com --mail-from sender@example.com -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP external authentication without credentials
- </name>
+</name>
<stdin>
mail body\r
</stdin>
- <command>
+<command>
'smtp://;AUTH=EXTERNAL@%HOSTIP:%SMTPPORT/%TESTNUMBER' --mail-rcpt recipient@example.com --mail-from sender@example.com -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP external authentication with initial response
- </name>
+</name>
<stdin>
mail body\r
</stdin>
- <command>
+<command>
'smtp://user;AUTH=EXTERNAL@%HOSTIP:%SMTPPORT/%TESTNUMBER' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP external authentication with initial response without credentials
- </name>
+</name>
<stdin>
mail body\r
</stdin>
- <command>
+<command>
'smtp://;AUTH=EXTERNAL@%HOSTIP:%SMTPPORT/%TESTNUMBER' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP OAuth 2.0 (OAUTHBEARER) authentication
- </name>
+</name>
<stdin>
mail body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP OAuth 2.0 (OAUTHBEARER) authentication with initial response
- </name>
+</name>
<stdin>
mail body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation
- </name>
+</name>
<stdin>
mail body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response
- </name>
+</name>
<stdin>
mail body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T -
</command>
</client>
http
http-proxy
</server>
- <name>
+<name>
HTTP over proxytunnel using POST
- </name>
- <command>
+</name>
+<command>
http://test.%TESTNUMBER:%HTTPPORT/we/want/that/page/%TESTNUMBER -p -x %HOSTIP:%PROXYPORT -d "datatopost=ohthatsfunyesyes"
</command>
<features>
<server>
smtp
</server>
- <name>
+<name>
SMTP VRFY with custom request
- </name>
+</name>
# the custom request just does it lowercase to remain the same command
<command>
<server>
smtp
</server>
- <name>
+<name>
SMTP data with dot as first character
- </name>
+</name>
<stdin>
.This first line starts with a dot\r
</stdin>
<server>
smtp
</server>
- <name>
+<name>
SMTP data with single dot-only line
- </name>
+</name>
<stdin>
.\r
</stdin>
<server>
smtp
</server>
- <name>
+<name>
SMTP plain authentication with alternative authorization identity
- </name>
+</name>
<stdin>
mail body\r
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T -
</command>
</client>
<server>
smtp
</server>
- <name>
+<name>
SMTP plain authentication with alternative authorization identity (Not authorized)
- </name>
+</name>
<stdin>
mail body
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T -
</command>
</client>
<precheck>
perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");'
</precheck>
- <name>
+<name>
SMTP without SMTPUTF8 support - UTF-8 based sender (local part only)
- </name>
+</name>
<stdin>
From: different\r
To: another\r
<precheck>
perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");'
</precheck>
- <name>
+<name>
SMTP without SMTPUTF8 support - UTF-8 based recipient (local part only)
- </name>
+</name>
<stdin>
From: different\r
To: another\r
<precheck>
perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");'
</precheck>
- <name>
+<name>
SMTP VRFY without SMTPUTF8 support - UTF-8 based recipient (local part only)
- </name>
+</name>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Användaren
</command>
<precheck>
perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");'
</precheck>
- <name>
+<name>
SMTP external VRFY without SMTPUTF8 support - UTF-8 based recipient (local part only)
- </name>
+</name>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Användaren@example.com
</command>
<precheck>
perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");'
</precheck>
- <name>
+<name>
SMTP without SMTPUTF8 support - UTF-8 based sender (host part only)
- </name>
+</name>
<stdin>
From: different\r
To: another\r
<precheck>
perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");'
</precheck>
- <name>
+<name>
SMTP without SMTPUTF8 support - UTF-8 based recipient (host part only)
- </name>
+</name>
<stdin>
From: different\r
To: another\r
<precheck>
perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");'
</precheck>
- <name>
+<name>
SMTP external VRFY without SMTPUTF8 support - UTF-8 based recipient (host part only)
- </name>
+</name>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt user@åäö.se
</command>
<precheck>
perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");'
</precheck>
- <name>
+<name>
SMTP without SMTPUTF8 support - UTF-8 based sender (host part only)
- </name>
+</name>
<stdin>
From: different\r
To: another\r
<precheck>
perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");'
</precheck>
- <name>
+<name>
SMTP without SMTPUTF8 support (IDN Enabled) - UTF-8 based recipient (host part only)
- </name>
+</name>
<stdin>
From: different\r
To: another\r
<precheck>
perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");'
</precheck>
- <name>
+<name>
SMTP external VRFY without SMTPUTF8 support (IDN Enabled) - UTF-8 based recipient (host part only)
- </name>
+</name>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt user@åäö.se
</command>
<precheck>
perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");'
</precheck>
- <name>
+<name>
SMTP with SMTPUTF8 support - UTF-8 based sender
- </name>
+</name>
<stdin>
From: different\r
To: another\r
<precheck>
perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");'
</precheck>
- <name>
+<name>
SMTP with SMTPUTF8 support - UTF-8 based recipient
- </name>
+</name>
<stdin>
From: different\r
To: another\r
<precheck>
perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");'
</precheck>
- <name>
+<name>
SMTP external VRFY with SMTPUTF8 support
- </name>
+</name>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Användaren@åäö.se
</command>
<precheck>
perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");'
</precheck>
- <name>
+<name>
SMTP VRFY with SMTPUTF8 support
- </name>
+</name>
<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Användaren
</command>
idn
!win32
</features>
- <name>
+<name>
SMTP mailing list EXPN (CUSTOMREQUEST) with SMTPUTF8 support
- </name>
- <command>
+</name>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Friends -X EXPN
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP POST with custom content-type
- </name>
- <command>
+</name>
+<command>
-d "hejsanallabarn" -H "Content-Type: silly/type" http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
none
</server>
- <name>
+<name>
Verify that options-in-versions and docs/cmdline-opts are in sync
- </name>
+</name>
<command type="perl">
%SRCDIR/options-scan.pl %SRCDIR/../docs/options-in-versions %SRCDIR/../docs/cmdline-opts
http
ftp
</server>
- <name>
+<name>
HTTP with auth redirected to FTP w/o auth
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -L -u joe:secret
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with auth redirected to HTTP on a diff port w/o auth
- </name>
- <command>
+</name>
+<command>
-x http://%HOSTIP:%HTTPPORT http://firsthost.com -L -u joe:secret
</command>
</client>
http
ftp
</server>
- <name>
+<name>
HTTP with auth redirected to FTP allowing auth to continue
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --location-trusted -u joe:secret
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP with auth redirected to HTTP on a diff port --location-trusted
- </name>
- <command>
+</name>
+<command>
-x http://%HOSTIP:%HTTPPORT http://firsthost.com --location-trusted -u joe:secret
</command>
</client>
<server>
http
</server>
- <name>
+<name>
URL with trailing dot and receiving a cookie for the TLD with dot
- </name>
- <command>
+</name>
+<command>
-x http://%HOSTIP:%HTTPPORT http://firsthost.me. -c %LOGDIR/cookies%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
verify that --stderr works for -w's stderr as well
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --stderr %LOGDIR/redir --silent -w '%{stderr}nonsense\n'
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP PUT from stdin with set size, disabling chunked transfer-encoding
- </name>
- <command>
+</name>
+<command>
-T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
<stdin>
<server>
smtp
</server>
- <name>
+<name>
SMTP STARTTLS pipelined server response
- </name>
+</name>
<stdin>
mail body
</stdin>
- <command>
+<command>
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T -
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP STARTTLS pipelined server response
- </name>
- <command>
+</name>
+<command>
imap://%HOSTIP:%IMAPPORT/%TESTNUMBER -T %LOGDIR/upload%TESTNUMBER -u user:secret --ssl
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
<server>
pop3
</server>
- <name>
+<name>
POP3 STARTTLS pipelined server response
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user:secret --ssl
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP STARTTLS pipelined server response
- </name>
+</name>
<file name="%LOGDIR/test%TESTNUMBER.txt">
data
to
works
so does it?
</file>
- <command>
+<command>
--ssl --ftp-ssl-control ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -T %LOGDIR/test%TESTNUMBER.txt -u user:secret -P %CLIENTIP
</command>
</client>
<server>
imap
</server>
- <name>
+<name>
IMAP require STARTTLS with failing capabilities
- </name>
- <command>
+</name>
+<command>
imap://%HOSTIP:%IMAPPORT/%TESTNUMBER -T %LOGDIR/upload%TESTNUMBER -u user:secret --ssl-reqd
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
<server>
pop3
</server>
- <name>
+<name>
POP3 require STARTTLS with failing capabilities
- </name>
- <command>
+</name>
+<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user:secret --ssl-reqd
</command>
</client>
<server>
ftp
</server>
- <name>
+<name>
FTP require STARTTLS while preauthenticated
- </name>
+</name>
<file name="%LOGDIR/test%TESTNUMBER.txt">
data
to
works
so does it?
</file>
- <command>
+<command>
--ssl-reqd --ftp-ssl-control ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -T %LOGDIR/test%TESTNUMBER.txt -u user:secret
</command>
</client>
<server>
smtps
</server>
- <name>
+<name>
SMTPS with redundant explicit SSL request
- </name>
+</name>
<stdin>
From: different\r
To: another\r
\r
body\r
</stdin>
- <command>
+<command>
-k --ssl-reqd --mail-rcpt recipient@example.com --mail-from sender@example.com -T - smtps://%HOSTIP:%SMTPSPORT/%TESTNUMBER
</command>
</client>
<server>
imaps
</server>
- <name>
+<name>
IMAPS FETCH with redundant explicit SSL request
- </name>
- <command>
+</name>
+<command>
-k --ssl-reqd -u '"user:sec"ret{' 'imaps://%HOSTIP:%IMAPSPORT/%TESTNUMBER/;MAILINDEX=1'
</command>
</client>
<server>
pop3s
</server>
- <name>
+<name>
POP3S RETR with redundant explicit SSL request
- </name>
- <command>
+</name>
+<command>
-k --ssl-reqd -u user:secret pop3s://%HOSTIP:%POP3SPORT/%TESTNUMBER
</command>
</client>
<server>
http
</server>
- <name>
+<name>
HTTP GET with large-file resume point and failed resume
- </name>
- <command>
+</name>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -C 9999999999
</command>
</client>
<name>
use -w %output{}
</name>
- <command>
+<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -w '%output{%LOGDIR/output}%{http_code}\n'
</command>
</client>