1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-23 16:48:49 -05:00
curl/tests/data/test591
Gokhan Sengun c834213ad5 FTP: perform active connections non-blocking
1- Two new error codes are introduced.

CURLE_FTP_ACCEPT_FAILED to be set whenever ACCEPTing fails because of
FTP server connected.

CURLE_FTP_ACCEPT_TIMEOUT to be set whenever ACCEPTing timeouts.

Neither of these errors are considered fatal and control connection
remains OK because it could just be a firewall blocking server to
connect to the client.

2- One new setopt option was introduced.

CURLOPT_ACCEPTTIMEOUT_MS

It sets the maximum amount of time FTP client is going to wait for a
server to connect. Internal default accept timeout is 60 seconds.
2011-12-20 20:30:02 +01:00

73 lines
1.0 KiB
Plaintext

#
# For this test the server rejects the EPRT command,
# code in lib591 makes use of curl_multi_timeout()
# and server does not establish data connection.
#
<testcase>
<info>
<keywords>
FTP
PORT
STOR
multi
EPRT refused
NODATACONN425
</keywords>
</info>
# Server-side
<reply>
<data>
</data>
<servercmd>
NODATACONN425
REPLY EPRT 500 we don't like EPRT now
</servercmd>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<tool>
lib591
</tool>
<name>
FTP multi PORT and 425 on upload
</name>
<command>
ftp://%HOSTIP:%FTPPORT/path/591 %FTPTIME2 log/upload591
</command>
<file name="log/upload591">
Moooooooooooo for 591
upload this
</file>
</client>
# Verify data after the test has been "shot"
<verify>
# Strip off parts of the PORT and EPRT commands that might differ
<strippart>
s/^PORT (.*)/PORT/
s/^EPRT \|1\|(.*)/EPRT \|1\|/
</strippart>
<protocol>
USER anonymous
PASS ftp@example.com
PWD
CWD path
EPRT |1|
PORT
TYPE I
STOR 591
QUIT
</protocol>
<errorcode>
10
</errorcode>
<upload>
</upload>
</verify>
</testcase>