Daniel Stenberg
16ae0c6466
FD_SET can be big macro, use braces
2005-02-09 13:47:35 +00:00
Daniel Stenberg
6a2e21ec8c
FTP code turned into state machine. Not completely yet, but a good start.
...
The tag 'before_ftp_statemachine' was set just before this commit in case
of future need.
2005-02-09 13:06:40 +00:00
Gisle Vanem
82b93e4945
Don't free too much in freedirs() if realloc() fails.
2005-02-08 12:32:28 +00:00
Daniel Stenberg
29350b363b
Eric Vergnaud found a use of an uninitialized variable
2005-02-04 23:43:44 +00:00
Daniel Stenberg
c4ff5eb0ca
conn->ip_addr MUST NOT be used on re-used connections
2005-01-29 13:07:16 +00:00
Daniel Stenberg
064bc3ecbc
Stephen More pointed out that CURLOPT_FTPPORT and the -P option didn't work
...
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-28 08:26:36 +00:00
Daniel Stenberg
177dbc7be0
Ian Ford asked about support for the FTP command ACCT, and I discovered it is
...
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-25 22:13:12 +00:00
Daniel Stenberg
7e42cb61f7
FTP third transfer support overhaul. See CHANGES for details.
2005-01-21 09:32:32 +00:00
Daniel Stenberg
3050ae57c0
Stephan Bergmann made libcurl return CURLE_URL_MALFORMAT if an FTP URL
...
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
2005-01-19 21:56:02 +00:00
Daniel Stenberg
e3d342df96
avoid an extra malloc
2004-12-17 10:09:32 +00:00
Daniel Stenberg
ccf65be0a4
fixed minor memory leak when running out of memory
2004-12-17 09:00:19 +00:00
Daniel Stenberg
7dfef13224
oops, add missing return keyword
2004-12-17 08:58:48 +00:00
Daniel Stenberg
6e1e9caa32
Based on Gisle Vanem's patch: make sure the directory re-use works even when
...
a URL-encoded path is used.
2004-12-16 22:20:33 +00:00
Daniel Stenberg
8d4ac69175
reduced the number of sub-blocks
2004-12-16 18:18:23 +00:00
Dan Fandrich
a28b32aa45
Make some arrays of pointers const, too.
2004-12-15 02:32:04 +00:00
Daniel Stenberg
fec571f5b0
modified to use the current error code name, not the obsolete one
2004-12-11 22:18:11 +00:00
Daniel Stenberg
c78ee11c41
CURLFTPSSL_ALL should make sure that the transfer fails if the data connection
...
isn't set to encrypted properly
2004-12-07 10:00:20 +00:00
Daniel Stenberg
35944744f8
Richard Atterer fixed libcurl's way of dealing with the EPSV
...
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-12-05 23:33:33 +00:00
Daniel Stenberg
0966ddafaa
As reported in Mandrake's bug tracker bug 12285
...
(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-29 21:25:07 +00:00
Daniel Stenberg
a4752673bb
typecast the coversion from long to int
2004-11-27 09:27:48 +00:00
Daniel Stenberg
2459e1e268
removed no longer used variable
2004-11-26 08:52:18 +00:00
Daniel Stenberg
bf51f05a50
FTP improvements:
...
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-25 22:21:49 +00:00
Daniel Stenberg
1a05a90f1c
David Phillips' FD_SETSIZE fix
2004-11-19 08:52:33 +00:00
Daniel Stenberg
24d47a6e07
Paul Nolan fix to make libcurl build nicely on Windows CE
2004-11-02 10:12:22 +00:00
Daniel Stenberg
2730842559
Dan Fandrich's better ifdef for include fix
2004-10-21 08:22:07 +00:00
Daniel Stenberg
21d5aead47
Alexander Krasnostavsky made the CURLOPT_FTP_CREATE_MISSING_DIRS option work
...
fine even for third party transfers.
2004-10-16 14:06:54 +00:00
Daniel Stenberg
39af394a1c
removed tabs and trailing whitespace from source
2004-10-06 07:50:18 +00:00
Daniel Stenberg
d239fc5d04
Aleksandar Milivojevic reported a problem in the Redhat bugzilla (see
...
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-10-01 11:22:11 +00:00
Daniel Stenberg
6af6a2bbe8
Fixed an error message: we use CWD, we don't cd into dirs with FTP
2004-09-29 07:21:23 +00:00
Daniel Stenberg
6a06667cc0
Added CURLOPT_FTPSSLAUTH
2004-09-16 21:45:16 +00:00
Daniel Stenberg
e99bf99829
revert the change for the new date parser, as the new one can deal with
...
the old format now
2004-09-13 20:43:12 +00:00
Daniel Stenberg
27d509cfe9
Minor adjustment needed for the new date parser to succeed. ifdef'ed out
...
for now.
2004-09-11 19:19:59 +00:00
Daniel Stenberg
df59ca1a45
include the server response in the error message when an FTP server gives
...
back a 530 after the password is provided, as it isn't necessary because of a
bad user name or password.
2004-08-11 08:39:48 +00:00
Daniel Stenberg
9dbd6659dc
more typecasts to please picky compilers
2004-08-10 06:41:13 +00:00
Daniel Stenberg
4c17ba4fc0
make sure the 3rd argument passed to bind() is a socklen_t
2004-07-04 21:48:54 +00:00
Daniel Stenberg
31c332af93
typecast the conversion from long to int to prevent picky compiler warnings
2004-07-04 21:35:12 +00:00
Daniel Stenberg
f05d47ddd6
variable type cleanup to fix picky compiler warnings
2004-07-01 07:43:20 +00:00
Daniel Stenberg
8efa6f407d
I think 1024 bytes is enough for even most ipv6 addresses :-)
2004-06-30 12:04:37 +00:00
Daniel Stenberg
feb2dd2835
Replaced all uses of sprintf() with the safer snprintf(). It is just a
...
precaution to prevent mistakes to lead to buffer overflows.
2004-06-24 11:54:11 +00:00
Daniel Stenberg
c39858aac0
Source cleanups. The major one being that we now _always_ use a Curl_addrinfo
...
linked list for name resolved data, even on hosts/systems with only IPv4
stacks as this simplifies a lot of code.
2004-06-24 07:43:48 +00:00
Daniel Stenberg
90037b85d1
Alexander Krasnostavsky's fix to make libcurl build fine with configure
...
--disable-http, which thus builds a libcurl without HTTP support.
2004-06-09 08:23:55 +00:00
Daniel Stenberg
ea81dd9e2e
Alexander Krasnostavsky's FTP third party transfer (proxy) support
2004-06-03 11:41:05 +00:00
Daniel Stenberg
a8827b1ed6
Gisle made ftp_mkd static
2004-06-02 11:34:53 +00:00
Daniel Stenberg
2c43d64302
Added a new 'bit' in the connect struct named 'tunnel_proxy' that is set
...
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-26 08:54:36 +00:00
Daniel Stenberg
d60c22572b
Curl_done() and the protocol-specific conn->curl_done() functions now all
...
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-12 12:06:39 +00:00
Daniel Stenberg
bbafb2eb27
curl_global_init_mem() allows the memory functions to be replaced.
...
memory.h is included everywhere for this.
2004-05-11 11:30:23 +00:00
Daniel Stenberg
4b9f8e766d
Made host name and proxy name get stored in a 'struct hostname' and set
...
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-27 13:56:23 +00:00
Daniel Stenberg
245e3122df
Made defines instead of plain numbers for the Curl_resolv() return code to
...
make the code easier to read
2004-04-26 14:18:00 +00:00
Daniel Stenberg
1d3f76df71
If only a partial file was transfered, we consider that a fatal problem so
...
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-22 13:09:00 +00:00
Daniel Stenberg
3233322622
increase the headerbytecount for incoming "headers"
2004-04-21 08:47:57 +00:00
Daniel Stenberg
b7a7600465
Cleaned up hostname/name/gname and path/ppath confusion. Removed the fixed-
...
length limit of the hostname part of the URL.
2004-04-20 07:53:24 +00:00
Daniel Stenberg
592522ceaf
ftp->dirs[] is no longer terminated with a zero entry but ftp->dirdepth
...
should be used
2004-04-15 10:43:40 +00:00
Daniel Stenberg
4f84e6d9e2
removed the fixed dir depth limit in the FTP code
2004-04-15 07:52:39 +00:00
Daniel Stenberg
cf1f46e1ca
renamed the strtoofft() macro to curlx_strtoofft() to adjust to the curlx_*
...
concept, and added lib/README.curlx to explain details about it
2004-04-07 07:30:40 +00:00
Daniel Stenberg
8ed44e8dfb
New authentication code added, particularly noticable when doing POST or PUT
...
with Digest or NTLM. libcurl will now use HEAD to negotiate the authentication
and when done perform the requested POST.
2004-04-06 15:14:10 +00:00
Daniel Stenberg
5804c995e1
Use the new HAVE_NI_WITHSCOPEID define instead of merely checking for the
...
existance of NI_WITHSCOPEID since some platforms have that define but still
can't function with it set.
2004-03-31 21:33:52 +00:00
Daniel Stenberg
ce446dbdc2
Moved the NI_WITHSCOPEID magic #ifdef to the top of the file and made sure
...
we use the NIFLAGS properly on both places in the code that use getnameinfo().
2004-03-31 10:59:48 +00:00
Daniel Stenberg
762dcf0780
include the strerror.h file without curl_ prefix
2004-03-25 13:42:23 +00:00
Daniel Stenberg
b60d6404d8
Gisle Vanem's fix to replace the bad use of strerror(). This introduces
...
Curl_strerror() that attempts to be thread-safe _and_ works on Windows too!
2004-03-24 22:45:37 +00:00
Daniel Stenberg
5b55f9ecb3
Günter Knauf's NetWare changes.
2004-03-17 12:46:42 +00:00
Daniel Stenberg
e545e33d5f
Gisle Vanem's fixes to use CURL_SOCKET_BAD more instead of -1 for sockets.
2004-03-11 13:13:35 +00:00
Daniel Stenberg
0d1fc73f21
Use more curl_off_t variables when doing the progress meter calculations and
...
argument passing and try to convert to double only when providing data to the
external world.
2004-03-10 16:20:33 +00:00
Daniel Stenberg
85838a8966
turn niflags into a define named NIFLAGS
2004-03-10 15:24:56 +00:00
Daniel Stenberg
ce5805a955
Use curl_socket_t instead of int for holding sockets. The typedefs and
...
defines are in setup.h.
2004-03-09 22:52:50 +00:00
Daniel Stenberg
ef0a2c714b
clearly tell that these are ftp response timeouts
2004-03-05 09:37:48 +00:00
Daniel Stenberg
5e7f1a0eaf
more variable type cleanups
2004-03-03 13:24:14 +00:00
Daniel Stenberg
eb9383d49b
our timeout values are longs while 'tv_sec' is int
2004-03-03 13:17:44 +00:00
Daniel Stenberg
353f764119
Yet another curl_off_t printf format attempt, we now exclude the %-letter from
...
FORMAT_OFF_T to allow additional options to get specified, like with '"%5"
FORMAT_OFF_T'.
2004-03-02 09:31:18 +00:00
Daniel Stenberg
7ab3b5b3bb
use FORMAT_OFF_T instead of CURL_FORMAT_OFF_T to reduce the complexity of
...
having to redef that name
2004-03-02 07:25:39 +00:00
Daniel Stenberg
cb72a80fe0
Use CURL_FORMAT_OFF_T for printf()inf curl_off_t variables.
2004-03-01 16:28:00 +00:00
Daniel Stenberg
4dfc0a78e7
Only attempt to send the FTP QUIT command if we actually have a FTP struct.
2004-03-01 07:59:25 +00:00
Daniel Stenberg
77268e0649
Joe Halpin made the FTP code send 'QUIT' on the control connection before
...
it disconnects the TCP connection, like a good ftp client should!
2004-02-27 07:08:37 +00:00
Daniel Stenberg
d571064b65
Clear up int/long/size_t/ssize_t usage a bit
2004-02-26 13:40:43 +00:00
Daniel Stenberg
1b26fe39f9
Tor Arntsen's fix for the bad (64bit wise) typecast when using gmtime()
2004-02-13 06:59:49 +00:00
Daniel Stenberg
011929cf4d
Tor Arntsen's patch for working around a notorious bug in the AIX5
...
getaddrinfo() implementation.
2004-02-09 07:52:36 +00:00
Daniel Stenberg
6587ff440a
use the timeout options when waiting for the server to connect when using
...
PORT
Provide better error messages to allow debugging if one if the ipv6-related
name functions fail in the ftp_use_port() function. This might help us
diagnose the problems on AIX. Also make sure getaddrinfo() uses NULL and
not "0" for the service argument.
2004-02-05 09:26:01 +00:00
Daniel Stenberg
556b68f44e
the unused quit-function didn't pass a correct variable type to the
...
response reading function
2004-02-03 09:52:32 +00:00
Daniel Stenberg
4d17d6876e
Dan Fandrich's cleanup patch to make pedantic compiler options cause less
...
warnings. Minor edits by me.
2004-01-29 13:56:45 +00:00
Daniel Stenberg
b791e158f0
use curl_off_t instead of off_t!
2004-01-22 12:45:50 +00:00
Daniel Stenberg
5e2fcc1f74
use the proper timecond defines, not the obsolete ones I've removed! ;-)
...
The initial QUIT-sending code is added, but not yet used due to the issues
previously mentioned on the mailing list.
2004-01-21 08:50:08 +00:00
Daniel Stenberg
053f6c85ef
updated year in the copyright string
2004-01-07 09:19:33 +00:00
Daniel Stenberg
b60e0fa97e
David J Meyer's large file support.
2004-01-05 22:29:29 +00:00
Daniel Stenberg
ee337309cf
better human error message when a FTP response can't be read
2003-12-08 13:06:08 +00:00
Daniel Stenberg
8ccc1148d9
my contentlength adjustment broke the ftp download range stuff, this makes
...
it work again
2003-12-03 08:26:31 +00:00
Daniel Stenberg
1b99d33b59
fix compiler warnings
2003-12-02 13:40:12 +00:00
Daniel Stenberg
800052dc50
use the HAVE_KRB4 define instead of just KRB4
2003-12-02 13:27:29 +00:00
Daniel Stenberg
2c22feced2
fixes from Gisle Vanem to try 'AUTH SSL' before 'AUTH TLS', edited by me
2003-12-02 13:21:53 +00:00
Daniel Stenberg
cd653f1be9
FTPS now works with active ftp and uploads too.
2003-12-01 10:14:39 +00:00
Daniel Stenberg
d5d55a856e
adjusted code to the new socket fields in the sessionhandle struct
2003-11-24 09:04:09 +00:00
Daniel Stenberg
1e98727c55
FTPS support added as RFC2228 and the murray-ftp-auth-ssl draft describe it
2003-11-24 07:15:37 +00:00
Daniel Stenberg
edce444551
If a partial file has been read or written, force a closure the existing
...
connection to avoid re-use of it, since we cannot know in what state it is.
2003-11-19 14:36:42 +00:00
Daniel Stenberg
17a834bc63
After Sébastien Willemijns' bug report, we now check the separators properly
...
in the 229-reply servers respond on a EPSV command and bail out better if
the reply string is not valid RFC2428-compliant.
2003-11-10 08:12:53 +00:00
Daniel Stenberg
a7aacac5e8
assume that MDTM returns the timestamp as UTC
2003-10-31 21:36:43 +00:00
Daniel Stenberg
46accd62d1
when getting headers only, stop pretending the reported time is GMT, as it
...
isn't. In fact, it might be, but we have no idea.
2003-10-30 09:06:24 +00:00
Daniel Stenberg
656d4b4c20
if malloc fails, we must bail out nicely
2003-10-24 12:58:59 +00:00
Daniel Stenberg
65dab79ca5
gcc -Wshadow complaints fixed
2003-10-18 20:14:33 +00:00
Daniel Stenberg
ce5db9a86e
Dominick Meglio implemented CURLOPT_MAXFILESIZE and --max-filesize.
2003-10-17 13:11:00 +00:00
Daniel Stenberg
9e3f54431d
made the code deal with empty name and password
2003-10-17 09:26:28 +00:00
Daniel Stenberg
749f5387c1
Gisle Vanem's IPv6-on-Windows patch applied!
2003-10-14 12:00:45 +00:00
Daniel Stenberg
45ef092cc2
Jon Turner mentioned this bug fix to correct how libcurl deals with paths
...
after a failed transfer.
2003-10-04 15:25:02 +00:00