FTP: prevent the multi interface from blocking
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
This commit is contained in:
@@ -52,6 +52,7 @@ Moooooooooooo for 592
|
||||
s/^PORT (.*)/PORT/
|
||||
s/^EPRT \|1\|(.*)/EPRT \|1\|/
|
||||
</strippart>
|
||||
# a 421 response must prevent further commands from being sent
|
||||
<protocol>
|
||||
USER anonymous
|
||||
PASS ftp@example.com
|
||||
@@ -61,10 +62,10 @@ EPRT |1|
|
||||
PORT
|
||||
TYPE I
|
||||
STOR 592
|
||||
QUIT
|
||||
</protocol>
|
||||
# 28 == CURLE_OPERATION_TIMEDOUT
|
||||
<errorcode>
|
||||
10
|
||||
28
|
||||
</errorcode>
|
||||
<upload>
|
||||
</upload>
|
||||
|
||||
Reference in New Issue
Block a user