diff --git a/CHANGES b/CHANGES
index 632dcb9b12..f8b55e73af 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,9 @@
Changelog
+Dan F (8 May 2007)
+- Added FTPS test cases 406 and 407
+
Daniel S (8 May 2007)
- CURLE_FTP_COULDNT_STOR_FILE is now known as CURLE_UPLOAD_FAILED. This is
because I just made SCP uploads return this value if the file size of
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index e28f38afb0..5b290f835f 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -40,4 +40,4 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \
test286 test307 test308 test287 test400 test288 test600 test601 test602 \
test603 test401 test402 test290 test291 test292 test293 test403 test404 \
test405 test604 test605 test606 test607 test608 test609 test294 test295 \
- test296 test297 test298 test610 test611 test612
+ test296 test297 test298 test610 test611 test612 test406 test407
diff --git a/tests/data/test406 b/tests/data/test406
new file mode 100644
index 0000000000..d3ff294b48
--- /dev/null
+++ b/tests/data/test406
@@ -0,0 +1,67 @@
+
+
+
+FTPS
+PORT
+LIST
+
+
+#
+# Server-side
+
+# When doing LIST, we get the default list output hard-coded in the test
+# FTPS server
+
+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
+
+
+SSL
+
+
+ftps
+
+
+FTPS dir list, PORT with specified IP
+
+
+-k --ftp-ssl-control -P %HOSTIP ftps://%HOSTIP:%FTPSPORT/
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# strip all kinds of PORT, EPRT and LPRT curl can do
+
+^PORT 127,0,0,1,.*
+^EPRT.*
+^LPRT.*
+
+
+USER anonymous
+PASS ftp@example.com
+PBSZ 0
+PROT C
+PWD
+PORT 127,0,0,1,243,212
+TYPE A
+LIST
+QUIT
+
+
+
diff --git a/tests/data/test407 b/tests/data/test407
new file mode 100644
index 0000000000..8c14fa846a
--- /dev/null
+++ b/tests/data/test407
@@ -0,0 +1,59 @@
+
+
+
+FTPS
+PASV
+RETR
+
+
+
+# Server-side
+
+
+data blobb
+
+
+# data is sent to stdout
+
+
+# Client-side
+
+
+SSL
+
+
+ftps
+
+
+Get two FTPS files from the same remote dir: no second CWD
+
+
+-k --ftp-ssl-control ftps://%HOSTIP:%FTPSPORT/a/path/407 ftps://%HOSTIP:%FTPSPORT/a/path/407
+
+
+data blobb
+data blobb
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PBSZ 0
+PROT C
+PWD
+CWD a
+CWD path
+EPSV
+TYPE I
+SIZE 407
+RETR 407
+EPSV
+SIZE 407
+RETR 407
+QUIT
+
+
+