1
0
mirror of https://github.com/moparisthebest/curl synced 2024-11-11 03:55:03 -05:00
curl/tests/data/test1632
Daniel Stenberg 1397a7de6e
ftp: separate FTPS from FTP over "HTTPS proxy"
When using HTTPS proxy, SSL is used but not in the view of the FTP
protocol handler itself so separate the connection's use of SSL from the
FTP control connection's sue.

Reported-by: Mingtao Yang
Fixes #5523
Closes #6006
2020-09-24 14:09:20 +02:00

104 lines
2.5 KiB
Plaintext

<testcase>
<info>
<keywords>
FTP
HTTPS-proxy
</keywords>
</info>
# Server-side
<reply>
# This is the HTTPS proxy response
<connect>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Type: text/html
Funny-head: yesyes
Content-Length: 0
</connect>
# This is the FTP server response. The Life and Adventures of Robinson Crusoe
<data>
I was born in the year 1632, in the city of York, of a good family, though not
of that country, myfather being a foreigner of Bremen, who settled first at
Hull. He got a good estate by merchandise,and leaving off his trade, lived
afterwards at York, from whence he had married my mother, whoserelations were
named Robinson, a very good family in that country, and from whom I was
calledRobinson Kreutznaer; but, by the usual corruption of words in England,
we are now called—nay wecall ourselves and write our name—Crusoe; and so my
companions always called me.
</data>
<data2>
I had two elder brothers, one of whom was lieutenant-colonel to an
English regiment of foot inFlanders, formerly commanded by the famous Colonel
Lockhart, and was killed at the battle nearDunkirk against the Spaniards.
What became of my second brother I never knew, any more thanmy father or
mother knew what became of me.
</data2>
</reply>
# Client-side
<client>
<server>
ftp
https-proxy
</server>
<name>
FTP through HTTPS-proxy, with connection re-use
</name>
<command>
-p -x https://%HOSTIP:%HTTPSPROXYPORT ftp://ftp.site.thru.https.proxy:%FTPPORT/1632 --proxy-insecure ftp://ftp.site.thru.https.proxy:%FTPPORT/16320002
</command>
<features>
proxy
</features>
</client>
# Verify data after the test has been "shot"
<verify>
# The second and third CONNECT will be made to the dynamic port number the FTP
# server opens for us, so we can't compare with known pre-existing numbers!
<strippart>
s/((https.proxy):(\d+))/$2:12345/
s/^(User-Agent: curl).*/$1/
</strippart>
<proxy>
CONNECT ftp.site.thru.https.proxy:12345 HTTP/1.1
Host: ftp.site.thru.https.proxy:12345
User-Agent: curl
Proxy-Connection: Keep-Alive
CONNECT ftp.site.thru.https.proxy:12345 HTTP/1.1
Host: ftp.site.thru.https.proxy:12345
User-Agent: curl
Proxy-Connection: Keep-Alive
CONNECT ftp.site.thru.https.proxy:12345 HTTP/1.1
Host: ftp.site.thru.https.proxy:12345
User-Agent: curl
Proxy-Connection: Keep-Alive
</proxy>
<protocol>
USER anonymous
PASS ftp@example.com
PWD
EPSV
TYPE I
SIZE 1632
RETR 1632
EPSV
SIZE 16320002
RETR 16320002
QUIT
</protocol>
</verify>
</testcase>