aboutsummaryrefslogtreecommitdiff
path: root/lib/ftp.c
AgeCommit message (Collapse)Author
2006-05-04Roland Blom filed bug report #1481217Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=1481217), with follow-ups by Michele Bini and David Byron. libcurl previously wrongly used GetLastError() on windows to get error details after socket-related function calls, when it really should use WSAGetLastError() instead. When changing to this, the former function Curl_ourerrno() is now instead called Curl_sockerrno() as it is necessary to only use it to get errno from socket-related functions as otherwise it won't work as intended on Windows.
2006-04-26David McCreedy brought line end conversions when doing FTP ASCIIDaniel Stenberg
transfers. They are done on non-windows systems and translate CRLF to LF.
2006-04-18Robson Braga Araujo provided a patch that makes libcurl less eager to closeDaniel Stenberg
the control connection when using FTP, for example when you remove an easy handle from a multi stack.
2006-04-10First curl_multi_socket() commit. Should primarily be considered as an internalDaniel Stenberg
code rearrange to fit the future better.
2006-04-07First commit of David McCreedy's EBCDIC and TPF changes.Daniel Stenberg
2006-03-21David McCreedy added CURLINFO_FTP_ENTRY_PATH to export the FTP entry pathDaniel Stenberg
2006-03-20David McCreedy fixed libcurl to no longer ignore AUTH failures and now itDaniel Stenberg
reacts properly according to the CURLOPT_FTP_SSL setting.
2006-03-13David McCreedy found a missing return code assignmentDaniel Stenberg
2006-03-08Peter Heuchert's correction for the clear control connection caseDaniel Stenberg
2006-03-07Peter Heuchert made sure the CURLFTPSSL_CONTROL setting for CURLOPT_FTP_SSLDaniel Stenberg
is used properly.
2006-03-03Prevent uploading to a URL that has no file name part.Daniel Stenberg
2006-02-11Karl M added the CURLOPT_CONNECT_ONLY and CURLINFO_LASTSOCKET options thatDaniel Stenberg
an app can use to let libcurl only connect to a remote host and then extract the socket from libcurl. libcurl will then not attempt to do any transfer at all after the connect is done.
2006-01-24Michal Marek provided a patch for FTP that makes libcurl continue to try PASVDaniel Stenberg
even after EPSV returned a positive response code, if libcurl failed to connect to the port number the EPSV response said. Obviously some people are going through protocol-sensitive firewalls (or similar) that don't understand EPSV and then they don't allow the second connection unless PASV was used. This also called for a minor fix of test case 238.
2006-01-19Duane Cathey was one of our friends who reported that curl -P [IP]Daniel Stenberg
(CURLOPT_FTPPORT) didn't work for ipv6-enabed curls if the IP wasn't a "native" IP while it works fine for ipv6-disabled builds! In the process of fixing this, I removed the support for LPRT since I can't think of many reasons to keep doing it and asking on the mailing list didn't reveal anyone else that could either. The code that sends EPRT and PORT is now also a lot simpler than before (IMHO).
2006-01-19Jon Turner pointed out that doing -P [hostname] with curl (built ipv4-only)Daniel Stenberg
didn't work.
2006-01-12Fixed FTP_SKIP_PASV_IP and FTP_USE_EPSV to "do right" when used on FTP thruDaniel Stenberg
HTTP proxy.
2006-01-12Michael Jahn fixed ftp over CONNECTDaniel Stenberg
2006-01-10When using a bad path over FTP, as in when libcurl couldn't CWD into allDaniel Stenberg
given subdirs, libcurl would still "remember" the full path as if it is the current directory libcurl is in so that the next curl_easy_perform() would get really confused if it tried the same path again - as it would not issue any CWD commands at all, assuming it is already in the "proper" dir. Starting now, a failed CWD command sets a flag that prevents the path to be "remembered" after returning.
2005-12-11Undo last changesYang Tse
2005-12-11Avoid generation of additional warningsYang Tse
2005-12-11Fix compiler warning and compatibility issue with the type of the parameter ↵Yang Tse
used in getnameinfo() to receive the length of the sockaddr struct.
2005-12-05Another Yang Tse warning cleanup raid!Daniel Stenberg
2005-11-28new experimental "ftp method" codeDaniel Stenberg
2005-11-14Jan Kunder's debian bug reportDaniel Stenberg
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=338680 identified a weird error message for when you try to upload a file and the requested directory doesn't exist on the target server.
2005-11-12Reversed the logic for sockaddr_storage and made our own Curl_sockaddr_storageDaniel Stenberg
struct instead to use.
2005-11-11Moved the sockaddr_storage definition to lib/sockaddr.h and only include thatDaniel Stenberg
in files that actually need the struct.
2005-11-10David Lang: if there is no sockaddr_storage, make up our own and use thatDaniel Stenberg
2005-10-05CURL_TIMECOND_IFMODSINCE actually requires that the remote document has beenDaniel Stenberg
modded since the given time, so we should compare <= and not just <.
2005-09-27TJ Saunders of the proftpd project identified and pointed out problems withDaniel Stenberg
the modified FTPS negotiation change of August 19 2005. Thus, we revert the change back to pre-7.14.1 status.
2005-09-16keep 'socktype' in the connectdata struct and make sure we use that for allDaniel Stenberg
protocol sockets even if the resolved address may say otherwise
2005-09-14oops, return error if an error did occur!Daniel Stenberg
2005-09-04Added FTP_SKIP_PASV_IP and --ftp-skip-pasv-ipDaniel Stenberg
2005-08-19Norbert Novotny had problems with FTPS and he helped me work out a patchDaniel Stenberg
that made curl run fine in his end. The key was to make sure we do the SSL/TLS negotiation immediately after the TCP connect is done and not after a few other commands have been sent like we did previously. I don't consider this change necessary to obey the standards, I think this server is pickier than what the specs allow it to be, but I can't see how this modified libcurl code can add any problems to those who are interpreting the standards more liberally.
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.