aboutsummaryrefslogtreecommitdiff
path: root/lib/ftp.c
AgeCommit message (Collapse)Author
2005-07-21Fixed some typos in output messages.Dan Fandrich
2005-07-03Andrew Bushnell provided enough info for me to tell that we badly needed toDaniel Stenberg
fix the CONNECT authentication code with multi-pass auth methods (such as NTLM) as it didn't previously properly ignore response-bodies - in fact it stopped reading after all response headers had been received. This could lead to libcurl sending the next request and reading the body from the first request as response to the second request. (I also renamed the function, which wasn't strictly necessary but...) The best fix would to once and for all make the CONNECT code use the ordinary request sending/receiving code, treating it as any ordinary request instead of the special-purpose function we have now. It should make it better for multi-interface too. And possibly lead to less code... Added test case 265 for this. It doesn't work as a _really_ good test case since the test proxy is too stupid, but the test case helps when running the debugger to verify.
2005-05-24Now allow TYPE responses to be any 2xx code, and log if it isn't 200.Daniel Stenberg
2005-05-17check if getsockname() returns failure before using the address it providesDaniel Stenberg
2005-05-17reduced typecasts, from two to oneDaniel Stenberg
2005-05-14Some patches for (a stricter/smarter) gcc 4.0 andGisle Vanem
warnings like: 'x' may be used uninitialized in this function.
2005-05-08silence compiler warningsDaniel Stenberg
2005-05-07fix warnings about unused variables for non-debug buildsDaniel Stenberg
2005-05-07fixDaniel Stenberg
2005-05-07DEBUGF() is a new conveniant macro to add infof() calls (or similar) forDaniel Stenberg
debug builds only. Made the ftp code use it on several places.
2005-05-02improved failf() error messagesDaniel Stenberg
2005-05-02Now configure checks for struct sockaddr_storage and the ftp code triesDaniel Stenberg
to survive without it if not found. AIX 4.3 targetted adjustment.
2005-04-26Cory Nelson's work on nuking compiler warnings when building on x64 withDaniel Stenberg
VS2005.
2005-04-07GnuTLS support added. There's now a "generic" SSL layer that we use all overDaniel Stenberg
internally, with code provided by sslgen.c. All SSL-layer-specific code is then written in ssluse.c (for OpenSSL) and gtls.c (for GnuTLS). As far as possible, internals should not need to know what SSL layer that is in use. Building with GnuTLS currently makes two test cases fail. TODO.gnutls contains a few known outstanding issues for the GnuTLS support. GnuTLS support is enabled with configure --with-gnutls
2005-04-05too late hacking errorDaniel Stenberg
2005-04-05Christophe Legry's fix to grok time-conditoned uploadsDaniel Stenberg
2005-03-29When doing FTP-SSL, advance to the next state properly when the response toDaniel Stenberg
AUTH has been received successfully.
2005-03-29Fixed the FTP response reader function to properly deal with responses splitDaniel Stenberg
up in several chunks when read.
2005-03-15Fixed ftp support with uClibc due to differing inet_ntoa_r() behaviour.Dan Fandrich
2005-03-14silence compiler warnings for mingw win32 builds --enable-debugDaniel Stenberg
2005-03-14Removed security.h since it shadows an include file mingw needs when buildingDaniel Stenberg
for SSPI support. The contents of the file has been moved into the krb4.h file.
2005-03-08Dominick Meglio reported that using CURLOPT_FILETIME when transferring a FTPDaniel Stenberg
file got a Last-Modified: header written to the data stream, corrupting the actual data. This was because some conditions from the previous FTP code was not properly brought into the new FTP code. I fixed and I added test case 520 to verify. (This bug was introduced in 7.13.1)
2005-03-04Added test case 235 that makes a resumed upload of a file that isn't presentDaniel Stenberg
on the remote side. This then converts the operation to an ordinary STOR upload. This was requested/pointed out by Ignacio Vazquez-Abrams. It also proved (and I fixed) a bug in the newly rewritten ftp code (and present in the 7.13.1 release) when trying to resume an upload and the servers returns an error to the SIZE command. libcurl then loops and sends SIZE commands infinitely.
2005-02-11Fixed bad krb4 code. It always tried to use krb4 if built enabled.Daniel Stenberg
2005-02-11Removed all uses of strftime() since it uses the localised version of theDaniel Stenberg
week day names and month names and servers don't like that.
2005-02-10typecast assign to ftpport from int to prevent warningsDaniel Stenberg
2005-02-09Use CURL_SOCKET_BAD.Gisle Vanem
2005-02-09Handle CURLE_LOGIN_DENIED in strerror.c.Gisle Vanem
For ftp only?
2005-02-09FD_SET can be big macro, use bracesDaniel Stenberg
2005-02-09FTP code turned into state machine. Not completely yet, but a good start.Daniel Stenberg
The tag 'before_ftp_statemachine' was set just before this commit in case of future need.
2005-02-08Don't free too much in freedirs() if realloc() fails.Gisle Vanem
2005-02-04Eric Vergnaud found a use of an uninitialized variableDaniel Stenberg
2005-01-29conn->ip_addr MUST NOT be used on re-used connectionsDaniel Stenberg
2005-01-28Stephen More pointed out that CURLOPT_FTPPORT and the -P option didn't workDaniel Stenberg
when built ipv6-enabled. I've now made a fix for it. Writing test cases for custom port strings turned too tricky so unfortunately there's none.
2005-01-25Ian Ford asked about support for the FTP command ACCT, and I discovered it isDaniel Stenberg
present in RFC959... so now (lib)curl supports it as well. --ftp-account and CURLOPT_FTP_ACCOUNT set the account string. (The server may ask for an account string after PASS have been sent away. The client responds with "ACCT [account string]".) Added test case 228 and 229 to verify the functionality. Updated the test FTP server to support ACCT somewhat.
2005-01-21FTP third transfer support overhaul. See CHANGES for details.Daniel Stenberg
2005-01-19Stephan Bergmann made libcurl return CURLE_URL_MALFORMAT if an FTP URLDaniel Stenberg
contains %0a or %0d in the user, password or CWD parts. (A future fix would include doing it for %00 as well - see KNOWN_BUGS for details.) Test case 225 and 226 were added to verify this
2004-12-17avoid an extra mallocDaniel Stenberg
2004-12-17fixed minor memory leak when running out of memoryDaniel Stenberg
2004-12-17oops, add missing return keywordDaniel Stenberg
2004-12-16Based on Gisle Vanem's patch: make sure the directory re-use works even whenDaniel Stenberg
a URL-encoded path is used.
2004-12-16reduced the number of sub-blocksDaniel Stenberg
2004-12-15Make some arrays of pointers const, too.Dan Fandrich
2004-12-11modified to use the current error code name, not the obsolete oneDaniel Stenberg
2004-12-07CURLFTPSSL_ALL should make sure that the transfer fails if the data connectionDaniel Stenberg
isn't set to encrypted properly
2004-12-05Richard Atterer fixed libcurl's way of dealing with the EPSVDaniel Stenberg
response. Previously, libcurl would re-resolve the host name with the new port number and attempt to connect to that, while it should use the IP from the control channel. This bug made it hard to EPSV from an FTP server with multiple IP addresses!
2004-11-29As reported in Mandrake's bug tracker bug 12285Daniel Stenberg
(http://qa.mandrakesoft.com/show_bug.cgi?id=12285), when connecting to an IPv6 host with FTP, --disable-epsv (or --disable-eprt) effectively disables the ability to transfer a file. Now, when connected to an FTP server with IPv6, these FTP commands can't be disabled even if asked to with the available libcurl options.
2004-11-27typecast the coversion from long to intDaniel Stenberg
2004-11-26removed no longer used variableDaniel Stenberg
2004-11-25FTP improvements:Daniel Stenberg
If EPSV, EPRT or LPRT is tried and doesn't work, it will not be retried on the same server again even if a following request is made using a persistent connection. If a second request is made to a server, requesting a file from the same directory as the previous request operated on, libcurl will no longer make that long series of CWD commands just to end up on the same spot. Note that this is only for *exactly* the same dir. There is still room for improvements to optimize the CWD-sending when the dirs are only slightly different. Added test 210, 211 and 212 to verify these changes. Had to improve the test script too and added a new primitive to the test file format.