aboutsummaryrefslogtreecommitdiff
path: root/lib/ftp.c
AgeCommit message (Collapse)Author
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.
2004-11-19David Phillips' FD_SETSIZE fixDaniel Stenberg
2004-11-02Paul Nolan fix to make libcurl build nicely on Windows CEDaniel Stenberg
2004-10-21Dan Fandrich's better ifdef for include fixDaniel Stenberg
2004-10-16Alexander Krasnostavsky made the CURLOPT_FTP_CREATE_MISSING_DIRS option workDaniel Stenberg
fine even for third party transfers.
2004-10-06removed tabs and trailing whitespace from sourceDaniel Stenberg
2004-10-01Aleksandar Milivojevic reported a problem in the Redhat bugzilla (seeDaniel Stenberg
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=134133) and not to anyone involved in the curl project! This happens when you try to curl a file from a proftpd site using SSL. It seems proftpd sends a somewhat unorthodox PASS response code (232 instead of 230). I relaxed the response code check to deal with this and similar cases.
2004-09-29Fixed an error message: we use CWD, we don't cd into dirs with FTPDaniel Stenberg
2004-09-16Added CURLOPT_FTPSSLAUTHDaniel Stenberg
2004-09-13revert the change for the new date parser, as the new one can deal withDaniel Stenberg
the old format now
2004-09-11Minor adjustment needed for the new date parser to succeed. ifdef'ed outDaniel Stenberg
for now.
2004-08-11include the server response in the error message when an FTP server givesDaniel Stenberg
back a 530 after the password is provided, as it isn't necessary because of a bad user name or password.
2004-08-10more typecasts to please picky compilersDaniel Stenberg
2004-07-04make sure the 3rd argument passed to bind() is a socklen_tDaniel Stenberg
2004-07-04typecast the conversion from long to int to prevent picky compiler warningsDaniel Stenberg
2004-07-01variable type cleanup to fix picky compiler warningsDaniel Stenberg
2004-06-30I think 1024 bytes is enough for even most ipv6 addresses :-)Daniel Stenberg
2004-06-24Replaced all uses of sprintf() with the safer snprintf(). It is just aDaniel Stenberg
precaution to prevent mistakes to lead to buffer overflows.
2004-06-24Source cleanups. The major one being that we now _always_ use a Curl_addrinfoDaniel Stenberg
linked list for name resolved data, even on hosts/systems with only IPv4 stacks as this simplifies a lot of code.
2004-06-09Alexander Krasnostavsky's fix to make libcurl build fine with configureDaniel Stenberg
--disable-http, which thus builds a libcurl without HTTP support.
2004-06-03Alexander Krasnostavsky's FTP third party transfer (proxy) supportDaniel Stenberg
2004-06-02Gisle made ftp_mkd staticDaniel Stenberg
2004-05-26Added a new 'bit' in the connect struct named 'tunnel_proxy' that is setDaniel Stenberg
if a connection is tunneled through a proxy. A tunnel is done with CONNECT, either when using HTTPS or FTPS, or if explicitly enabled by the app.
2004-05-12Curl_done() and the protocol-specific conn->curl_done() functions now allDaniel Stenberg
take a CURLcode as a second argument, that is non-zero when Curl_done() is called after an error was returned from Curl_do() (or similar).
2004-05-11curl_global_init_mem() allows the memory functions to be replaced.Daniel Stenberg
memory.h is included everywhere for this.
2004-04-27Made host name and proxy name get stored in a 'struct hostname' and setDaniel Stenberg
all things up to work with encoded host names internally, as well as keeping 'display names' to show in debug messages. IDN resolves work for me now using ipv6, ipv4 and ares resolving. Even cookies on IDN sites seem to do right.
2004-04-26Made defines instead of plain numbers for the Curl_resolv() return code toDaniel Stenberg
make the code easier to read
2004-04-22If only a partial file was transfered, we consider that a fatal problem soDaniel Stenberg
we won't try to QUIT the control connection and risk "hanging" waiting for a response. Test case 161 verifies this. The quit-sending function was also made static.
2004-04-21increase the headerbytecount for incoming "headers"Daniel Stenberg
2004-04-20Cleaned up hostname/name/gname and path/ppath confusion. Removed the fixed-Daniel Stenberg
length limit of the hostname part of the URL.
2004-04-15ftp->dirs[] is no longer terminated with a zero entry but ftp->dirdepthDaniel Stenberg
should be used
2004-04-15removed the fixed dir depth limit in the FTP codeDaniel Stenberg
2004-04-07renamed the strtoofft() macro to curlx_strtoofft() to adjust to the curlx_*Daniel Stenberg
concept, and added lib/README.curlx to explain details about it