aboutsummaryrefslogtreecommitdiff
path: root/lib/ftp.c
AgeCommit message (Collapse)Author
2011-02-07Curl_gmtime: added a portable gmtimeDaniel Stenberg
Instead of polluting many places with #ifdefs, we create a single place for this function, and also check return code properly so that a NULL pointer returned won't cause problems.
2011-01-04Curl_timeleft: s/conn/data in first argumentDaniel Stenberg
As the function doesn't really use the connectdata struct but only the SessionHanadle struct I modified what argument it wants.
2010-12-06url: provide dead_connection flag in Curl_handler::disconnectKamil Dudka
It helps to prevent a hangup with some FTP servers in case idle session timeout has exceeded. But it may be useful also for other protocols that send any quit message on disconnect. Currently used by FTP, POP3, IMAP and SMTP.
2010-12-04fix compiler warning: conversion may lose significant bitsYang Tse
2010-12-02fix compiler warning: statement is not reachableYang Tse
2010-12-01fix compiler warning: conversion may lose significant bitsYang Tse
2010-11-28atoi: remove atoi usageYang Tse
2010-11-26ftp: fix 'bool' data type implementation dependant usageYang Tse
2010-11-13urldata: Capitalize enum protect_level values.Julien Chaffraix
This makes it easier to spot the enum values from the variables. Removed some unneeded DEBUGASSERT added in the previous commit.
2010-11-13security: tighten enum protection_level usage.Julien Chaffraix
While changing Curl_sec_read_msg to accept an enum protection_level instead of an int, I went ahead and fixed the usage of the associated fields. Some code was assuming that prot_clear == 0. Fixed those to use the proper value. Added assertions prior to any code that would set the protection level.
2010-11-09ftp: treat server's response 421 as CURLE_OPERATION_TIMEDOUTKamil Dudka
Bug: https://bugzilla.redhat.com/650255 Reported by: Simon H.
2010-11-08ftp: close connection as soon as ABOR has been sentKamil Dudka
... and do not send ABOR unless really necessary. Bug: https://bugzilla.redhat.com/649347 Reported by: Simon H.
2010-10-29ftp: prevent server from hanging on closed data connectionKamil Dudka
Some FTP servers (e.g. Pure-ftpd) end up hanging if we close the data connection before transferring all the requested data. If we send ABOR in that case, it prevents the server from hanging. Bug: https://bugzilla.redhat.com/643656 Reported by: Pasi Karkkainen, Patrick Monnerat
2010-10-20Lightened the stack in wc_statemach to permit deeper recursionDan Fandrich
Also, added a few hints to help compilers to perform tail call recursion optimization.
2010-10-02krb5-gssapi: Delete the GSS-API context.Julien Chaffraix
This fixes a memory leak related to the GSS-API code. Added a krb5_init and krb5_end functions. Also removed a work-around the lack of proper initialization of the GSS-API context.
2010-09-28security.c: Remove Curl_sec_fflush_fd.Julien Chaffraix
The current implementation would make us send wrong data on a closed socket. We don't buffer our data so the method can be safely removed.
2010-09-28security.c: Fix Curl_sec_login after rewrite.Julien Chaffraix
Curl_sec_login was returning the opposite result that the code in ftp.c was expecting. Simplified the return code (using a CURLcode) so to see more clearly what is going on.
2010-09-18FTP: fix bad check of Curl_timeleft() return codeDaniel Stenberg
When it returns 0 it means no timeout. Only a negative value means that we're out of time.
2010-08-10parse_remote_port: fix ;type= URL suffix over HTTP proxyDaniel Stenberg
Test 563 is enabled now and verifies that the combo FTP type=A URL, CURLOPT_PORT set and proxy work fine. As a bonus I managed to remove the somewhat odd FTP check in parse_remote_port() and instead converted it to a better and more generic 'slash_removed' struct field. Checking the ->protocol field isn't right since when an FTP:// URL is sent over a HTTP proxy, the protocol is HTTP but the URL was handled by the FTP code and thus slash_removed is set TRUE for this case.
2010-07-18ftp: response timeout bug in "quote" sendingJan Van Boghout
The FTP implementation was missing a timestamp reset point, making the waiting for responses after sending a post-transfer "QUOTE" command not working as supposedly. This bug was introduced in 7.20.0
2010-06-24ftp-wildcard: avoid tight loop when used without any patternPavel Raiskup
It was broken for URLs like "ftp://example.com/".
2010-06-17Fixed an OOM memory leak in the FTP wildcard codeDan Fandrich
2010-06-09add Curl_ prefix to conform with cURL naming standardsYang Tse
2010-05-31fix compiler warning: enumerated type mixed with another typeYang Tse
2010-05-31fix compiler warning: external declaration in primary source fileYang Tse
2010-05-28lib: eliminate 'statement not reached' warningsKamil Dudka
2010-05-12FTP: WILDCARDMATCH/CHUNKING/FNMATCH addedPavel Raiskup
2010-04-16FTP PORT: Value stored to 'rc' is never readDaniel Stenberg
2010-04-16Curl_setup_transfer: no longer returns anythingDaniel Stenberg
This function could only return CURLE_OK and by changing it to a void instead, we can simplify code all over.
2010-04-16PASV response: Value stored to 'rc' is never readDaniel Stenberg
2010-04-16ftp_range: remove unnecessary check for NULL pointerDaniel Stenberg
2010-04-16FTP PASV: Value stored to 'rc' is never readDaniel Stenberg
2010-04-16ftp_range: Value stored to 'totalsize' is never readDaniel Stenberg
Simplified the code by removing a local variable completely.
2010-04-09FTP quote commands prefixed with '*' now can fail without abortingDaniel Stenberg
Prefixing the FTP quote commands with an asterisk really only worked for the postquote actions. This is now fixed and test case 227 has been extended to verify.
2010-03-24remove the CVSish $Id$ linesDaniel Stenberg
2010-03-18another shot at the ftp_init() icc 9.1 optimizer issueYang Tse
2010-03-02- Made the pingpong timeout code properly deal with the response timeout ANDDaniel Stenberg
the global timeout if set. Also, as was reported in the bug report #2956437 by Ryan Chan, the time stamp to use as basis for the per command timeout was not set properly in the DONE phase for FTP (and not for SMTP) so I fixed that just now. This was a regression compared to 7.19.7 due to the conversion of FTP code over to the generic pingpong concepts. http://curl.haxx.se/bug/view.cgi?id=2956437
2010-02-24fix compiler warningYang Tse
2010-02-05- attempt to workaround icc 9.1 optimizer issueYang Tse
2010-02-04fix printf-style format stringsYang Tse
2010-02-02Fix compiler warning: conditional expression is constantYang Tse
2010-02-02Julien Chaffraix pointed out a comment mistake, and I re-indented the codeDaniel Stenberg
slightly while editing
2010-01-29fix errno usage for WIN32 buildsYang Tse
2010-01-25make Curl_handler_*_proxy definition staticYang Tse
2010-01-22wrap long lines and do some indent policingDaniel Stenberg
2010-01-19- David McCreedy brought a fix and a new test case (129) to make libcurl workDaniel Stenberg
again when downloading files over FTP using ASCII and it turns out that the final size of the file is not the same as the initial size the server reported. This is very common since servers don't take the newline conversions into account.
2010-01-01update copyright year since we are in 2010 nowDaniel Stenberg
2010-01-01- Ingmar Runge enhanced libcurl's FTP engine to support the PRET command. ThisDaniel Stenberg
command is a special "hack" used by the drftpd server, but even though it is a custom extension I've deemed it fine to add to libcurl since this server seems to survive and people keep using it and want libcurl to support it. The new libcurl option is named CURLOPT_FTP_USE_PRET, and it is also usable from the curl tool with --ftp-pret. Using this option on a server that doesn't support this command will make libcurl fail.
2009-12-30VMS specific preprocessor symbol checking adjustmentsYang Tse
2009-12-14Fix compiler warningsYang Tse