| <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> |