Daniel Stenberg
44d84ac164
Avoid typecasting a signed char to an int when using is*() functions, as that
...
could very well cause a negate number get passed in and thus cause reading
outside of the array usually used for this purpose.
We avoid this by using the uppercase macro versions introduced just now that
does some extra crazy typecasts to avoid byte codes > 127 to cause negative
int values.
2006-10-17 21:32:56 +00:00
Yang Tse
ec956b0334
Explicit typecast for Curl_debug() size argument
2006-10-17 10:04:13 +00:00
Yang Tse
e150150d9f
Remove redundant __CYGWIN__ symbol check
2006-10-11 16:01:16 +00:00
Daniel Stenberg
e2b48366d3
removed more dead code that is unused since the removal of the third party
...
transfer support
2006-10-02 13:00:54 +00:00
Daniel Stenberg
5e0d9aea32
Support for FTP third party transfers is now dropped
2006-09-30 20:31:11 +00:00
Daniel Stenberg
ab798fe5ba
(FTP) a failed upload does not invalidate the control connection
2006-09-21 20:52:58 +00:00
Daniel Stenberg
c001ed53fa
Armel Asselin - When the easy handle is removed from the multi while libcurl
...
is still trying to resolve the host name, it seems that the ftp struct is not
yet initialized, but the removal action calls Curl_done() which calls
Curl_ftp_done. So we simply return success from there if no ftp pointer is
set.
2006-09-16 20:57:59 +00:00
Yang Tse
733a184ce0
Compiler warning fix
2006-09-12 23:51:01 +00:00
Yang Tse
c30e908034
Compiler warning fix
2006-09-10 23:37:42 +00:00
Yang Tse
bb87b65f08
Compiler warning fix
2006-09-09 13:24:42 +00:00
Daniel Stenberg
ed72d4e104
tab => space
2006-09-09 11:45:05 +00:00
Daniel Stenberg
8ec1bfe897
Peter Sylvester cleaned up and fixed the getsockname() uses in ftp.c. Some
...
of them can be completetly removed though...
2006-09-08 22:17:39 +00:00
Yang Tse
dc7c915553
Compilation fix
2006-09-08 05:18:07 +00:00
Daniel Stenberg
b7eeb6e67f
Major overhaul introducing http pipelining support and shared connection
...
cache within the multi handle.
2006-09-07 21:49:20 +00:00
Gisle Vanem
4f4277d9c7
Simplified #ifdef on WIN32; the statement
...
" !defined(__GNUC__) || defined(__MINGW32__)" implies
CygWin.
2006-09-03 13:52:07 +00:00
Gisle Vanem
4031eb1d91
Avoid Metaware's High-C warning "'=' encountered where '==' may have been intended."
2006-08-29 21:11:55 +00:00
Daniel Stenberg
d792937686
Peter Sylvester pointed out a flaw in the AllowServerConnect() in the FTP
...
code when doing pure ipv6 EPRT connections.
2006-08-22 21:21:01 +00:00
Daniel Stenberg
cfdcae4bc7
Based on a patch by Armel Asselin, the FTP code no longer re-issues the TYPE
...
command on subsequent requests on a re-used connection unless it has to.
2006-08-19 21:18:36 +00:00
Daniel Stenberg
74a6921bc4
Armel Asselin fixed a crash in the FTP code when using SINGLECWD mode and
...
files in the root directory.
2006-08-18 23:17:33 +00:00
Daniel Stenberg
1eedad27a2
Armel Asselin made the CURLOPT_PREQUOTE option work fine even when
...
CURLOPT_NOBODY is set true. PREQUOTE is then run roughly at the same place
in the command sequence as it would have run if there would've been a
transfer.
2006-08-08 22:56:46 +00:00
Daniel Stenberg
2527b53019
Dan Nelson added the CURLOPT_FTP_ALTERNATIVE_TO_USER libcurl option and curl
...
tool option named --ftp-alternative-to-user. It provides a mean to send a
particular command if the normal USER/PASS approach fails.
2006-07-25 22:45:21 +00:00
Gisle Vanem
73ebb0edde
Avoid warning 'port' might be used uninitialized in this function.
2006-07-20 15:54:01 +00:00
Daniel Stenberg
e85e30546c
Roland Blom filed bug report #1481217
...
(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-05-04 22:39:47 +00:00
Daniel Stenberg
95152aec68
David McCreedy brought line end conversions when doing FTP ASCII
...
transfers. They are done on non-windows systems and translate CRLF to LF.
2006-04-26 07:40:37 +00:00
Daniel Stenberg
e532b196cc
Robson Braga Araujo provided a patch that makes libcurl less eager to close
...
the control connection when using FTP, for example when you remove an easy
handle from a multi stack.
2006-04-18 23:14:30 +00:00
Daniel Stenberg
686d90745b
First curl_multi_socket() commit. Should primarily be considered as an internal
...
code rearrange to fit the future better.
2006-04-10 15:00:53 +00:00
Daniel Stenberg
5a4b43848a
First commit of David McCreedy's EBCDIC and TPF changes.
2006-04-07 21:50:47 +00:00
Daniel Stenberg
598ffeea89
David McCreedy added CURLINFO_FTP_ENTRY_PATH to export the FTP entry path
2006-03-21 22:30:03 +00:00
Daniel Stenberg
6421d69bff
David McCreedy fixed libcurl to no longer ignore AUTH failures and now it
...
reacts properly according to the CURLOPT_FTP_SSL setting.
2006-03-20 22:51:08 +00:00
Daniel Stenberg
7206181385
David McCreedy found a missing return code assignment
2006-03-13 23:33:46 +00:00
Daniel Stenberg
f70f11fc70
Peter Heuchert's correction for the clear control connection case
2006-03-08 15:46:21 +00:00
Daniel Stenberg
b8c8e7349f
Peter Heuchert made sure the CURLFTPSSL_CONTROL setting for CURLOPT_FTP_SSL
...
is used properly.
2006-03-07 22:28:08 +00:00
Daniel Stenberg
7d68101f83
Prevent uploading to a URL that has no file name part.
2006-03-03 13:09:30 +00:00
Daniel Stenberg
87bcb6f377
Karl M added the CURLOPT_CONNECT_ONLY and CURLINFO_LASTSOCKET options that
...
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-02-11 22:35:16 +00:00
Daniel Stenberg
67bf4f28ff
Michal Marek provided a patch for FTP that makes libcurl continue to try PASV
...
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-24 14:40:43 +00:00
Daniel Stenberg
fcfd6d9504
Duane Cathey was one of our friends who reported that curl -P [IP]
...
(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-19 23:52:03 +00:00
Daniel Stenberg
c31451cf13
Jon Turner pointed out that doing -P [hostname] with curl (built ipv4-only)
...
didn't work.
2006-01-19 22:02:46 +00:00
Daniel Stenberg
d9bd5de0b1
Fixed FTP_SKIP_PASV_IP and FTP_USE_EPSV to "do right" when used on FTP thru
...
HTTP proxy.
2006-01-12 22:18:38 +00:00
Daniel Stenberg
31c7aa0ba4
Michael Jahn fixed ftp over CONNECT
2006-01-12 12:40:04 +00:00
Daniel Stenberg
4431338691
When using a bad path over FTP, as in when libcurl couldn't CWD into all
...
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.
2006-01-10 23:03:22 +00:00
Yang Tse
b15f3bb969
Undo last changes
2005-12-11 23:37:58 +00:00
Yang Tse
e3f523ab2a
Avoid generation of additional warnings
2005-12-11 18:29:18 +00:00
Yang Tse
36485e56ed
Fix compiler warning and compatibility issue with the type of the parameter used in getnameinfo() to receive the length of the sockaddr struct.
2005-12-11 12:03:01 +00:00
Daniel Stenberg
272231fb09
Another Yang Tse warning cleanup raid!
2005-12-05 14:10:48 +00:00
Daniel Stenberg
0fd282b078
new experimental "ftp method" code
2005-11-28 23:06:00 +00:00
Daniel Stenberg
d52ed3fff2
Jan Kunder's debian bug report
...
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-14 00:18:12 +00:00
Daniel Stenberg
a5da1219bb
Reversed the logic for sockaddr_storage and made our own Curl_sockaddr_storage
...
struct instead to use.
2005-11-12 22:10:42 +00:00
Daniel Stenberg
37a6a0bb3e
Moved the sockaddr_storage definition to lib/sockaddr.h and only include that
...
in files that actually need the struct.
2005-11-11 22:04:11 +00:00
Daniel Stenberg
29676f473d
David Lang: if there is no sockaddr_storage, make up our own and use that
2005-11-10 22:24:49 +00:00
Daniel Stenberg
3beb2f6b5d
CURL_TIMECOND_IFMODSINCE actually requires that the remote document has been
...
modded since the given time, so we should compare <= and not just <.
2005-10-05 06:09:20 +00:00
Daniel Stenberg
a2902de67c
TJ Saunders of the proftpd project identified and pointed out problems with
...
the modified FTPS negotiation change of August 19 2005. Thus, we revert the
change back to pre-7.14.1 status.
2005-09-27 08:46:54 +00:00
Daniel Stenberg
e7093b3ca8
keep 'socktype' in the connectdata struct and make sure we use that for all
...
protocol sockets even if the resolved address may say otherwise
2005-09-16 21:30:08 +00:00
Daniel Stenberg
0b8ccd0ae7
oops, return error if an error did occur!
2005-09-14 15:04:01 +00:00
Daniel Stenberg
7e845e7cfd
Added FTP_SKIP_PASV_IP and --ftp-skip-pasv-ip
2005-09-04 05:16:06 +00:00
Daniel Stenberg
710ee3b0e0
Norbert Novotny had problems with FTPS and he helped me work out a patch
...
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-08-19 14:41:09 +00:00
Dan Fandrich
6e87cf5b30
Fixed some typos in output messages.
2005-07-21 22:18:35 +00:00
Daniel Stenberg
20005a83d2
Andrew Bushnell provided enough info for me to tell that we badly needed to
...
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-07-03 22:25:15 +00:00
Daniel Stenberg
e7012a515c
Now allow TYPE responses to be any 2xx code, and log if it isn't 200.
2005-05-24 09:39:56 +00:00
Daniel Stenberg
ede9fb4fcc
check if getsockname() returns failure before using the address it provides
2005-05-17 09:18:17 +00:00
Daniel Stenberg
723aef71e8
reduced typecasts, from two to one
2005-05-17 09:15:21 +00:00
Gisle Vanem
ecdcb0ef67
Some patches for (a stricter/smarter) gcc 4.0 and
...
warnings like:
'x' may be used uninitialized in this function.
2005-05-14 06:00:40 +00:00
Daniel Stenberg
708ed6fded
silence compiler warnings
2005-05-08 22:45:01 +00:00
Daniel Stenberg
5c30fa50d6
fix warnings about unused variables for non-debug builds
2005-05-07 20:41:16 +00:00
Daniel Stenberg
fc33c424d9
fix
2005-05-07 20:28:39 +00:00
Daniel Stenberg
9c5f79c56a
DEBUGF() is a new conveniant macro to add infof() calls (or similar) for
...
debug builds only. Made the ftp code use it on several places.
2005-05-07 13:57:07 +00:00
Daniel Stenberg
44985e8884
improved failf() error messages
2005-05-02 22:53:55 +00:00
Daniel Stenberg
a31ddd363b
Now configure checks for struct sockaddr_storage and the ftp code tries
...
to survive without it if not found. AIX 4.3 targetted adjustment.
2005-05-02 11:56:15 +00:00
Daniel Stenberg
6b1220b61d
Cory Nelson's work on nuking compiler warnings when building on x64 with
...
VS2005.
2005-04-26 13:08:49 +00:00
Daniel Stenberg
6e61939382
GnuTLS support added. There's now a "generic" SSL layer that we use all over
...
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-07 15:27:13 +00:00
Daniel Stenberg
758d9fe852
too late hacking error
2005-04-05 21:14:59 +00:00
Daniel Stenberg
ee44eec3e1
Christophe Legry's fix to grok time-conditoned uploads
2005-04-05 20:59:12 +00:00
Daniel Stenberg
371ef80dc3
When doing FTP-SSL, advance to the next state properly when the response to
...
AUTH has been received successfully.
2005-03-29 11:43:02 +00:00
Daniel Stenberg
84b4e9ff7c
Fixed the FTP response reader function to properly deal with responses split
...
up in several chunks when read.
2005-03-29 11:35:25 +00:00
Dan Fandrich
efaf688650
Fixed ftp support with uClibc due to differing inet_ntoa_r() behaviour.
2005-03-15 21:00:46 +00:00
Daniel Stenberg
3916d1e6cb
silence compiler warnings for mingw win32 builds --enable-debug
2005-03-14 15:43:23 +00:00
Daniel Stenberg
62970da675
Removed security.h since it shadows an include file mingw needs when building
...
for SSPI support. The contents of the file has been moved into the krb4.h file.
2005-03-14 00:00:45 +00:00
Daniel Stenberg
702664e959
Dominick Meglio reported that using CURLOPT_FILETIME when transferring a FTP
...
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-08 08:09:14 +00:00
Daniel Stenberg
aa47ac4c06
Added test case 235 that makes a resumed upload of a file that isn't present
...
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-03-04 23:52:06 +00:00
Daniel Stenberg
b98faaa8c0
Fixed bad krb4 code. It always tried to use krb4 if built enabled.
2005-02-11 22:50:57 +00:00
Daniel Stenberg
e7cefd684b
Removed all uses of strftime() since it uses the localised version of the
...
week day names and month names and servers don't like that.
2005-02-11 00:03:49 +00:00
Daniel Stenberg
17d61e4f29
typecast assign to ftpport from int to prevent warnings
2005-02-10 07:45:26 +00:00
Gisle Vanem
f5394cccb1
Use CURL_SOCKET_BAD.
2005-02-09 14:01:15 +00:00
Gisle Vanem
64dd9c7656
Handle CURLE_LOGIN_DENIED in strerror.c.
...
For ftp only?
2005-02-09 13:59:40 +00:00
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
Daniel Stenberg
cc497fd153
don't use a blank proxy
2003-09-11 22:05:23 +00:00
Daniel Stenberg
f2d422235b
Early Ehlinger's CURLOPT_FTP_RESPONSE_TIMEOUT patch applied.
2003-09-03 22:02:40 +00:00
Daniel Stenberg
2ad0a7d20f
minor fix to make better bail-out check
2003-09-03 21:44:59 +00:00
Daniel Stenberg
4459d3b434
have cwd_and_mkd prefixed with ftp_ to make it appear as a ftp-only
...
function
2003-08-22 12:35:18 +00:00
Daniel Stenberg
d00e4a377b
store the FTP response code in the httpcode variable
2003-08-20 15:41:45 +00:00
Daniel Stenberg
5dadbd094e
don't claim the PASV connect is connected unless it *really* is!
2003-08-10 17:11:41 +00:00
Daniel Stenberg
7954eee639
re-arranged the cwd/mkd stuff a bit
2003-08-08 09:55:16 +00:00
Daniel Stenberg
f9f1f0e316
Early Ehlinger's CURLOPT_FTP_CREATE_MISSING_DIRS patch was applied
2003-08-08 09:13:19 +00:00
Daniel Stenberg
b73612392d
ares awareness/usage/support added. If configure --enable-ares is used, we
...
build libcurl to use ares for asynch name resolves.
2003-08-05 14:40:59 +00:00
Daniel Stenberg
1e7e53c87e
clean up the dir tree hierarchy in *_done() to make persistant connection
...
FTP use the correct directories!
Reported in bug report #783116
2003-08-05 13:04:10 +00:00
Daniel Stenberg
e3b4dd08ff
Daniel Noguerol made the ftp code output "Accept-Ranges: bytes" in similar
...
style like other faked HTTP headers when NOBODY and HEADER are used.
2003-07-30 07:51:33 +00:00
Daniel Stenberg
1c35cbcc07
Reverted the 'filetime' struct field back to a 'long' as time_t is sometimes
...
unsigned and we want this to be able to hold -1 for illegal/unset values.
2003-07-30 07:22:28 +00:00
Daniel Stenberg
d9246ff24d
François Pons brought a patch that once again made curl deal with ftp and
...
"double slash" as indicating the root directory. In the RFC1738-fix of April
30, that ability was removed (since it is not the "right" way).
2003-07-28 08:50:02 +00:00
Daniel Stenberg
56014e74a0
krb4-fixes for the moved user+password fields within the structs
2003-07-21 09:19:48 +00:00
Daniel Stenberg
5e133e2dff
David Gardner pointed out in bug report 770755 that using the FTP command CWD
...
with a blank argument is a bad idea. Now skip blanks.
2003-07-20 00:18:11 +00:00
Daniel Stenberg
52b631fade
Access the user and passwd fields from the connectdata struct now instead
...
of the sessionhandle struct, as that was not good.
2003-07-19 23:56:33 +00:00
Daniel Stenberg
81d403e207
one typecast less for the localtime(), use CURLDEBUG instead of MALLOCDEBUG
2003-06-26 06:52:48 +00:00