Commits (1)
  • Rob Swindell's avatar
    Fix FTPS upload failure: !DATA ERROR 0 receiving on data socket · 17a67ee9
    Rob Swindell authored
    Don't treat CRYPT_ERROR_COMPLETE (-24) as a socket error during upload since it's an indication that the remote closed the connection and is the normal "end of file/transfer" indicator, not an error. 'rd' is already 0 in this case, so no need to set at all (since recv() returns 0 upon disconnect and that's what we're emulating here).
    
    Fixes issue #309 reported by Jas Hud.
    17a67ee9
......@@ -978,7 +978,8 @@ static void receive_thread(void* arg)
int status = cryptPopData(*xfer.data_sess, buf, sizeof(buf), &rd);
if (status != CRYPT_OK) {
GCES(status, *xfer.data_sock, *xfer.data_sess, estr, "popping data");
rd = -1;
if (status != CRYPT_ERROR_COMPLETE)
rd = SOCKET_ERROR;
}
}
else {
......