mirror of
https://github.com/curl/curl.git
synced 2026-08-25 20:53:37 +03:00
Modified the FTP server to use the new 'sockfilt' program to do all the socket
level stuff. The FTP server communicates with sockfilt using perl's open2(). This enables easier IPv6 support and hopefully FTP-SSL support in the future. Added four test cases for FTP-ipv6.
This commit is contained in:
parent
6063dff8d0
commit
14424f7058
14 changed files with 1315 additions and 151 deletions
|
|
@ -34,7 +34,7 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \
|
|||
test199 test225 test226 test227 test230 test231 test232 test228 \
|
||||
test229 test233 test234 test235 test236 test520 test237 test238 \
|
||||
test239 test243 test245 test246 test247 test248 test249 test250 \
|
||||
test251
|
||||
test251 test252 test253 test254 test255
|
||||
|
||||
# The following tests have been removed from the dist since they no longer
|
||||
# work. We need to fix the test suite's FTPS server first, then bring them
|
||||
|
|
|
|||
|
|
@ -26,8 +26,8 @@ ftp://%HOSTIP:%FTPPORT/a/path/103 -P -
|
|||
# Verify data after the test has been "shot"
|
||||
<verify>
|
||||
<strippart>
|
||||
s/^LPRT.*[\n]//
|
||||
s/^EPRT.*[\n]//
|
||||
s/^LPRT.*/LPRT/
|
||||
s/^EPRT.*/EPRT/
|
||||
s/^(PORT 127,0,0,1,)([0-9,]+)/$1/
|
||||
</strippart>
|
||||
<protocol>
|
||||
|
|
@ -36,6 +36,8 @@ PASS curl_by_daniel@haxx.se
|
|||
PWD
|
||||
CWD a
|
||||
CWD path
|
||||
EPRT
|
||||
LPRT
|
||||
PORT 127,0,0,1,
|
||||
TYPE I
|
||||
SIZE 103
|
||||
|
|
|
|||
57
tests/data/test252
Normal file
57
tests/data/test252
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
<info>
|
||||
<keywords>
|
||||
FTP-ipv6
|
||||
EPSV
|
||||
</keywords>
|
||||
</info>
|
||||
#
|
||||
# Server-side
|
||||
<reply>
|
||||
<data>
|
||||
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
|
||||
</data>
|
||||
</reply>
|
||||
|
||||
#
|
||||
# Client-side
|
||||
<client>
|
||||
<features>
|
||||
ipv6
|
||||
</features>
|
||||
<server>
|
||||
ftp-ipv6
|
||||
</server>
|
||||
<name>
|
||||
FTP IPv6 dir list PASV
|
||||
</name>
|
||||
<command>
|
||||
-g "ftp://%HOST6IP:%FTP6PORT/"
|
||||
</command>
|
||||
</client>
|
||||
|
||||
#
|
||||
# Verify data after the test has been "shot"
|
||||
<verify>
|
||||
<strip>
|
||||
filter off really nothing
|
||||
</strip>
|
||||
<protocol>
|
||||
USER anonymous
|
||||
PASS curl_by_daniel@haxx.se
|
||||
PWD
|
||||
EPSV
|
||||
TYPE A
|
||||
LIST
|
||||
QUIT
|
||||
</protocol>
|
||||
</verify>
|
||||
57
tests/data/test253
Normal file
57
tests/data/test253
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
<info>
|
||||
<keywords>
|
||||
FTP-ipv6
|
||||
EPRT
|
||||
</keywords>
|
||||
</info>
|
||||
#
|
||||
# Server-side
|
||||
<reply>
|
||||
<data>
|
||||
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
|
||||
</data>
|
||||
</reply>
|
||||
|
||||
#
|
||||
# Client-side
|
||||
<client>
|
||||
<features>
|
||||
ipv6
|
||||
</features>
|
||||
<server>
|
||||
ftp-ipv6
|
||||
</server>
|
||||
<name>
|
||||
FTP IPv6 dir list with EPRT
|
||||
</name>
|
||||
<command>
|
||||
-g "ftp://%HOST6IP:%FTP6PORT/" -P -
|
||||
</command>
|
||||
</client>
|
||||
|
||||
#
|
||||
# Verify data after the test has been "shot"
|
||||
<verify>
|
||||
<strippart>
|
||||
s/^(EPRT \|2\|::1\|)(.*)/$1/
|
||||
</strippart>
|
||||
<protocol>
|
||||
USER anonymous
|
||||
PASS curl_by_daniel@haxx.se
|
||||
PWD
|
||||
EPRT |2|::1|
|
||||
TYPE A
|
||||
LIST
|
||||
QUIT
|
||||
</protocol>
|
||||
</verify>
|
||||
58
tests/data/test254
Normal file
58
tests/data/test254
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
<info>
|
||||
<keywords>
|
||||
FTP-ipv6
|
||||
EPSV
|
||||
--disable-epsv
|
||||
</keywords>
|
||||
</info>
|
||||
#
|
||||
# Server-side
|
||||
<reply>
|
||||
<data>
|
||||
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
|
||||
</data>
|
||||
</reply>
|
||||
|
||||
#
|
||||
# Client-side
|
||||
<client>
|
||||
<features>
|
||||
ipv6
|
||||
</features>
|
||||
<server>
|
||||
ftp-ipv6
|
||||
</server>
|
||||
<name>
|
||||
FTP IPv6 dir list PASV and --disable-epsv
|
||||
</name>
|
||||
<command>
|
||||
-g "ftp://%HOST6IP:%FTP6PORT/" --disable-epsv
|
||||
</command>
|
||||
</client>
|
||||
|
||||
#
|
||||
# Verify data after the test has been "shot"
|
||||
<verify>
|
||||
<strip>
|
||||
filter off really nothing
|
||||
</strip>
|
||||
<protocol>
|
||||
USER anonymous
|
||||
PASS curl_by_daniel@haxx.se
|
||||
PWD
|
||||
EPSV
|
||||
TYPE A
|
||||
LIST
|
||||
QUIT
|
||||
</protocol>
|
||||
</verify>
|
||||
58
tests/data/test255
Normal file
58
tests/data/test255
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
<info>
|
||||
<keywords>
|
||||
FTP-ipv6
|
||||
EPRT
|
||||
--disable-eprt
|
||||
</keywords>
|
||||
</info>
|
||||
#
|
||||
# Server-side
|
||||
<reply>
|
||||
<data>
|
||||
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
|
||||
</data>
|
||||
</reply>
|
||||
|
||||
#
|
||||
# Client-side
|
||||
<client>
|
||||
<features>
|
||||
ipv6
|
||||
</features>
|
||||
<server>
|
||||
ftp-ipv6
|
||||
</server>
|
||||
<name>
|
||||
FTP IPv6 dir list with EPRT and --disable-eprt
|
||||
</name>
|
||||
<command>
|
||||
-g "ftp://%HOST6IP:%FTP6PORT/" -P - --disable-eprt
|
||||
</command>
|
||||
</client>
|
||||
|
||||
#
|
||||
# Verify data after the test has been "shot"
|
||||
<verify>
|
||||
<strippart>
|
||||
s/^(EPRT \|2\|::1\|)(.*)/$1/
|
||||
</strippart>
|
||||
<protocol>
|
||||
USER anonymous
|
||||
PASS curl_by_daniel@haxx.se
|
||||
PWD
|
||||
EPRT |2|::1|
|
||||
TYPE A
|
||||
LIST
|
||||
QUIT
|
||||
</protocol>
|
||||
</verify>
|
||||
Loading…
Add table
Add a link
Reference in a new issue