aboutsummaryrefslogtreecommitdiff
path: root/lib/ftp.c
AgeCommit message (Collapse)Author
2003-05-23Ricardo Cadime found a socket leak when listing directories withoutDaniel Stenberg
contents. Test cases 144 and 145 were added to verify the fix. Now we deal with return code 450 properly and other codes also do proper cleanup.
2003-05-14George Comninos provided a fix that calls the progress meter when waitingDaniel Stenberg
for FTP command responses take >1 second.
2003-05-13before using if2ip(), check if the address is an ip address and skip it ifDaniel Stenberg
it is.
2003-05-12when we have accepted the server's connection in a PORT sequence, we setDaniel Stenberg
the new socket to non-blocking
2003-05-09support for CURLOPT_FTP_USE_EPRT addedDaniel Stenberg
2003-04-30when making up the list of path parts, save the last entry pointing to NULLDaniel Stenberg
as otherwise we'll go nuts
2003-04-30David Balazic's patch to make the FTP operations "do right" according toDaniel Stenberg
RFC1738, which means it'll use one CWD for each pathpart.
2003-04-11 According to RFC959, CWD is supposed to return 250 on success, butDaniel Stenberg
there seem to be non-compliant FTP servers out there that return 200, so we accept any '2xy' response now.
2003-04-09timecond support addedDaniel Stenberg
made the Last-Modified (faked) header look correct using GMT always
2003-04-03kill a compiler warning on cygwinDaniel Stenberg
2003-03-11Use ssize_t instead of 'int' to make the 64 bit sparc compiler happier.Daniel Stenberg
Fix by Richard Gorton.
2003-02-27It appears that there are FTP-servers that return size 0 for filesDaniel Stenberg
when SIZE is used on the file while being in BINARY mode. To work around that (stupid) behavior, we attempt to parse the RETR response even if the SIZE returned size zero. Debugging help from Salvatore Sorrentino on February 26, 2003.
2003-02-04added the sharing of DNS cacheJean-Philippe Barette-LaPierre
2003-01-29reset conn->size to -1 on the ftp-do function to make it not go on toDaniel Stenberg
ftp_done() with the previous transfer's value, as Dave Halbakken found out. He also verified this fixed corrected the problem.
2003-01-29removed the local variables for emacs and vim, use the new sample.emacsDaniel Stenberg
way for emacs, and vim users should provide a similar non-polluting style
2003-01-16copyright year update in the source headerDaniel Stenberg
2003-01-07Only output valid filetime.Daniel Stenberg
Return file-error if 550 is returned when trying MDTM
2002-12-09The fread() callback pointer and associated pointer is now stored in theDaniel Stenberg
connectdata struct instead, and is no longer modified within the 'set' struct as previously (which was a really BAAAD thing).
2002-12-04The waiting for the 226 or 250 line expected to come after a transfer isDaniel Stenberg
complete is now only made for 60 seconds and if no data was received during those 60 seconds, we store a special error message (preparing to make this a special error code) as this most likely means that the control connection has died while we were transferring data.
2002-12-03Curl_GetFTPResponse() takes a different set of parameters and now return aDaniel Stenberg
proper CURLcode. The default timeout for reading one response is now also possible to change while running.
2002-12-02if the PWD reply parser failed, we leaked memoryDaniel Stenberg
2002-11-11moved the bools in the connectdata struct into the substruct namedDaniel Stenberg
ConnectBits where the other bools already are
2002-11-11unlock dns cache entries with a function call instead of a variable fiddleDaniel Stenberg
2002-11-05ipv4-fixes for the new Curl_dns_entry struct and Curl_resolv() protoDaniel Stenberg
2002-11-05Curl_resolv() now returns a different struct, and it contains a referenceDaniel Stenberg
counter so that the caller needs to decrease that counter when done with the returned data. If compiled with MALLOCDEBUG I've added some extra checking that the counter is decreased before a handle is closed etc.
2002-10-28prevent compiler warningsDaniel Stenberg
2002-09-20Craig Markwardt made the "struct hostent_data" get cleared too, as isDaniel Stenberg
needed on Tru64 (or something).
2002-09-03updated source code boilerplate/headerDaniel Stenberg
2002-08-26SSL_INSECURE support and usage addedDaniel Stenberg
2002-08-26don't attempt to ftp_cwd() on a NULL pathDaniel Stenberg
2002-08-12Initial fix to make the multi interface return control while waiting forDaniel Stenberg
the initial connect to "come through". This should work fine for connect and for FTP-PASV connects. Needs massive testing.
2002-08-01corrected some warningsDaniel Stenberg
2002-08-01Changed the PORT command to pick a better default IP address if "-" is used.Daniel Stenberg
It now uses the local IP adress of the control connection.
2002-06-14Remade the FTP not-check status line and not-attempt-to-read-status-lineDaniel Stenberg
variables, conditions and things.
2002-06-13Tom Mattison's report found out, and this is the fix that should preventDaniel Stenberg
FTP from closing the connections a little too often!
2002-06-13Added 'dont_check' to be set during an FTP operation if the final statusDaniel Stenberg
message is supposed to be ignored.
2002-06-12when no FTP transfer was done, don't attempt to read the download transferDaniel Stenberg
thing. The 'resumed' flag is also causing confusions. I'll deal with that tomorrow.
2002-06-12kris@freebsd.org fixed a few bad format stringsDaniel Stenberg
2002-06-11ftp range downloads make us ignore the final status message as the serverDaniel Stenberg
will most likely treat the download as failed as we might abort it pre-maturely
2002-06-11added disable-[protocol] support, largely provided by Miklos NemethDaniel Stenberg
2002-05-28Getting an empty FTP file no longer makes us return error 19. An empty fileDaniel Stenberg
is fine to get.
2002-04-27Fixed the FTP response reader to deal with timeouts better. Previously itDaniel Stenberg
would reset the timeout for each incoming data, which would make veeery slow responses be allowed to take even more time since the timeout would only be reached if the time between two received data chunks was longer than the set timeout value...
2002-04-27(Curl_GetFTPResponse) moved some code to only get performed when actuallyDaniel Stenberg
needed
2002-04-25adjusted to the new Curl_resolv() protoDaniel Stenberg
2002-04-25In order to not get problems with DNS cache pruning, we no longer storeDaniel Stenberg
any name resolved data in any curl handle struct. That way, we won't mind if the cache entries are pruned for the next time we need them. We'll just resolve them again instead. This changes the Curl_resolv() proto. It modifies the SessionHandle struct but perhaps most importantly, it'll make the internals somewhat dependent on the DNS cache not being disabled as that will cripple operations somewhat. Especially for persistant connections.
2002-04-14removed unused variableDaniel Stenberg
2002-04-12Jean-Philippe Barrette-LaPierre provided his patch that introducesDaniel Stenberg
CURLOPT_DEBUGFUNCTION and CURLOPT_DEBUGDATA.
2002-04-04This corrects VERBOSE PASV ftp transfers on AIX (and OSF1/Tru64)Daniel Stenberg
Gerhard Herre reported this in bug report #536238
2002-03-20verbose FTP PASV output could output a "random" name from the stack basedDaniel Stenberg
array Also, uploading data with --crlf cannot check that the proper size was uploaded and thus should not warn if the sizes differ. This can be changed in the future by having the expected size in the connectdata struct and then increase the expected size for each byte that is added in the --crlf replacement process.
2002-03-19copyright string (year) updateDaniel Stenberg