54 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
<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>
 |