Commit 18371aaf authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

- Fred Machado posted about a weird FTP problem on the curl-users list and when

  researching it, it turned out he got a 550 response back from a SIZE command
  and then I fell over the text in RFC3659 that says:

   The presence of the 550 error response to a SIZE command MUST NOT be taken
   by the client as an indication that the file cannot be transferred in the
   current MODE and TYPE.

  In other words: the change I did on September 30th 2008 and that has been
  included in the last two releases were a regression and a bad idea. We MUST
  NOT take a 550 response from SIZE as a hint that the file doesn't exist.
parent f36eab26
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -7,6 +7,18 @@
                                  Changelog

Daniel Stenberg (8 Dec 2008)
- Fred Machado posted about a weird FTP problem on the curl-users list and when
  researching it, it turned out he got a 550 response back from a SIZE command
  and then I fell over the text in RFC3659 that says:

   The presence of the 550 error response to a SIZE command MUST NOT be taken
   by the client as an indication that the file cannot be transferred in the
   current MODE and TYPE.

  In other words: the change I did on September 30th 2008 and that has been
  included in the last two releases were a regression and a bad idea. We MUST
  NOT take a 550 response from SIZE as a hint that the file doesn't exist.

- Christian Krause filed bug #2221237
  (http://curl.haxx.se/bug/view.cgi?id=2221237) that identified an infinite
  loop during GSS authentication given some specific conditions. With his
+3 −1
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ This release includes the following bugfixes:
 o bad fclose() after a fatal error in cookie code
 o curl_multi_remove_handle() when the handle was in use in a HTTP pipeline
 o GSS authentication infinite loop problem
 o 550 response from SIZE no longer treated as missing file

This release includes the following known bugs:

@@ -34,6 +35,7 @@ This release would not have looked like this without help, code, reports and
advice from friends like these:

 Yang Tse, Daniel Fandrich, Jim Meyering, Christian Krause, Andreas Wurf,
 Markus Koetter, Josef Wolf, Vlad Grachov, Pawel Kierski, Igor Novoseltsev
 Markus Koetter, Josef Wolf, Vlad Grachov, Pawel Kierski, Igor Novoseltsev,
 Fred Machado

        Thanks! (and sorry if I forgot to mention someone)
+0 −5
Original line number Diff line number Diff line
@@ -2190,10 +2190,6 @@ static CURLcode ftp_state_size_resp(struct connectdata *conn,
  curl_off_t filesize;
  char *buf = data->state.buffer;

  if((instate != FTP_STOR_SIZE) && (ftpcode == 550))
    /* the file doesn't exist and we're not about to upload */
    return CURLE_REMOTE_FILE_NOT_FOUND;

  /* get the size from the ascii string: */
  filesize = (ftpcode == 213)?curlx_strtoofft(buf+4, NULL, 0):-1;

@@ -3169,7 +3165,6 @@ static CURLcode ftp_done(struct connectdata *conn, CURLcode status,
  case CURLE_UPLOAD_FAILED:
  case CURLE_REMOTE_ACCESS_DENIED:
  case CURLE_FILESIZE_EXCEEDED:
  case CURLE_REMOTE_FILE_NOT_FOUND:
    /* the connection stays alive fine even though this happened */
    /* fall-through */
  case CURLE_OK: /* doesn't affect the control connection's status */
+0 −3
Original line number Diff line number Diff line
@@ -9,9 +9,6 @@ FAILURE
</info>
# Server-side
<reply>
<size>
1
</size>
<servercmd>
REPLY RETR 314 bluah you f00l!
REPLY EPSV 314 bluah you f00l!
+2 −0
Original line number Diff line number Diff line
@@ -45,8 +45,10 @@ CWD path
EPSV
TYPE I
SIZE 533
RETR 533
EPSV
SIZE 533
RETR 533
QUIT
</protocol>
</verify>
Loading