From b2954e66e87be7414a4508f8167ca531e653bea8 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Sun, 4 Nov 2012 18:22:48 +0100 Subject: 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 --- tests/data/test1501 | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 tests/data/test1501 (limited to 'tests/data/test1501') diff --git a/tests/data/test1501 b/tests/data/test1501 new file mode 100644 index 000000000..8c7e13af7 --- /dev/null +++ b/tests/data/test1501 @@ -0,0 +1,53 @@ + + + +FTP +RETR +multi +LIST + + + +# Server-side + + + + +DELAY LIST 2 +DELAY TYPE 2 + + + +# Client-side + + +ftp + + +lib1501 + + +FTP with multi interface and slow LIST response + + +ftp://%HOSTIP:%FTPPORT/1501/ + + +# Verify data after the test has been "shot" + + +0 + + +USER anonymous +PASS ftp@example.com +PWD +CWD 1501 +EPSV +TYPE A +LIST +QUIT + + + + -- cgit v1.2.3