diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index b37932edef..3a00b2d25e 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -5,6 +5,7 @@ test:
[ -f test1 ] || ln -s $(srcdir)/test* .
EXTRA_DIST = \
-test1 test11 test14 test3 test400 test7 \
-test10 test12 test2 test300 test5 test8 \
-test100 test13 test200 test4 test6 test9
+test1 test102 test106 test13 test3 test400 test8 \
+test10 test103 test107 test14 test300 test5 test9 \
+test100 test104 test11 test2 test33 test6 \
+test101 test105 test12 test200 test4 test7
diff --git a/tests/data/test101 b/tests/data/test101
new file mode 100644
index 0000000000..ea9b9b891a
--- /dev/null
+++ b/tests/data/test101
@@ -0,0 +1,41 @@
+# Server-side
+
+
+total 20
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
+drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
+drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
+-r--r--r-- 1 0 1 35 Jul 16 1996 README
+lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
+dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
+drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
+dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
+drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
+dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
+
+
+
+# Client-side
+
+
+FTP dir list, PORT with specified IP
+
+
+ftp://%HOSTIP:%FTPPORT/ -P %HOSTIP
+
+
+
+# Verify data after the test has been "shot"
+
+
+^PORT 127,0,0,1,.*
+
+
+USER anonymous
+PASS curl_by_daniel@haxx.se
+PWD
+PORT 127,0,0,1,243,212
+TYPE A
+LIST
+
+
diff --git a/tests/data/test102 b/tests/data/test102
new file mode 100644
index 0000000000..138e57ca7b
--- /dev/null
+++ b/tests/data/test102
@@ -0,0 +1,33 @@
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+
+# Client-side
+
+
+FTP RETR PASV
+
+
+ftp://%HOSTIP:%FTPPORT/102
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS curl_by_daniel@haxx.se
+PWD
+PASV
+TYPE I
+RETR 102
+
+
diff --git a/tests/data/test103 b/tests/data/test103
new file mode 100644
index 0000000000..b3a228853b
--- /dev/null
+++ b/tests/data/test103
@@ -0,0 +1,37 @@
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+
+# Client-side
+
+
+FTP RETR PORT with CWD
+
+
+ftp://%HOSTIP:%FTPPORT/a/path/103 -P -
+
+
+
+# Verify data after the test has been "shot"
+
+
+^PORT .*
+
+
+USER anonymous
+PASS curl_by_daniel@haxx.se
+PWD
+CWD a/path
+PORT 127,0,0,1,246,33
+TYPE I
+RETR 103
+
+
diff --git a/tests/data/test104 b/tests/data/test104
new file mode 100644
index 0000000000..b4cf3e145e
--- /dev/null
+++ b/tests/data/test104
@@ -0,0 +1,29 @@
+# Server-side
+
+
+51
+
+
+
+# Client-side
+
+
+FTP --head to get file size only
+
+
+ftp://%HOSTIP:%FTPPORT/a/path/103 --head
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS curl_by_daniel@haxx.se
+PWD
+CWD a/path
+MDTM 103
+TYPE I
+SIZE 103
+
+
diff --git a/tests/data/test105 b/tests/data/test105
new file mode 100644
index 0000000000..3cecc296c9
--- /dev/null
+++ b/tests/data/test105
@@ -0,0 +1,33 @@
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+
+# Client-side
+
+
+FTP user+password in URL and ASCII transfer
+
+
+ftp://userdude:passfellow@%HOSTIP:%FTPPORT/103 --use-ascii
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER userdude
+PASS passfellow
+PWD
+PASV
+TYPE A
+RETR 103
+
+
diff --git a/tests/data/test106 b/tests/data/test106
new file mode 100644
index 0000000000..61c43b8f69
--- /dev/null
+++ b/tests/data/test106
@@ -0,0 +1,34 @@
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+
+# Client-side
+
+
+FTP GET with type=A style ASCII URL using %20 codes
+
+
+"ftp://%HOSTIP:%FTPPORT//path%20with%20%20spaces/and%20things2/106;type=A"
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS curl_by_daniel@haxx.se
+PWD
+CWD /path with spaces/and things2
+PASV
+TYPE A
+RETR 106
+
+
diff --git a/tests/data/test107 b/tests/data/test107
new file mode 100644
index 0000000000..98fa773ad7
--- /dev/null
+++ b/tests/data/test107
@@ -0,0 +1,38 @@
+
+# Client-side
+
+
+FTP PASV upload file
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+ftp://%HOSTIP:%FTPPORT/107 -T log/test107.txt
+
+
+
+# Verify data after the test has been "shot"
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+USER anonymous
+PASS curl_by_daniel@haxx.se
+PWD
+PASV
+TYPE I
+STOR 107
+
+
diff --git a/tests/data/test33 b/tests/data/test33
new file mode 100644
index 0000000000..f255bc4e0e
--- /dev/null
+++ b/tests/data/test33
@@ -0,0 +1,50 @@
+# Server-side
+
+
+
+
+
+
+# Client-side
+
+
+HTTP PUT with resume
+
+
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+012345678
+
+
+http://%HOSTIP:%HOSTPORT/33 -Tlog/test33.txt -C 50
+
+
+
+# Verify data after the test has been "shot"
+
+
+^User-Agent:.*
+
+
+PUT /33 HTTP/1.1
+Content-Range: bytes 50-99/100
+User-Agent: curl/7.6 (sparc-sun-solaris2.7) libcurl 7.6-pre4 (SSL 0.9.6) (krb4 enabled)
+Host: 127.0.0.1:8999
+Pragma: no-cache
+Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
+Content-Length: 50
+
+012345678
+012345678
+012345678
+012345678
+012345678
+
+