55 строки
1.2 KiB
Plaintext
55 строки
1.2 KiB
Plaintext
<testcase>
|
|
<info>
|
|
<keywords>
|
|
FTP
|
|
--proto-default
|
|
</keywords>
|
|
</info>
|
|
|
|
|
|
#
|
|
# Server-side
|
|
<reply>
|
|
<!--
|
|
The purpose of this test is to make sure the --proto-default option works
|
|
properly. We specify a default protocol of FTP and if the option works properly
|
|
curl will use the FTP protocol. If the option is broken however curl will use
|
|
the HTTP protocol.
|
|
In the broken scenario curl would use HTTP to talk to our FTP server. We handle
|
|
that by replying with something that both protocols can understand. Our FTP
|
|
server allows a custom welcome message, so we use that feature to make an HTTP
|
|
reply that contains an FTP reply (think polyglot). In the case of FTP we expect
|
|
curl will return CURLE_WEIRD_SERVER_REPLY so we test for that return code.
|
|
-->
|
|
<servercmd>
|
|
REPLY welcome HTTP/1.1 200 OK\r\nContent-Length: 21\r\n\r\n500 Weird FTP Reply
|
|
</servercmd>
|
|
</reply>
|
|
|
|
#
|
|
# Client-side
|
|
<client>
|
|
<features>
|
|
none
|
|
</features>
|
|
<server>
|
|
ftp
|
|
</server>
|
|
<name>
|
|
Set the default protocol to ftp for a schemeless URL
|
|
</name>
|
|
<command>
|
|
-H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp %HOSTIP:%FTPPORT
|
|
</command>
|
|
</client>
|
|
|
|
#
|
|
# Verify data after the test has been "shot"
|
|
<verify>
|
|
# CURLE_WEIRD_SERVER_REPLY is error code 8
|
|
<errorcode>
|
|
8
|
|
</errorcode>
|
|
</verify>
|
|
</testcase>
|