Daniel Stenberg
853e240e1d
Use ssize_t instead of 'int' to make the 64 bit sparc compiler happier.
...
Fix by Richard Gorton.
2003-03-11 18:58:21 +00:00
Daniel Stenberg
52ebf50607
It appears that there are FTP-servers that return size 0 for files
...
when SIZE is used on the file while being in BINARY mode. To work
around that (stupid) behavior, we attempt to parse the RETR response
even if the SIZE returned size zero.
Debugging help from Salvatore Sorrentino on February 26, 2003.
2003-02-27 12:50:54 +00:00
Jean-Philippe Barette-LaPierre
beb13a1d3e
added the sharing of DNS cache
2003-02-04 23:48:46 +00:00
Daniel Stenberg
89934239d7
reset conn->size to -1 on the ftp-do function to make it not go on to
...
ftp_done() with the previous transfer's value, as Dave Halbakken found out.
He also verified this fixed corrected the problem.
2003-01-29 10:54:39 +00:00
Daniel Stenberg
a7c72b7abf
removed the local variables for emacs and vim, use the new sample.emacs
...
way for emacs, and vim users should provide a similar non-polluting style
2003-01-29 10:14:20 +00:00
Daniel Stenberg
f26a338a54
copyright year update in the source header
2003-01-16 21:08:12 +00:00
Daniel Stenberg
37ae32f688
Only output valid filetime.
...
Return file-error if 550 is returned when trying MDTM
2003-01-07 11:25:44 +00:00
Daniel Stenberg
4bcc866c52
The fread() callback pointer and associated pointer is now stored in the
...
connectdata struct instead, and is no longer modified within the 'set' struct
as previously (which was a really BAAAD thing).
2002-12-09 15:37:54 +00:00
Daniel Stenberg
d72aa49126
The waiting for the 226 or 250 line expected to come after a transfer is
...
complete is now only made for 60 seconds and if no data was received during
those 60 seconds, we store a special error message (preparing to make this
a special error code) as this most likely means that the control connection
has died while we were transferring data.
2002-12-04 08:56:55 +00:00
Daniel Stenberg
d0b97f7e1f
Curl_GetFTPResponse() takes a different set of parameters and now return a
...
proper CURLcode. The default timeout for reading one response is now also
possible to change while running.
2002-12-03 10:25:31 +00:00
Daniel Stenberg
ff5308a5af
if the PWD reply parser failed, we leaked memory
2002-12-02 07:18:24 +00:00
Daniel Stenberg
42acb00c81
moved the bools in the connectdata struct into the substruct named
...
ConnectBits where the other bools already are
2002-11-11 23:03:03 +00:00
Daniel Stenberg
66eb98bb0a
unlock dns cache entries with a function call instead of a variable fiddle
2002-11-11 22:36:00 +00:00
Daniel Stenberg
0ff1ca30c3
ipv4-fixes for the new Curl_dns_entry struct and Curl_resolv() proto
2002-11-05 11:07:49 +00:00
Daniel Stenberg
2cff251863
Curl_resolv() now returns a different struct, and it contains a reference
...
counter so that the caller needs to decrease that counter when done with
the returned data.
If compiled with MALLOCDEBUG I've added some extra checking that the counter
is decreased before a handle is closed etc.
2002-11-05 10:51:41 +00:00
Daniel Stenberg
b8a6913e09
prevent compiler warnings
2002-10-28 19:20:59 +00:00
Daniel Stenberg
aef3131e92
Craig Markwardt made the "struct hostent_data" get cleared too, as is
...
needed on Tru64 (or something).
2002-09-20 14:40:14 +00:00
Daniel Stenberg
ba4e69bebc
updated source code boilerplate/header
2002-09-03 11:52:59 +00:00
Daniel Stenberg
27a2e590cd
SSL_INSECURE support and usage added
2002-08-26 23:13:25 +00:00
Daniel Stenberg
6561ec524b
don't attempt to ftp_cwd() on a NULL path
2002-08-26 22:00:01 +00:00
Daniel Stenberg
cb895ec335
Initial fix to make the multi interface return control while waiting for
...
the initial connect to "come through".
This should work fine for connect and for FTP-PASV connects. Needs massive
testing.
2002-08-12 09:43:20 +00:00
Daniel Stenberg
ecd29a289a
corrected some warnings
2002-08-01 14:30:42 +00:00
Daniel Stenberg
e7d0af72e3
Changed the PORT command to pick a better default IP address if "-" is used.
...
It now uses the local IP adress of the control connection.
2002-08-01 14:25:12 +00:00
Daniel Stenberg
93f1784526
Remade the FTP not-check status line and not-attempt-to-read-status-line
...
variables, conditions and things.
2002-06-14 06:57:00 +00:00
Daniel Stenberg
559dc503c2
Tom Mattison's report found out, and this is the fix that should prevent
...
FTP from closing the connections a little too often!
2002-06-13 22:22:59 +00:00
Daniel Stenberg
3c63e1d8d9
Added 'dont_check' to be set during an FTP operation if the final status
...
message is supposed to be ignored.
2002-06-13 09:21:08 +00:00
Daniel Stenberg
cae555c977
when no FTP transfer was done, don't attempt to read the download transfer
...
thing. The 'resumed' flag is also causing confusions. I'll deal with that
tomorrow.
2002-06-12 22:05:28 +00:00
Daniel Stenberg
17b784381e
kris@freebsd.org fixed a few bad format strings
2002-06-12 07:44:22 +00:00
Daniel Stenberg
4fe252847c
ftp range downloads make us ignore the final status message as the server
...
will most likely treat the download as failed as we might abort it
pre-maturely
2002-06-11 12:35:03 +00:00
Daniel Stenberg
08ef208fb7
added disable-[protocol] support, largely provided by Miklos Nemeth
2002-06-11 11:13:01 +00:00
Daniel Stenberg
62032ee248
Getting an empty FTP file no longer makes us return error 19. An empty file
...
is fine to get.
2002-05-28 22:33:30 +00:00
Daniel Stenberg
c64fca1b0c
Fixed the FTP response reader to deal with timeouts better. Previously it
...
would reset the timeout for each incoming data, which would make veeery
slow responses be allowed to take even more time since the timeout would only
be reached if the time between two received data chunks was longer than the
set timeout value...
2002-04-27 13:24:06 +00:00
Daniel Stenberg
15b2a3af91
(Curl_GetFTPResponse) moved some code to only get performed when actually
...
needed
2002-04-27 13:09:37 +00:00
Daniel Stenberg
f564905ac4
adjusted to the new Curl_resolv() proto
2002-04-25 19:26:29 +00:00
Daniel Stenberg
8927ddec16
In order to not get problems with DNS cache pruning, we no longer store
...
any name resolved data in any curl handle struct. That way, we won't mind
if the cache entries are pruned for the next time we need them. We'll just
resolve them again instead.
This changes the Curl_resolv() proto. It modifies the SessionHandle struct
but perhaps most importantly, it'll make the internals somewhat dependent
on the DNS cache not being disabled as that will cripple operations somewhat.
Especially for persistant connections.
2002-04-25 19:00:57 +00:00
Daniel Stenberg
53c0e97117
removed unused variable
2002-04-14 07:33:44 +00:00
Daniel Stenberg
3f6133be27
Jean-Philippe Barrette-LaPierre provided his patch that introduces
...
CURLOPT_DEBUGFUNCTION and CURLOPT_DEBUGDATA.
2002-04-12 07:21:11 +00:00
Daniel Stenberg
d560207ea1
This corrects VERBOSE PASV ftp transfers on AIX (and OSF1/Tru64)
...
Gerhard Herre reported this in bug report #536238
2002-04-04 06:07:56 +00:00
Daniel Stenberg
ca9760756a
verbose FTP PASV output could output a "random" name from the stack based
...
array
Also, uploading data with --crlf cannot check that the proper size was
uploaded and thus should not warn if the sizes differ. This can be changed
in the future by having the expected size in the connectdata struct and then
increase the expected size for each byte that is added in the --crlf
replacement process.
2002-03-20 10:52:24 +00:00
Daniel Stenberg
974f314f57
copyright string (year) update
2002-03-19 07:54:55 +00:00
Daniel Stenberg
5c691ed835
verbose PASV transfers passed a bad buffer size to the name resolver functions
...
and it cause cause a crash.
Albert Choy found and fixed it.
2002-03-16 16:59:47 +00:00
Daniel Stenberg
76fe69b133
no longer attempts to SIZE a NULL pointer, as that wasn't very clever
...
(but didn't crash or anything)
2002-03-13 13:13:19 +00:00
Daniel Stenberg
80b004a57d
Wesley Laxton's CURLOPT_PREQUOTE work
2002-02-28 23:31:23 +00:00
Daniel Stenberg
721b05e343
Nico Baggus' VMS tweaks
2002-02-20 13:46:53 +00:00
Daniel Stenberg
49f7fa82b9
#if [undefined] => #ifdef [undefined]
2002-01-18 13:04:48 +00:00
Daniel Stenberg
a312127c91
made gcc -Wcast-align happy
2002-01-18 12:56:10 +00:00
Daniel Stenberg
b6dba9f5dd
Somewhat ugly fix to deal with non-blocking sockets. We just loop and try
...
again. THIS IS NOT A NICE FIX. We should/must make a select() then and only
retry when we can write to the socket again.
2002-01-16 14:46:00 +00:00
Daniel Stenberg
4931fbce49
Curl_read() now returns a negative return code if EWOULDBLOCK or similar
2002-01-14 23:14:59 +00:00
Daniel Stenberg
ae9bf16dee
#include the local "inet_ntoa_r.h" file if no proto was found in the global
...
header directory but the function *is* present!
2002-01-04 09:35:23 +00:00
Daniel Stenberg
17a8bf212f
The buffer in ftp_pasv_verbose(), used for gethostbyaddr_r(), is now defined
...
to become properly 8-byte aligned on 64-bit archs. Philip Gladstone reported.
2002-01-04 09:17:52 +00:00
Daniel Stenberg
4fc76afef4
The FTP response lines are now passed to the function callback registered for
...
headers.
2002-01-04 09:03:11 +00:00
Daniel Stenberg
6de7dc5879
Sterling Hughes' provided initial DNS cache source code.
2002-01-03 10:22:59 +00:00
Daniel Stenberg
0077b9c0a2
pass an 'int' as the third argument to bind()
2002-01-03 00:51:33 +00:00
Daniel Stenberg
fe37fb5921
Philip Gladstone's 64-bit sparc native compiler compatibility issues fixed.
2002-01-02 10:06:47 +00:00
Daniel Stenberg
28027c2aa2
If nobody is set we won't download any FTP file. If include_header is set,
...
we return a set of headers not more. This enables FTP operations that don't
transfer any data, only perform FTP commands.
2001-12-20 11:22:01 +00:00
Daniel Stenberg
e192261788
failf() calls should not have newlines in the message string!
2001-12-11 13:13:01 +00:00
Daniel Stenberg
779043f7a3
As Eric Lavigne pointed out, the ftp response reader MUST cache data that
...
is not dealt with when we find an end-of-response line, as there might be
important stuff even after the correct line. So on subsequent invokes, the
cached data must be used!
2001-12-03 13:48:59 +00:00
Daniel Stenberg
332eb7651a
CURLOPT_FTP_USE_EPSV can now be set to FALSE to prevent libcurl from
...
attempting to use EPSV before the standard PASV.
2001-11-28 23:20:14 +00:00
Daniel Stenberg
f0d3fccd4b
Added EPSV which is now unconditionally always tried before PASV, which
...
makes it work reaaaaly nicely on IPv6-enabled hosts!
Added SIZE before RETR is made, always done on downloads. It makes us know
the size prior to download much more frequently.
Unfortunately, this breaks all the FTP test cases. *fixfixfix*
2001-11-28 13:05:39 +00:00
Daniel Stenberg
aff19f64b5
use in_addr_t for inet_addr() return code. Now, now portable is this *REALLY*?
...
We should add some configure tests for this!
2001-11-28 12:16:52 +00:00
Daniel Stenberg
bbf80d0f93
commented out the EPSV support
2001-11-27 00:50:52 +00:00
Daniel Stenberg
6003f24f78
initial code added to support EPSV (IPv6-style PASV)
2001-11-27 00:48:45 +00:00
Daniel Stenberg
1c8da21083
Eric fixed a wild write
2001-11-22 09:40:34 +00:00
Sterling Hughes
8d62e21072
looks better on one line (testing the cvs diffing via mail, but I also think
...
this looks a bit better ;)
2001-11-15 14:16:13 +00:00
Daniel Stenberg
6aafc2dfd2
corrected the ftp_getsize() usage, as the HPUX compiler warned on them
2001-11-13 12:46:29 +00:00
Daniel Stenberg
65b22480f4
uninitialized variable
2001-11-13 12:09:05 +00:00
Daniel Stenberg
c7cdb0f266
make sure to "read out" the server reply even if we didn't get any data from
...
the server when that's the only error
2001-11-12 22:27:05 +00:00
Daniel Stenberg
96fb118251
added comments and function headers
2001-11-01 12:47:22 +00:00
Daniel Stenberg
99888388dc
Use Curl_tvdiff to compare times
2001-11-01 12:17:51 +00:00
Daniel Stenberg
027fc719cc
fixed FTPSENDF for ipv6 compiles
2001-10-31 20:59:24 +00:00
Daniel Stenberg
7e6a36ea7b
major commit, now we check the return code on every invoke of Curl_ftpsendf
...
- which now is made using a macro named FTPSENDF. I turned it all caps just
to make it more visible that it is in fact a macro.
2001-10-31 14:56:12 +00:00
Sterling Hughes
8e91d5de8e
looks nicer and is better compatible with older vim versions
2001-10-11 09:32:19 +00:00
Daniel Stenberg
5d9ae88f58
getaddrinfo() cleanups
2001-10-04 13:25:12 +00:00
Daniel Stenberg
51ca5fcbe0
major connecting updates
2001-10-02 09:40:06 +00:00
Daniel Stenberg
9d342bbf07
sessionhandle->hp => hostaddr
2001-10-01 22:31:43 +00:00
Daniel Stenberg
5cd267b2be
removed obsoletetd myalarm() calls
2001-10-01 11:35:29 +00:00
Daniel Stenberg
ae2ecfc5cb
removed the socket argument from some functions that always passed in the
...
same socket and it was available from the passed-in struct anyway!
2001-09-28 09:15:19 +00:00
Daniel Stenberg
cc610f0d1f
now compiles warning-free when IPv6-enabled
2001-09-28 09:02:57 +00:00
Daniel Stenberg
8333644c84
moved the PORT and PASV code into separate smaller functions for readability
...
renamed all static ^_ftp_* functions to ^ftp_, prefixing with underscore is
not nice
2001-09-28 08:58:18 +00:00
Daniel Stenberg
4d13b2cc64
more ipv6 cleanups to make smaller functions that are easier to read
2001-09-28 07:46:39 +00:00
Daniel Stenberg
48dc74aecc
more transparant support for IPv6 name resolving
2001-09-28 07:05:26 +00:00
Daniel Stenberg
711650b178
test 119 proved a memory leak in the FTP parts when IPv6 is enabled and the
...
RETR fails, this corrects it.
2001-09-23 12:47:07 +00:00
Daniel Stenberg
0e25cf41c4
modified error message when PWD fails
2001-09-14 12:18:46 +00:00
Daniel Stenberg
6d5b8b50e1
minor informatinal output changes
2001-09-13 12:52:58 +00:00
Sterling Hughes
e2e3c95d3b
fix for emacs
2001-09-07 03:30:30 +00:00
Sterling Hughes
08238f4320
Fix formatting when tabs and spaces got mixed up (if tabstop was not set to
...
8 this looked quite funny :)
Added a small formatting section for vim at the bottom, it also contains an
emacs portion (copied it from another project I'm working on), I don't know
if this is correct, but its a step (the vim part is correct :)
2001-09-05 02:49:04 +00:00
Daniel Stenberg
47e7a3e678
a few more struct fixes
2001-08-30 22:59:58 +00:00
Daniel Stenberg
0ece1b5c34
Major rename and redesign of the internal "backbone" structs. Details will
...
be posted in a minute to the libcurl list.
2001-08-30 22:48:34 +00:00
Daniel Stenberg
83a8786fe1
I want Sterling to be my friend, so I wasted some time on splitting up the
...
huge monster function _ftp() into more little functions. There are still
more that can be done, but this is at least improving readability and
maintainability... :-)
2001-08-23 06:10:01 +00:00
Sterling Hughes
1d3542a38f
<couldn't resist>
...
Use a more appropriate variable name
</couldn't resist>
2001-08-18 02:42:23 +00:00
Daniel Stenberg
1b00298b52
modified to use the renamed kerberos functions with Curl_ prefix
2001-08-17 10:14:06 +00:00
Daniel Stenberg
aa21e42d5b
const fixes
2001-08-15 18:42:17 +00:00
Daniel Stenberg
cec8a3afb2
removed one compiler error and two "unused variable" warnings
2001-08-15 12:26:34 +00:00
Sterling Hughes
7d17713d62
more _ftp_cwd
2001-08-15 07:21:21 +00:00
Sterling Hughes
546f4dca52
ftp_cwd() abstraction
...
"%" -> "%s"
2001-08-15 07:14:51 +00:00
Sterling Hughes
09a9b57bae
This can be used in another place (Curl_ftp_done :)...
...
declare at the top of the file, put the private functions at the bottom of
the file, however, this is clearer imho (since _ftp is already there).
2001-08-15 06:58:56 +00:00
Sterling Hughes
bff5f1b944
must merge before commit
...
must merge before commit
must merge before commit
2001-08-15 06:54:16 +00:00
Sterling Hughes
7994817185
begin abstraction process...
2001-08-15 06:52:42 +00:00
Daniel Stenberg
a9665b092b
exchanged the second and third argument to fwrite(), as that makes it look
...
good on VMS.
Removed a '#if 0' section, made Curl_getmyhost static and cut off the 'Curl_'
prefix
2001-08-14 09:26:32 +00:00
Daniel Stenberg
d95ed06aa9
corrected the size_t weirdness. Expect size_t to be unsigned. Moved most
...
over to ssize_t that is signed. Removed all the special-purpose VMS #ifdefs
that were added for this.
2001-08-14 08:24:37 +00:00