aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2020-05-14 17:52:40 +0200
committerDaniel Stenberg <daniel@haxx.se>2020-05-15 08:28:56 +0200
commit9e95ca10b507914c33fe56862ab31cc0c6498049 (patch)
treeb8573f661328f70b50e27c17e7649be9e4961d1f
parentc6ce51169e8e9590b5d25a0b567c674203bda342 (diff)
test1632: verify FTP through HTTPS-proxy with connection re-use
-rw-r--r--tests/data/Makefile.inc2
-rw-r--r--tests/data/test1632105
2 files changed, 106 insertions, 1 deletions
diff --git a/tests/data/Makefile.inc b/tests/data/Makefile.inc
index 2d6c7323a..02a6636f2 100644
--- a/tests/data/Makefile.inc
+++ b/tests/data/Makefile.inc
@@ -195,7 +195,7 @@ test1608 test1609 test1610 test1611 test1612 \
\
test1620 test1621 \
\
-test1630 test1631 \
+test1630 test1631 test1632 \
\
test1650 test1651 test1652 test1653 test1654 test1655 \
\
diff --git a/tests/data/test1632 b/tests/data/test1632
new file mode 100644
index 000000000..b10b2a68a
--- /dev/null
+++ b/tests/data/test1632
@@ -0,0 +1,105 @@
+<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
+PBSZ 0
+PROT P
+PWD
+EPSV
+TYPE I
+SIZE 1632
+RETR 1632
+EPSV
+SIZE 16320002
+RETR 16320002
+QUIT
+</protocol>
+</verify>
+</testcase>