- When using the multi interface with FTP and you asked for NOBODY, you did no

QUOTE commands and the request used the same path as the connection had
  already changed to, it would decide that no commands would be necessary for
  the "DO" action and that was not handled properly but libcurl would instead
  hang.
This commit is contained in:
Daniel Stenberg 2009-08-31 20:49:30 +00:00
parent f3bd0c3fc3
commit 4e9d3c26ed
3 changed files with 16 additions and 1 deletions

View File

@ -6,6 +6,13 @@
Changelog
Daniel Stenberg (31 Aug 2009)
- When using the multi interface with FTP and you asked for NOBODY, you did no
QUOTE commands and the request used the same path as the connection had
already changed to, it would decide that no commands would be necessary for
the "DO" action and that was not handled properly but libcurl would instead
hang.
Kamil Dudka (28 Aug 2009)
- Improved error message for not matching certificate subject name in
libcurl-NSS. Originally reported at:

View File

@ -10,6 +10,7 @@ Curl and libcurl 7.19.7
This release includes the following changes:
o -T. is now for non-blocking uploading from stdin
o SYST handling on FTP for OS/400 FTP server cases
This release includes the following bugfixes:
@ -21,6 +22,9 @@ This release includes the following bugfixes:
o missing strdup() return code check
o CURLOPT_PROXY_TRANSFER_MODE could pass along wrong syntax
o configure --with-gnutls=PATH fixed
o ftp response reader bug on failed control connections
o improved NSS error message on failed host name verifications
o ftp NOBODY on re-used connection hang
This release includes the following known bugs:

View File

@ -3026,10 +3026,14 @@ static CURLcode ftp_multi_statemach(struct connectdata *conn,
}
else if(rc != 0) {
result = ftp_statemach_act(conn);
*done = (bool)(ftpc->state == FTP_STOP);
}
/* if rc == 0, then select() timed out */
/* Check for the state outside of the Curl_socket_ready() return code checks
since at times we are in fact already in this state when this function
gets called. */
*done = (bool)(ftpc->state == FTP_STOP);
return result;
}