aboutsummaryrefslogtreecommitdiff
path: root/lib/ftp.c
AgeCommit message (Collapse)Author
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.
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