mirror of
https://github.com/moparisthebest/curl
synced 2024-11-15 14:05:03 -05:00
b2954e66e8
As pointed out in Bug report #3579064, curl_multi_perform() would wrongly use a blocking mechanism internally for some commands which could lead to for example a very long block if the LIST response never showed. The solution was to make sure to properly continue to use the multi interface non-blocking state machine. The new test 1501 verifies the fix. Bug: http://curl.haxx.se/bug/view.cgi?id=3579064 Reported by: Guido Berhoerster
74 lines
1.0 KiB
Plaintext
74 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>
|
|
# CURLE_UPLOAD_FAILED = 25
|
|
<errorcode>
|
|
25
|
|
</errorcode>
|
|
<upload>
|
|
</upload>
|
|
</verify>
|
|
</testcase>
|