Daniel Stenberg
6561ec524b
don't attempt to ftp_cwd() on a NULL path
2002-08-26 22:00:01 +00:00
Daniel Stenberg
982c5460f0
Andrew Francis removed the need for/use of MSVC pragmas
2002-08-26 17:20:29 +00:00
Daniel Stenberg
74be55a477
Markus F.X.J. Oberhumer's added comment
2002-08-22 19:38:50 +00:00
Daniel Stenberg
394832c2d6
Markus Oberhumer improved an out-of-memory check
...
I reformatted some functions using a different indent than the rest
of the file.
2002-08-22 19:38:17 +00:00
Daniel Stenberg
03e4a8214c
allow undefined symbols!
2002-08-22 14:28:15 +00:00
Daniel Stenberg
a72d789b08
Added three more pragmas for MSVC++ compiles.
...
We *really* need these sorted out. I'd prefer to have them all removed and
the actual code corrected instead of just diabling the warnings and pretending
that they don't exist.
2002-08-20 11:46:48 +00:00
Daniel Stenberg
87ad7ace18
prevent compiler warnings
2002-08-20 11:43:31 +00:00
Daniel Stenberg
35153eb524
windows has stdlib.h
2002-08-20 11:42:35 +00:00
Daniel Stenberg
6dfe0ec31e
Sterling Hughes brings the share interface
2002-08-13 14:20:47 +00:00
Daniel Stenberg
30b7a9f172
fixed a Curl_connecthost() bug, we should default to set connected to false
2002-08-12 12:01:57 +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
c88036405f
ignore generated files
2002-08-08 23:11:26 +00:00
Daniel Stenberg
4cf953678d
Markus F.X.J. Oberhumer's CURLOPT_NOSIGNAL patch
2002-08-08 22:52:50 +00:00
Daniel Stenberg
ca5678c8c1
attempted hpux fix for resolves
2002-08-08 22:44:43 +00:00
Daniel Stenberg
312bcafd05
ignore all .in files
2002-08-08 04:44:41 +00:00
Daniel Stenberg
108cb14d1f
Make SessionHandle keep record if it is used with the multi interface or
...
the easy interface, it CANNOT be used by a mixture.
2002-08-05 17:04:39 +00:00
Daniel Stenberg
215c445583
re-added the RFC2732-parser that was lost for some reason during the flow
...
of time!
2002-08-05 16:50:55 +00:00
Joern Hartroth
94eeeba79a
Added multi interface functions to DLL definitions.
2002-08-03 16:38:28 +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
264a9bc6ed
Removed checks for if set.fpasswd is NULL, as we prevent users from setting
...
it to NULL and then use the internal default instead. It will always be
a function to call.
2002-07-29 22:45:50 +00:00
Daniel Stenberg
7313501e30
fixed the Curl_cookie_add() invoke to not assume a space after the colon
2002-07-29 22:23:55 +00:00
Daniel Stenberg
d8b2c819e7
properly skip white spaces on Set-Cookie: header lines
2002-07-29 22:22:49 +00:00
Daniel Stenberg
a46e2e9900
link with winmm.lib too
2002-07-29 14:20:53 +00:00
Daniel Stenberg
14f0dd2dd0
use stderr to present the prompt to, make sure to close the fopen()ed
...
file handle
2002-07-29 14:15:14 +00:00
Daniel Stenberg
c051438fa1
Added multi.[co] to the build
2002-07-29 11:07:26 +00:00
Daniel Stenberg
7f8ad34ba2
Glen Nakamura made his fix look even better!
2002-06-26 15:39:23 +00:00
Daniel Stenberg
a33e89b44a
Glen Nakamura's patch for Curl_getaddrinfo().
2002-06-26 08:03:46 +00:00
Daniel Stenberg
2f8e7f56b3
ignore '+' in URLs, generate only %-codes
2002-06-26 07:15:31 +00:00
Daniel Stenberg
2443e1f38c
T. Bharath fixed his mm lib timer resolution fix
2002-06-26 06:47:18 +00:00
Daniel Stenberg
e54e0c7877
CURLOPT_BUFFERSIZE allows an application to set a prefered buffer size
...
for receiving data from the network. It is meant as a hint, not as a forced
limit.
2002-06-15 21:00:54 +00:00
Daniel Stenberg
2b34d4e1f7
- Yarram Sunil found out that the SocketIsDead() function performed a lot
...
faster on Windows when removing the 1 microsecond timeout.
2002-06-14 12:05:20 +00:00
Daniel Stenberg
c7aa095fac
Hanno L. Kranzhoff fixed them
2002-06-14 09:36:09 +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
407583e8e2
Moved the secondarysocket cleanup. The 'conn' struct may have been cleared
...
already at that other place.
2002-06-12 22:04:25 +00:00
Daniel Stenberg
131645dc31
Chris Combes added CURLFORM_BUFFER, CURLFORM_BUFFERPTR, CURLFORM_BUFFERLENGTH
2002-06-12 21:40:59 +00:00
Daniel Stenberg
73cc1742af
HAVE_SIGSETJMP
2002-06-12 17:56:22 +00:00
Daniel Stenberg
87afd7686f
added a connect failure error message that might get empty otherwise
2002-06-12 09:48:26 +00:00
Daniel Stenberg
8ce10b5dfa
Jrn fixes for 7.9.8 build
2002-06-12 09:18:37 +00:00
Daniel Stenberg
20f85b94df
kris@freebsd.org fixed a bad format string
2002-06-12 07:45:11 +00:00
Daniel Stenberg
17b784381e
kris@freebsd.org fixed a few bad format strings
2002-06-12 07:44:22 +00:00
Daniel Stenberg
38c994a7ae
put #ifdefs around the sigjmp_buf declaration too, as it should be
2002-06-11 15:47:01 +00:00
Daniel Stenberg
85e2e96fb6
corrected the signal handler
2002-06-11 15:44:27 +00:00
Daniel Stenberg
3c49b405de
Now uses sigsetjmp() and siglongjmp() to bail out from slow name lookups in
...
case a timeout is set. This seems to work. God knows if it is good enough
or what kind of side-effects we introduce here and now.
I'll close my eyes and cross my fingers. Hard.
2002-06-11 15:10:18 +00:00
Daniel Stenberg
e9f1c12f0f
removed accidentally added debug-code!
2002-06-11 14:10:32 +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
25dc520163
added multi.obj
2002-06-11 11:11:06 +00:00
Daniel Stenberg
fc37ef9e4b
make sure data->set.postfields is non-NULL before doing strlen() on the
...
pointer. Bugs item #566835 .
2002-06-11 07:20:21 +00:00
Daniel Stenberg
11ba367fc9
getaddrinfo() failures now show port number too in informational output
2002-06-10 13:26:02 +00:00
Daniel Stenberg
78473f71eb
added a missing failf() for certain connect failures
2002-06-10 13:25:03 +00:00
Daniel Stenberg
8b77f40f99
This fix MIGHT make us build nicely with OpenSSL 0.9.7. This fix is based
...
on a patch from Jacob Meuser, input from Gtz Babin-Ebell and my own
browsing of the latest include files.
2002-06-10 12:38:10 +00:00
Daniel Stenberg
d866716565
Gautam Mani found a socket descriptor leak that happened when FTP transfers
...
failed and you reinvoked curl_easy_perform().
2002-06-10 12:34:04 +00:00
Daniel Stenberg
b47b053e54
Gustaf Hui fixed curl_multi_remove_handle() to prevent a potential crash
2002-06-05 21:29:20 +00:00
Daniel Stenberg
b79f01caf3
set HAVE_RAND_STATUS too
2002-06-05 14:14:54 +00:00
Daniel Stenberg
0db227f55e
hostcache_fixoffset() is now corrected to work on 64bit architectures
...
Bug report #564585 .
2002-06-05 13:41:33 +00:00
Daniel Stenberg
0be3f1a063
T. Bharath's updates since curl now uses the winmm lib for higher resolution
...
timer
2002-06-03 12:48:31 +00:00
Daniel Stenberg
c0257c6721
T. Bharath made the request size add up as it is documented to do.
2002-06-03 12:47:08 +00:00
Daniel Stenberg
9aec0fc7de
T. Bharath fixed higher resolution time for windows builds
2002-06-03 12:46:32 +00:00
Daniel Stenberg
bce5e0d82c
T. Bharath fixed the TIMER_REDIRECT.
2002-06-03 12:46:04 +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
775645f29b
Gustaf Hui provided new code that changes how curl_multi_info_read()
...
messages are stored, so that they don't have to be kept around for the multi
handle's entire life time. He also made it return failure codes properly
which it didn't do before.
I made the messages only get stored per easy-handle so that they can be
independently killed easier without ruining the "master list". It makes
the info_read() function slightly less beautiful as it has to scan for
messages to return, but it makes removing individual handles a lot easier
and less error prone.
2002-05-28 14:45:50 +00:00
Daniel Stenberg
99c0456872
Adjusted to make curl_multi_perform() work properly even when
...
curl_multi_fdset() is not used.
2002-05-28 14:18:36 +00:00
Daniel Stenberg
59c11b82d5
Cris Bailiff's CAPATH support added
2002-05-28 09:21:29 +00:00
Daniel Stenberg
ec585e8907
When re-using a connection, make sure that we use the current host name as
...
we might actually re-use a connection to a different host, when using proxies!
This was what bug report #558888 was all about.
2002-05-21 22:24:56 +00:00
Daniel Stenberg
105ec79b2b
James Cone's efforts to add another netrc parsing "mode"
2002-05-21 22:17:19 +00:00
Daniel Stenberg
c7b03d6479
maprintf() and vmaprintf() now work better when printfing "%s" with an
...
empty string
2002-05-21 17:59:57 +00:00
Daniel Stenberg
323f195036
ASN1 files don't work for the *chain_file(), make them use the previous
...
version
2002-05-21 08:15:42 +00:00
Daniel Stenberg
5d2944c211
curl_formadd() now returns 'CURLFORMcode' instead of int, to better enable
...
checking for particular errors. curl/curl.h defines the errros
2002-05-21 07:44:27 +00:00
Daniel Stenberg
fe3ba1dd11
Roland Zimmermann's hint, we use SSL_CTX_use_certificate_chain_file() instead
...
of the previous one that used SSL_CTX_use_certificate_file()
2002-05-20 14:25:35 +00:00
Daniel Stenberg
9263652c6d
Fixes bug report #556930 - we need to make sure that the data is all right
...
after we've realloc() the packed hostent struct.
2002-05-17 07:49:28 +00:00
Daniel Stenberg
980a47b42b
support for ingoring session cookies added
2002-05-07 09:58:13 +00:00
Daniel Stenberg
f7ca561b06
the code for case CURLOPT_DEBUGDATA code broke the CURLOPT_STDERR one!
2002-05-06 18:30:17 +00:00
Daniel Stenberg
44debdde62
Better support for being used with the multi interface without the *fd_set()
...
and proper select()ing have been made.
2002-05-05 12:11:03 +00:00
Daniel Stenberg
d321056e8d
made VERBOSE output more like it used to be, HEADER_IN is thus also ignored
...
by the internal debugfunction callback
2002-05-04 15:36:07 +00:00
Daniel Stenberg
d9a1a59f22
CURL_MAX_WRITE_SIZE is a new exported define that informs about the biggest
...
sized buffer that may be passed to a write callback
2002-05-03 14:50:29 +00:00
Daniel Stenberg
0b898b5a8a
fixed return code
2002-05-03 12:40:37 +00:00
Daniel Stenberg
86cc34c0de
made the DEBUGFUNCTION get called properly on a few more places, especially
...
for DATA_IN and DATA_OUT.
2002-05-03 12:07:32 +00:00
Daniel Stenberg
39028f1bd4
make sure our own printf() clones are used
2002-05-03 12:06:04 +00:00
Daniel Stenberg
913e997061
use and set the fd_set pointers instead of the actual values, as then we
...
work properly with the multi interface when the user has provided the
fd_sets!
2002-05-02 22:14:31 +00:00
Daniel Stenberg
8e50d6b6f3
added two pointers to the fd_set variables to read/write from, as sometimes
...
we need to point to user-provided fd_sets
2002-05-02 22:13:35 +00:00
Daniel Stenberg
2db0744a7b
return CURLM_CALL_MULTI_PERFORM in one more case, and check return code
...
from malloc()
2002-05-02 22:12:14 +00:00
Daniel Stenberg
2de0028349
make sure the dns cache pointers in the easy handles are NULLed
2002-05-02 18:07:38 +00:00
Daniel Stenberg
35d04c5398
Hanno Kranzhoff noticed we didn't properly reset the download/upload counters
...
before transfers, when doing multiple ones on the same handle.
2002-05-02 08:52:09 +00:00
Daniel Stenberg
b1becd0ed5
Jacky Lam's fix to make the realloc() of the hostent data work properly
...
even when the realloc() actually gets a new memory block
2002-05-01 11:36:13 +00:00
Daniel Stenberg
969a25d1b2
implemented curl_multi_info_read() which I had forgotten before!
2002-04-27 22:21:51 +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
8358505b6d
Now uses Curl_ as prefix for internal global symbols. curl_ should only be
...
used for "exported" globals.
2002-04-27 13:07:51 +00:00
Daniel Stenberg
1c42779845
DNC cache prune crash removed, made the name spacing follow the general
...
rule: "Curl_" prefix for library-wide private symbols, "curl_" is for
exported symbols.
2002-04-27 13:06:40 +00:00
Daniel Stenberg
f564905ac4
adjusted to the new Curl_resolv() proto
2002-04-25 19:26:29 +00:00
Daniel Stenberg
00e4f81446
prevent persistant connections to do name resolves
2002-04-25 19:18:19 +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
0be7944d66
use the hostname pointer instead of using IPv4-only info from a struct
2002-04-25 15:50:49 +00:00
Daniel Stenberg
3b9ef8dfc8
removed warning about signed/unsigned comparison
2002-04-23 14:57:37 +00:00
Daniel Stenberg
db6d4bcf47
the 80 column police narrowed this source code! B-]
2002-04-23 14:56:21 +00:00
Daniel Stenberg
471f1d694f
fixes bug report #547484 , no_proxy doesn't properly strip off port numbers
...
from the host names before comparing
2002-04-23 13:34:28 +00:00
Daniel Stenberg
36e35b6f60
allow binding the local end of a connection even when using IPv6, thus we
...
now have --interface working properly
2002-04-22 23:56:13 +00:00
Daniel Stenberg
192606bc4b
use double where it is supposed to
2002-04-22 23:54:43 +00:00
Daniel Stenberg
53a9fdf078
use sclose() to close sockets
2002-04-22 23:53:49 +00:00
Daniel Stenberg
ef436bdbe8
renamed the TIMECOND defines to be CURL_ prefixed
2002-04-22 23:53:15 +00:00
Daniel Stenberg
21fc402c01
Jacky Lam's adjust resolve-buffer size patch applied. Slightly edited
...
by Daniel.
2002-04-22 13:31:16 +00:00
Daniel Stenberg
381f77756d
pack_hostent does not handle 64 bit pointers correctly.
...
A Bjrn Reese patch.
2002-04-19 11:00:26 +00:00
Sterling Hughes
a386562d9a
Prune old hostcache entries with each call...
...
This can be optimized a tidbit, but this is a start.
2002-04-17 20:13:55 +00:00
Daniel Stenberg
08f8917acb
Dirk Manske's fix for HTTP response code 301, that now behaves more like
...
browsers do. Which thus *breaks* the RFC 2616...
2002-04-17 07:16:49 +00:00
Daniel Stenberg
62d205a2ec
Dirk Manske brought the patch that introduces two new CURLINFO_* values:
...
CURLINFO_REDIRECT_TIME and CURLINFO_REDIRECT_COUNT.
2002-04-16 07:59:20 +00:00
Daniel Stenberg
29e873b12d
Jonatan Lander fixed the "Disables POST, goes with GET" output to be more
...
connected with reality! ;-)
2002-04-15 13:47:06 +00:00
Daniel Stenberg
95f78080ab
This makes formposting with a specified file missing fail. curl_easy_perform
...
will then return CURLE_READ_ERROR.
2002-04-15 11:19:03 +00:00
Daniel Stenberg
2361aabbef
Dirk Manske made libcurl strip off white spaces from the beginning of cookie
...
contents.
2002-04-14 18:21:17 +00:00
Daniel Stenberg
53c0e97117
removed unused variable
2002-04-14 07:33:44 +00:00
Sterling Hughes
bb44791bf3
Add protos and change return value of curl_hash_count....
2002-04-13 01:56:22 +00:00
Sterling Hughes
9ebcfe9dff
Speed up the hash code considerably, removing a bunch of legacy crud
2002-04-12 23:40:19 +00:00
Daniel Stenberg
c06171a802
store TIMER_CONNECT even if the connect failed
2002-04-12 10:03:59 +00:00
Daniel Stenberg
5528c1eaa5
corrected the verbose output for connects and fixed the connect time stamp
...
better for FTP (any protocol with protocol-specific connect actions)
2002-04-12 08:18:38 +00:00
Daniel Stenberg
93516effe4
the HTTP request is a CURLINFO_HEADER_OUT
2002-04-12 07:53:12 +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
c69dd14cbc
added RISCOS makefile
2002-04-10 20:54:21 +00:00
Daniel Stenberg
7954652b80
brougth by Michael Curtis
2002-04-10 20:52:26 +00:00
Daniel Stenberg
308ae5cbf2
added info in to failf() lines and added a infof() call just before the
...
connect() so that it tells to which host and what port it is about to
attempt the connection
2002-04-10 14:20:24 +00:00
Daniel Stenberg
1cd5cdfccb
default proxy port set, as reported by Sebastien Willemijns
2002-04-10 14:07:03 +00:00
Daniel Stenberg
e8109b09b1
error code cleanup, use the new SEND/RECV errors
2002-04-10 13:44:42 +00:00
Daniel Stenberg
0866c1b52d
Michael Curtis' updates
2002-04-08 21:59:06 +00:00
Daniel Stenberg
5d28a857a4
based on Jacky Lam's "HTTP 1.0 304-only" fix, this change makes a 304 reply
...
always stop reading after the headers no matter what 'close' is.
2002-04-08 07:27:22 +00:00
Daniel Stenberg
a03fd7b81c
T. Bharath pointed out the flaw in ConnectionExists() for how we didn't
...
check proxy connections for "deadness" before they were re-used
2002-04-04 12:23:14 +00:00
Daniel Stenberg
1cfcbc50a6
Fixes the problem Jacky Jam pointed out, where libcurl will "hang" for an
...
extra second after having downloaded headers-only
2002-04-04 12:19:56 +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
90b51831fd
Tor Arntsen's fix for "CGI_Lite" compliance!
2002-04-03 11:11:01 +00:00
Daniel Stenberg
547e91dbf0
Clarence Gardner pointed out the not-taken-care-of return codes from SSL_read
2002-04-02 09:33:38 +00:00
Daniel Stenberg
04da96e044
Jacky Lam added memdebug.h include to prevent crashes when that is used
2002-04-02 06:36:47 +00:00
Daniel Stenberg
541e5a3b82
Jacky Lam cookie parser fix for domains with preceeding dot
2002-03-25 09:08:33 +00:00
Daniel Stenberg
5af61716aa
Miklos Nemeth's update
2002-03-23 15:41:17 +00:00
Daniel Stenberg
67b0f9aacd
no longer include "multi.h", it comes with the regular curl/curl.h now
2002-03-20 10:54:17 +00:00
Daniel Stenberg
854277bae5
crlf replacement on uploads did not work. test case 128 was added just now
...
to make sure it remains functional.
2002-03-20 10:53:24 +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
ab6b0f9843
removed multi.h
2002-03-19 14:32:43 +00:00
Daniel Stenberg
6b4532b592
moved to ../include/curl/
2002-03-19 10:34:06 +00:00
Daniel Stenberg
974f314f57
copyright string (year) update
2002-03-19 07:54:55 +00:00
Daniel Stenberg
eaff1a344e
made it pass stricter compiler flags with less warnings
2002-03-19 07:32:35 +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
f73864a045
corrected SSL builds
2002-03-15 14:46:59 +00:00
Daniel Stenberg
5f758fbd11
make sure we return CURLE_WRITE_ERROR if the write callback returned
...
an error, even if we were decoding a chunked-encoded transfer
2002-03-15 12:42:41 +00:00
Daniel Stenberg
fb29529a52
Jun-ichiro itojun Hagino <itojun@itojun.org>:
...
Now first check if IPv6 is supported, then use PF_UNSPEC. If not, use PF_INET.
It'll solve both the "slow name lookup" problem on IPv4 and still work fine on
IPv6 hosts.
Bug report #530204 has more details:
http://sourceforge.net/tracker/?func=detail&atid=100976&aid=530204&group_id=976
2002-03-15 09:54:30 +00:00
Daniel Stenberg
3cd2673077
bug report #530204 correctly identified that revision 1.52 broke ipv6
...
functionality and this change reverts this.
However, with this revert we bring back problems on (some/all?) non-IPv6
enabled Linux machines that have getaddrinfo().
2002-03-15 08:45:09 +00:00
Daniel Stenberg
468b787272
if CURLOPT_POSTFIELDS isn't set, but CURLOPT_POST is, we will assume that
...
we should read the POST-data from the read callback
2002-03-14 14:39:23 +00:00
Daniel Stenberg
cfdb6f851c
2002
2002-03-14 14:37:41 +00:00
Daniel Stenberg
7886f120f3
CURLOPT_POST deserved a new comment with the new POST-by-callback support
2002-03-14 14:37:16 +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
e1bae4fc7e
Setting CURLOPT_PASSWDFUNCTION to NULL now restores the internal function.
2002-03-13 13:10:52 +00:00
Daniel Stenberg
bc9705f758
sendf() now deals with Curl_write() returning -1 properly, which it might
...
do if the write would've blocked
2002-03-13 13:09:37 +00:00
Daniel Stenberg
c819e234b8
now supports all options in arrays, except the CURLFORM_ARRAY itself
2002-03-13 12:10:20 +00:00
Daniel Stenberg
9f374c2050
Added support for CURLFORM_FILENAME to set the filename field of a file
...
part.
2002-03-11 15:18:59 +00:00
Daniel Stenberg
fe3c874001
detect fclose(NULL)
2002-03-08 15:31:44 +00:00
Daniel Stenberg
017be8a882
Jean-Philippe Barrette-LaPierre fixed the CURLOPT_PASSWDFUNCTION to make
...
NULL set back the internal default function
2002-03-08 15:06:42 +00:00
Daniel Stenberg
f51f2417c5
Brad corrected the include path (again)
2002-03-06 22:19:16 +00:00
Daniel Stenberg
80b004a57d
Wesley Laxton's CURLOPT_PREQUOTE work
2002-02-28 23:31:23 +00:00
Daniel Stenberg
ea8476a2dc
Ralph Mitchell's SSL problems made me notice that we didn't increase the
...
header byte counter properly
2002-02-28 15:13:35 +00:00
Daniel Stenberg
cb85ca18ab
more fancy alloc, we store the size in each allocated block so that we
...
can destroy the full allocated area just before we free it
2002-02-28 12:37:05 +00:00
Daniel Stenberg
0cacbc892c
always allocates at least 64 bytes for real, and damages them before free
2002-02-28 12:18:15 +00:00
Daniel Stenberg
6753c3c715
made building outside the source tree work again, Kevin Roth reported
2002-02-27 15:09:23 +00:00
Daniel Stenberg
3612c3774e
made Max-Age work as defined in the RFC.
...
my brain damaged fix to not parse spaces as part of the value is now fixed
to instead strip off trailing spaces from values.
2002-02-27 07:38:04 +00:00
Daniel Stenberg
66b8f48a88
When saving a cookie jar, set field 1 (counted from 0) properly to TRUE if the
...
domain starts with a dot.
2002-02-26 13:18:08 +00:00
Daniel Stenberg
a23a897ad2
removed crash on weird input, this also better discards silly input
2002-02-26 13:07:53 +00:00
Daniel Stenberg
e6ed3478ea
automake usage and options cleanup
2002-02-25 14:08:18 +00:00
Daniel Stenberg
b32a39f44f
oops, #if not #ifdef
2002-02-25 10:12:04 +00:00
Daniel Stenberg
e4fefd088d
cygnus can't include winsock.h even though it has it, why we need to
...
make a different and more complicated check for when to include it
2002-02-25 08:20:29 +00:00
Daniel Stenberg
b1ffe7b74a
better time selection for the connect timeout
2002-02-22 15:44:37 +00:00
Daniel Stenberg
cbca19d6c2
lib/config.h.in added to dist
2002-02-22 07:51:23 +00:00
Daniel Stenberg
721b05e343
Nico Baggus' VMS tweaks
2002-02-20 13:46:53 +00:00
Daniel Stenberg
a333bddeeb
Andrs Garca solved bug report #515228 by making sure the progress meter
...
is updated even if everything is read in one single pass, as the windows
functions apparantly does more often than other systems.
2002-02-20 13:38:34 +00:00
Daniel Stenberg
4c6a52fe90
corrected reference to multi-using examples
2002-02-19 11:02:01 +00:00
Daniel Stenberg
792d73a9cf
include winsock.h on window boxen to work smoother there
2002-02-19 11:00:34 +00:00
Daniel Stenberg
c795123cd5
fixed a long long mistake
2002-02-18 23:32:45 +00:00
Daniel Stenberg
3d5732d4e0
Rick Richardson's getaddrinfo() usage fix to speed up name resolves
2002-02-18 23:12:37 +00:00
Daniel Stenberg
b795929858
INADDR_NONE should be in_addr_t to work with 64bit archs better.
...
Really, we should only #define this in one file, not both here and in
connect.c!
2002-02-18 22:59:26 +00:00
Daniel Stenberg
535258ffe4
Philip Gladstone's size problem in add_buffer_send()
2002-02-18 22:41:52 +00:00
Daniel Stenberg
e21926f7f0
connection timeout comparison fix by Emil
2002-02-18 10:05:18 +00:00
Daniel Stenberg
e452f467d4
Philip Gladstone's 64-bit issues corrected.
...
Reminder for the future: when we're using malloc() we MUST include <stdlib.h>
as otherwise 64bit archs go bananas.
Bug report #517687
2002-02-17 14:55:35 +00:00
Daniel Stenberg
dfda7ba456
corrected the Expect: ignore, made Content-Type: possible to skip
2002-02-17 14:42:44 +00:00
Daniel Stenberg
feb6b6445e
Giaslas Georgios's Host: over proxy fix
2002-02-17 11:17:37 +00:00
Daniel Stenberg
55c6f60c90
ugh. the VMS stuff must've been like that for a reason, I put it back again
2002-02-07 14:47:41 +00:00
Daniel Stenberg
7cf6e8c9cc
moved the config-* files here from the ../Makefile.am
2002-02-07 14:34:34 +00:00
Daniel Stenberg
cdee43aa59
use the config files in this directory now, not ../
2002-02-07 14:33:36 +00:00
Daniel Stenberg
9c25b58b4c
moved the config-*.h files from root to the lib/ dir
2002-02-07 14:32:28 +00:00
Daniel Stenberg
c40b4f6c39
don't add 2 to the post size, that was a previous mistake because there
...
was an extra CRLF added to the post data
2002-02-07 09:32:40 +00:00
Daniel Stenberg
9e6cc86bf7
Miklos Nemeth improved
2002-02-06 16:00:55 +00:00
Daniel Stenberg
b544c5fa5c
ARGH the CRLF I removed recently was not only done after the initial
...
content-type header, it was used for each part and thus without this it
failed MISERABLY. *smacks forhead*
2002-02-06 15:48:53 +00:00
Daniel Stenberg
e9bfef0eb1
Brent Beardsley found the content-type bug!
2002-02-06 07:02:13 +00:00
Daniel Stenberg
ddbcccd43d
Kevin Roth's discovered SSL download problem
2002-02-05 15:33:00 +00:00
Daniel Stenberg
0d5bfe883e
Andreas Damm made getdate use gmtime_r if available
2002-02-01 11:11:26 +00:00
Daniel Stenberg
3474ec4ecb
_num_chars did wrong when called with a number that starts with 1!
2002-01-31 07:51:06 +00:00
Daniel Stenberg
907a6e0eed
Georg Horn the previous SSL_read() fix, this was actually the fix I did
...
on my test machine! :-)
2002-01-30 21:49:29 +00:00
Daniel Stenberg
b28051881e
Georg Horn found yet another SSL reading problem caused by the non-blocks.
...
This was a real bummer!
2002-01-30 15:11:47 +00:00
Daniel Stenberg
5b58e61f28
now re-seed by force (even if already seeded) if a random file or egd socket
...
is given
2002-01-30 08:17:23 +00:00
Daniel Stenberg
be2f3071b5
conn->upload_bufsize exists no more
2002-01-29 20:34:30 +00:00
Daniel Stenberg
85dbf82d93
append a CRLF pair after the content-type line
2002-01-29 20:32:10 +00:00
Daniel Stenberg
a9c4963cc0
removed three loust fprintf()s
...
removed the initial CRLF in the formpost, as they are part of the request
and should be written by the code in http.c!
2002-01-29 20:30:56 +00:00
Daniel Stenberg
a4934387d5
upload progress counter fix, removed the adjustable upload buffer size
2002-01-29 20:28:59 +00:00
Daniel Stenberg
e88a2ec6fc
no more adjustable upload buffer size, we use non-blocking sockets now so
...
this work-around is not needed anymore!
2002-01-29 20:28:26 +00:00
Daniel Stenberg
f114caca90
- T. Bharath pointed out that we seed SSL on every connect, which is a time-
...
consuming operation that should only be needed to do once. We patched
libcurl to now only seed on the first connect when unseeded. The seeded
status is global so it'll now only happen once during a program's life time.
2002-01-29 14:11:38 +00:00
Daniel Stenberg
76c53c690c
Giaslas Georgios introduced CURLINFO_CONTENT_TYPE
2002-01-29 10:49:32 +00:00
Daniel Stenberg
c341b11aaf
Steve Marx helped us realize that we shouldn't treat customrequest as a
...
request of its own, it just changes the keyword of a request.
2002-01-28 19:31:26 +00:00
Daniel Stenberg
6212e6990a
someone should have me punished, but this bug made curl bug seriously
...
on IPv4-linux machines
2002-01-28 19:23:18 +00:00
Daniel Stenberg
5d3dd7911e
newly generated
2002-01-28 18:39:55 +00:00
Daniel Stenberg
ae8375516b
Andreas Damm made it reentrant safe!
2002-01-28 18:39:40 +00:00
Daniel Stenberg
e3f10eb825
no longer add CRLF _after_ POST data, it should not be needed. Pedro Neves
...
pointed out this ugliness.
2002-01-27 11:51:11 +00:00
Daniel Stenberg
2b1f683239
set header and request size to 0 before each *_perform()
2002-01-27 11:49:17 +00:00
Daniel Stenberg
4146ce8267
bug report #508235 identified a non-working Location: following, and this
...
little fix seems to correct it. another case where we just returned and
didn't shut off the reading. This bug is introduced in 7.9.3 due to the
new internal "order".
2002-01-25 08:35:49 +00:00
Daniel Stenberg
2db894807b
Andrs Garca found out that we didn't properly stop reading from a connection
...
after the headers on a HEAD request. This bug has been added in 7.9.3 and was
mnot present earlier.
2002-01-23 07:15:32 +00:00
Daniel Stenberg
e911945c55
#505514 , as correctly pointed out by Antonio (anton@concord.ru), trying to
...
post a non-existing file should include nothing, not an error text!
2002-01-19 11:08:05 +00:00
Daniel Stenberg
0b177cb165
newly generated
2002-01-18 15:14:35 +00:00
Daniel Stenberg
f925979b2f
satisfy gcc -Wundef
2002-01-18 13:10:41 +00:00
Daniel Stenberg
49f7fa82b9
#if [undefined] => #ifdef [undefined]
2002-01-18 13:04:48 +00:00
Daniel Stenberg
e74b20926d
prevents gcc -Wcast-align from complaining
2002-01-18 12:59:33 +00:00
Daniel Stenberg
a312127c91
made gcc -Wcast-align happy
2002-01-18 12:56:10 +00:00
Daniel Stenberg
1dc5bf4f73
#ifndef and #define magic to prevent compiler warnings when doing #if BLA
...
where BLA is undefined
2002-01-18 12:53:05 +00:00
Daniel Stenberg
fd307bfe29
cut off a big piece of comment and added a pointer to the Trio web page
...
should anyone ever want a good printf() clone
2002-01-18 10:45:03 +00:00
Daniel Stenberg
7bfe853af3
I wish I could type. Anyway, this proved it is a good habit to put the NULL
...
on the left side of comparisons...
2002-01-18 10:36:25 +00:00
Daniel Stenberg
cbaecca8e9
added typecast for a malloc() return, and added check for NULL
2002-01-18 10:30:51 +00:00
Daniel Stenberg
8edfb370a8
Added #include <errno.h>
2002-01-18 09:25:58 +00:00
Daniel Stenberg
4c08c8f7db
Andrs Garca patched. It now checks for EWOULDBLOCK properly on windows
...
boxes.
2002-01-18 08:03:54 +00:00
Daniel Stenberg
c174680a03
patched by Andrs Garca
2002-01-18 08:03:12 +00:00
Daniel Stenberg
eba8035e12
Richard Archer made it compile and build with OpenSSL versions prior to
...
0.9.5
2002-01-17 10:40:13 +00:00
Daniel Stenberg
edcbf4350b
include our own sprintf() prototype to make it return sensible data on
...
all platforms, I also edited a few data types slightly to prevent my
compiler from warning on comparisions between signed and unsigned values
2002-01-17 08:03:48 +00:00
Sterling Hughes
9289ea471f
Get this working, still need to check for leaks and such, but should be
...
fine..
2002-01-17 07:38:25 +00:00
Sterling Hughes
7d06185aa6
Make the keys for hostcache entries be in the format::
...
host:port, so accessing curl.haxx.se on port 80 would yield a key value
of ::
curl.haxx.se:80
2002-01-17 06:55:37 +00:00
Daniel Stenberg
e177f14595
SSL writes passed back a silly length...
2002-01-16 23:28:58 +00:00
Daniel Stenberg
5c6eddcadd
fixed time-out returned without error text set
2002-01-16 22:26:01 +00:00
Daniel Stenberg
b3b4786990
Kevin Roth's SSLeay() patch, slight edited by me. Works with OpenSSL 0.9.5
...
now.
2002-01-16 17:45:08 +00:00
Daniel Stenberg
8d97792dbc
- shrunk the BUFSIZE define from 50K to 20K
...
- made a separate buffer for uploads (due to the non-blocking stuff)
- added two connectdata struct fields for non-blocking uploads
2002-01-16 14:53:19 +00:00
Daniel Stenberg
8d07c87be7
modified to deal with the new non-blocking versions of Curl_read() and
...
Curl_write().
2002-01-16 14:50:53 +00:00
Daniel Stenberg
ed21701df3
Curl_write's 5th argument now is signed
2002-01-16 14:49:51 +00:00
Daniel Stenberg
df01507582
Curl_read() and Curl_write() are both now adjusted to return properly in
...
cases where EWOULDBLOCK or equivalent is returned. We must not block.
2002-01-16 14:49:08 +00:00
Daniel Stenberg
f2bda5fd5b
Curl_write() now takes a different 5th argument
2002-01-16 14:47:50 +00:00
Daniel Stenberg
cba9838e8f
Somewhat ugly fix to deal with non-blocking sockets. We just loop and try
...
again. THIS IS NOT A NICE FIX.
2002-01-16 14:47:00 +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
fefc7ea600
a memory leak when name lookup failed is now removed
2002-01-14 23:14:24 +00:00
Sterling Hughes
a1f910c159
Remove erreaneous include, setup.h is included one line above
2002-01-14 05:36:28 +00:00
Daniel Stenberg
d84a0c51e0
Cris Bailiff found out that when the SSL session cache was filled, libcurl
...
would crash. This corrects the problem.
2002-01-09 09:38:37 +00:00
Daniel Stenberg
d57e09889a
added a missing failf() before returning an error code
2002-01-08 23:23:24 +00:00
Daniel Stenberg
eecb86bfb0
this seems to correct the SSL reading problem introduced when switching
...
over to non-blocking sockets, but this loops very nastily. We should return
back to the select() and wait there until more data arrives, not just blindly
attempt again and again...
2002-01-08 23:19:32 +00:00
Daniel Stenberg
75bba0da92
added two typecasts to prevent compiler (gcc3) warnings
2002-01-08 07:06:07 +00:00
Sterling Hughes
c0bfe7be15
1) the dns_cache_timeout should be an integer, not a bool
...
2) in the curl_dns_cache_entry structure, timestamp should be
a time_t instead of an integer (although I doubt it matters).
2002-01-08 04:30:59 +00:00
Sterling Hughes
22ac08e06d
Add support for DNS cache timeouts via the CURLOPT_DNS_CACHE_TIMEOUT option.
...
The default cache timeout for this is 60 seconds, which is arbitrary and
completely subject to change :)
2002-01-08 04:26:47 +00:00
Daniel Stenberg
87037136ef
As identified in bug report #495290 , the last "name=value" pair in a
...
Set-Cookie: line was ignored if they didn't end with a trailing
semicolon. This is indeed wrong syntax, but there are high-profile web sites
out there sending cookies like that so we must make a best-effort to parse
them.
2002-01-07 23:05:36 +00:00
Daniel Stenberg
2182e37433
the bool typedef is now made unsigned, to make sure it stays that on all
...
platforms, unrelated to what they might prefer by default
2002-01-07 22:47:21 +00:00
Daniel Stenberg
1de82b220d
removed silly check for >=0 of a supposedly unsigned value!
2002-01-07 22:46:38 +00:00
Sterling Hughes
bd878756fc
Probably not necessary, but good practice.
2002-01-07 20:55:35 +00:00
Sterling Hughes
8d7f402efb
Make cach'ing work with threads now, there are now three cases:
...
- Use a global dns cache (via setting the tentatively named,
CURLOPT_DNS_USE_GLOBAL_CACHE option to true)
- Use a per-handle dns cache, by default
- Use a pooled dns cache when in the "multi" interface
2002-01-07 20:52:32 +00:00
Daniel Stenberg
d3299beec7
Modified to use non-blocking sockets all the time.
2002-01-07 18:38:01 +00:00
Daniel Stenberg
c69c0c0446
added proper breaks in the switch()
2002-01-07 15:24:52 +00:00
Daniel Stenberg
e31a306a38
HTTP response 204 should be treated similar to 304, that is we must not
...
expect (nor read) any response-body
2002-01-07 14:57:18 +00:00
Daniel Stenberg
d9a7773011
added precautions to not go insane when two matching cookies end up in the
...
cookie list, even though they're not supposed to do that...
2002-01-07 14:56:15 +00:00
sm
2b14916813
Add hash and llist to VC dsp file
2002-01-04 23:48:28 +00:00
sm
1d1530e14c
Add hash and llist to VC makefile
2002-01-04 23:47:07 +00:00
Daniel Stenberg
5a0f0023cf
replaced printf() => Curl_sendf()
2002-01-04 09:53:39 +00:00
Daniel Stenberg
6dcdb8b821
removed a commented line
2002-01-04 09:53:10 +00:00
Daniel Stenberg
781f52a287
fixed an inet_ntoa() occurance to use inet_ntoa_r() if it is available.
...
I also replaced all printf() calls with calls to Curl_failf()
2002-01-04 09:52:44 +00:00
Daniel Stenberg
f75ff58b4b
an unconditional occurance of inet_ntoa() now uses inet_ntoa_r() on all
...
platforms that have such a function.
This affects multi-thread running libcurls on IPv4 systems that have VERBOSE
switched on. The previous version was risking that another thread overwrote
the data before it was read out in this thread. There could possibly also
be a slight risk that the data isn't zero terminated for a short while and
thus could cause the thread to crash...
2002-01-04 09:38:52 +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
8b6314ccfb
merged the multi-dev branch back into MAIN again
2002-01-03 15:01:22 +00:00
Daniel Stenberg
6de7dc5879
Sterling Hughes' provided initial DNS cache source code.
2002-01-03 10:22:59 +00:00
Daniel Stenberg
6aaee5f23b
minor changes
2002-01-03 09:43:17 +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
8a9098a36c
*cool* fix by Bjrn Stenberg, makes proxy transfers work better...! :-)
2001-12-20 15:58:22 +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
af6c394785
Gtz Babin-Ebell's OpenSSL ENGINE patch
2001-12-17 23:01:39 +00:00
Daniel Stenberg
2eb355733f
Marcus Webster's newly added CURLFORM_CONTENTHEADER
2001-12-14 12:59:16 +00:00
Daniel Stenberg
e66cdacb93
minor changes
2001-12-13 07:16:27 +00:00
Daniel Stenberg
c67f2da283
solaris 2.5.1 needs the sys/types.h file before the sys/socket.h
2001-12-11 15:08:27 +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
47e67eab26
corrected the comment above gmtime_r
2001-12-07 15:56:57 +00:00
Daniel Stenberg
650b95045d
added gmtime_r check
2001-12-07 15:51:59 +00:00
Daniel Stenberg
7b832e1745
Jon Travis suggested fix. when CURLOPT_HTTPGET is used we must assign
...
set.upload to FALSE or else we might still get an upload if the previous
operation was an upload!
2001-12-05 06:47:01 +00:00
Daniel Stenberg
436d147925
Eric's #include fixes for better macos compiles
2001-12-04 13:03:08 +00:00
Daniel Stenberg
7ee6a9dc25
i'm soooo funny
2001-12-04 09:14:41 +00:00
Daniel Stenberg
d52c0b6f05
more comments
2001-12-04 07:47:21 +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
7493db2338
Eric nailed a but in strnequal() for macintosh
2001-12-03 12:57:45 +00:00
Daniel Stenberg
c16c017f8b
more careful re-use of connections when SSL is used over proxies
2001-12-02 14:16:34 +00:00
Daniel Stenberg
2f03ef39d1
SM renamed the debug DLL
2001-12-02 12:09:00 +00:00
Daniel Stenberg
533c24a471
disabling EPSV is now possible
2001-11-29 12:49:10 +00:00
Daniel Stenberg
6a9697387a
stdin is file descriptor 0
2001-11-29 12:48:08 +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
cfdcf5c933
fill memory with junk on malloc()
2001-11-28 23:19:17 +00:00
Daniel Stenberg
a32cd520bd
more more more MORE
2001-11-28 16:00:18 +00:00
Daniel Stenberg
b93a60daf9
the perform "state machine" is more explained now
2001-11-28 15:46:25 +00:00
Daniel Stenberg
e2844f5e04
mods
2001-11-28 15:25:01 +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
15a56b42d6
used in the new multi interface, not yet actually part of libcurl but
...
added to CVS to make them available to others
2001-11-28 11:09:18 +00:00
Daniel Stenberg
dccc77a325
Eric Lavigne updates
2001-11-27 07:27:32 +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
f0ee7115d3
Andrs Garca's minor fix to make it compile on win32
2001-11-23 09:04:56 +00:00
Daniel Stenberg
0e7203be89
this fix seems to make the connect fail properly even on IPv4-only Linux
...
machines!
2001-11-22 13:57:00 +00:00
Daniel Stenberg
1c8da21083
Eric fixed a wild write
2001-11-22 09:40:34 +00:00
Daniel Stenberg
8f304d8167
Eric found a missing comma!!
2001-11-22 09:39:03 +00:00
sm
30a0bd9cf5
Fixed release-ssl build
2001-11-22 00:12:48 +00:00
Daniel Stenberg
d1ea596f88
SM added connect.obj
2001-11-21 23:10:55 +00:00
Daniel Stenberg
17b18bca3c
added error text for a failed connect case
2001-11-21 22:57:42 +00:00
Daniel Stenberg
ca0fd33d2d
Georg Horn's STARTTRANSFER_TIME patch
2001-11-20 15:00:50 +00:00
Daniel Stenberg
b0130e6b3b
use the ws2_32.lib now (Miklos Nemeth reporteD)
2001-11-19 20:09:02 +00:00
Daniel Stenberg
d0c1f3e25b
long port => int port, as the c source uses! (Miklos Nemeth found this)
2001-11-19 20:08:01 +00:00
Daniel Stenberg
b244710ddb
Miklos Nemeth pointed out the missing connect.obj
2001-11-19 20:06:29 +00:00
Daniel Stenberg
e6dd4a6456
Klevtsov Vadim's time condition fix
2001-11-16 11:21:50 +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
b8ff21124a
Samuel Listopad's fix to allow global_init => global_cleanup => global_init
...
for ssl
2001-11-14 07:11:39 +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
c2479ccb7a
my proxytunnel fix accidentally ruined the normal https connects
2001-11-13 08:34:24 +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
92aedf850e
made Curl_tvdiff round the diff better and make the subtraction before
...
the multiply to not wrap-around
2001-11-12 22:10:09 +00:00
Daniel Stenberg
05f3ca880f
made CURLOPT_HTTPPROXYTUNNEL work for plain HTTP as well
2001-11-12 14:08:41 +00:00
Daniel Stenberg
a18d41a463
include setup.h
2001-11-12 10:19:36 +00:00
Daniel Stenberg
1affbff8f9
new Curl_ConnectHTTPProxyTunnel() function, needs a **lot** of testing!!!
2001-11-12 09:47:09 +00:00
Daniel Stenberg
c55d0bb804
We need at least one millisecond to calculate current speed with! I also
...
made the getinfo() stuff divide with 1000.0 now to enforce floating point
since Paul Harrington claims the 7.9.1 still uses even second resolution
in the timers there
2001-11-12 08:50:59 +00:00
Daniel Stenberg
0ffec712e1
Marcus Webster reported and fixed this read-one-byte-too-many problem...
2001-11-08 15:06:58 +00:00
Daniel Stenberg
fe3a78ab19
we use signal() to ignore signals only as long as we have to, and we now
...
restore the previous (if any) signal handler properly on return.
2001-11-07 14:13:29 +00:00
Daniel Stenberg
1a984ea847
get the previous struct keep_sigact
2001-11-07 12:56:13 +00:00
Daniel Stenberg
2a0cde3041
adjusted after Ramana Mokkapati's comments
2001-11-07 09:39:49 +00:00
Daniel Stenberg
2e32d415c0
myalarm() is history, we now use HAVE_ALARM and we now do our very best to
...
1 - restore the previous sigaction struct as soon as we are about to shut
off our timeout
2 - restore the previous alarm() timeout, in case an application or similar
had it running before we "borrowed" it for a while.
No, this does not fix the multi-thread problem you get with alarm(). This
patch should correct bug report #478780 :
//sourceforge.net/tracker/?func=detail&atid=100976&aid=478780&group_id=976
If not, please post details!
2001-11-06 19:33:13 +00:00
Daniel Stenberg
2f77b0a4c6
we can now tell ssl to use TLSv1 protocol, and we now use defines instead
...
of real integers for versions, the defines are added to curl.h
2001-11-05 14:06:42 +00:00
Daniel Stenberg
08ad385e0e
Ramana Mokkapati did some good bug hunting, and we these fixes ldap transfers
...
should work a lot better!
2001-11-05 14:04:57 +00:00
Daniel Stenberg
5623e0bb0e
corrected the Curl_tvnow prototype (-Wstrict-prototypes found it)
2001-11-05 12:37:22 +00:00
Daniel Stenberg
3d438d8d64
Curl_ftpsendf() had wrong return type
2001-11-05 12:24:21 +00:00
Daniel Stenberg
f5ba174f4d
John Lask's new makefile
2001-11-05 11:56:26 +00:00
Daniel Stenberg
4163b86cd2
failf() now only overwrites the error buffer the first time it gets called
...
for each *_perform(). It makes things a lot easier, as the first one that
detects the error get to write the final error reason...
2001-11-02 22:30:34 +00:00
Daniel Stenberg
dc82f9e6df
Replaced read() and write() with recv() and send() for socket operations
...
even under normal unixes.
2001-11-02 13:04:23 +00:00
Daniel Stenberg
c6caa9fd60
Added connect.c. I really need someone to better maintain this makefile...
2001-11-02 08:32:38 +00:00
Daniel Stenberg
c84ad40ccd
Jrn added connect.c
2001-11-02 08:32:13 +00:00
Daniel Stenberg
9b6545c479
ConnectionExists() now returns FALSE immediately if it finds a connection
...
that is dead, because it can only find one entry anyway and if that is dead
there won't be any other entry that matches
2001-11-01 13:54:32 +00:00
Daniel Stenberg
96fb118251
added comments and function headers
2001-11-01 12:47:22 +00:00
Daniel Stenberg
617d6eb7ce
Update the byte counters in the loop so that aborted transfers have the
...
information as well. Improves debug outputs etc.
2001-11-01 12:18:53 +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
c4f1a9f690
Removed the SocketIsDead() stuff for SSL again as it doesn't work. We must
...
rely on the new go-ahead-and-try mechanism that I just added to Transfer()
2001-10-31 15:14:52 +00:00
Daniel Stenberg
542055074b
If Curl_do() fails with CURLE_WRITE_ERROR on a re-used connection, this
...
new logic can retry the same operation on a new connection!
2001-10-31 15:13:19 +00:00
Daniel Stenberg
7b93348aae
Curl_sendf now returns a CURLcode
2001-10-31 15:08:16 +00:00
Daniel Stenberg
eaf475b538
return type cleanup
2001-10-31 15:07:45 +00:00
Daniel Stenberg
4118c68df1
check Curl_ftpsendf return codes
2001-10-31 15:06:38 +00:00
Daniel Stenberg
69d5d88259
Added better checking of return codes when we send data to sockets/connections
2001-10-31 14:57:00 +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
Daniel Stenberg
6878c0b88f
check return code when issuing the request
2001-10-31 14:48:10 +00:00
Daniel Stenberg
bbdc9f15e7
added typecasts to make the timers calculate with doubles, not longs as they
...
accidentally did after the Curl_tvdiff() interface change
2001-10-31 14:45:47 +00:00
Daniel Stenberg
b07e2a08f9
nonblock => Curl_nonblock, remade the check for a live SSL connection (again)
2001-10-31 08:44:11 +00:00
Daniel Stenberg
dbd32278f8
Added an additional SSL check for a dead socket before we re-use an SSL
...
connection. The simple socket-check is not enough in these cases.
2001-10-30 15:21:45 +00:00
Daniel Stenberg
6d35984286
prevent strdup()ing NULL -- Paul Harrington's report
2001-10-30 12:08:17 +00:00
Daniel Stenberg
c9954d1941
added curl_formadd
2001-10-29 13:28:44 +00:00
Daniel Stenberg
e165332211
minor fix to support multiple files in one formadd() call
2001-10-29 13:21:25 +00:00
Daniel Stenberg
42a9d96fae
fixed conn->name error on connection re-use and enlarged the 'gname' array
...
to hold 512 bytes (for user+password+hostname)
2001-10-29 10:10:21 +00:00
Daniel Stenberg
3edd9b4dfc
SM's waitconnect return code fix!
2001-10-29 07:49:57 +00:00
Daniel Stenberg
babb985f1a
made 'timespent' a double, which makes more accurate calculations for quick
...
downloads
2001-10-26 11:25:03 +00:00
Daniel Stenberg
d733061873
bug report #474568 -
...
We need to set "no further data to download" before the Curl_ldap() function
returns, as otherwise it'll hang on that assumed transfer.
2001-10-25 08:28:29 +00:00
Daniel Stenberg
c6822f5a7f
T. Bharath found this memory leak. It occurs when we replace an internally
...
already existing cookie with a new one.
2001-10-24 11:36:55 +00:00
Daniel Stenberg
4e276b1b68
pack_hostent() now aligns the data properly on 64bit boundaries to work on
...
more CPU architectures
2001-10-23 12:11:43 +00:00
Daniel Stenberg
b585f411cd
make sure the connect can't return OK but return a NULL as addr
2001-10-22 12:52:25 +00:00
Daniel Stenberg
29b76a52fb
failed transfers will now close the connection
2001-10-22 06:34:14 +00:00
Daniel Stenberg
4e37187e44
now counts header size return from server and if nothing is returned from a
...
HTTP server we return error
2001-10-19 11:58:32 +00:00
Daniel Stenberg
74d5a6fb3b
curl_easy_duphandle() now properly clones the cookie option
...
- patch by T. Bharath
2001-10-19 11:57:50 +00:00
Daniel Stenberg
45cc78fdbc
CURLOPT_FAILONERROR now only returns error if the HTTP code is 400 or above
...
unconditionalliy. Previously, the code check was for >= 300 unless follow-
location was enabled...
2001-10-19 06:27:24 +00:00
Daniel Stenberg
010044e03c
the malloc debug system only logs data if the logfile FILE * is set, which
...
makes it easier to disable debug output when built with debug functions
2001-10-17 12:33:35 +00:00
Daniel Stenberg
db0e3cc60c
call Curl_done() in Curl_perform() after Transfer() was called, even it it
...
returned an error as there might be stuff in there we must free/cleanup.
This fixes the memory leak Yanick Pelletier posted about 16 Oct 2001
2001-10-17 12:24:51 +00:00
Daniel Stenberg
92abbcef4c
Kevin Roth's cygwin adjustment
2001-10-16 07:59:43 +00:00
Daniel Stenberg
532bca41e5
Curl_tvdiff() now returns a millisecond diff, no double like before
2001-10-12 12:32:20 +00:00
Daniel Stenberg
b438c46764
progress meter fixes
2001-10-12 12:31:43 +00:00
Daniel Stenberg
ef48c73783
extensively commented source code, parts refreshened, the "current speed" is
...
now more accurate since it is based on actual spent time without the
assumptions from before
2001-10-12 12:31:06 +00:00
Daniel Stenberg
2c5e416591
better check for absolute URL redirects, adjusted to new Curl_tvdiff() proto
2001-10-12 12:30:06 +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
f2a25966cf
cookiejar now enables the cookie engine
2001-10-10 12:48:32 +00:00
Daniel Stenberg
a9181f8f00
added the option CURLOPT_HTTP_VERSION that can specify which HTTP version
...
libcurl should use in its request
2001-10-09 06:52:37 +00:00
Daniel Stenberg
3685f792cb
ignore SIGPIPE, as that can be actually get sent when we write to a socket
2001-10-09 06:23:26 +00:00
Daniel Stenberg
7b5b60d275
hm, an unknown error from bind() when binding the outgoing socket would
...
failf("%d") without the error as argument... it would always make a weird
number get output
2001-10-08 06:56:00 +00:00
Daniel Stenberg
e719f4169c
corrected cookie-jar comment
2001-10-08 06:43:22 +00:00
Daniel Stenberg
fdeaae678d
SM's patch applied, we should not use arguments or variables that have the
...
same name as common functions...
2001-10-05 06:05:56 +00:00
sm
a27ac6f394
VC ID project now uses ws2_32.lib - fixes compile under win32
2001-10-05 02:29:47 +00:00
sm
093c0a098e
Makefile.vc6 changed to include connect.c
2001-10-05 02:27:26 +00:00
Daniel Stenberg
47def8091c
made sure the correct pieces of code are compiled on IPv4-only hosts, and
...
the pack_hostent() is only compiled if gethostbyname_r() isn't present.
2001-10-04 13:36:11 +00:00
Daniel Stenberg
5d9ae88f58
getaddrinfo() cleanups
2001-10-04 13:25:12 +00:00
Daniel Stenberg
9d066935e5
Keith McGuigan's excellent fix that makes a cloned copy of the hostent struct
...
for when gethostbyname() is used so that we have the memory of the struct
allocated. This turns out to be needed if the curl handled is passed between
threads on Windows and possibly other operating systems where we use that
function.
2001-10-03 21:42:04 +00:00
Daniel Stenberg
64f00454e5
hm, I edited away the fine functionality and with this edit test case 9
...
is once again running OK
2001-10-03 09:31:16 +00:00
Daniel Stenberg
66087bdac6
Georg Huettenegger's curl_formadd fixes
2001-10-03 07:54:42 +00:00
Daniel Stenberg
72dbe9da72
praise Bjorn Reese for mastering these dusty corners of socket hacking, now
...
we check for the error state before believing we are connected in IPv6
cases
2001-10-02 17:18:46 +00:00
Daniel Stenberg
dd02881788
added port number in informational connect message
2001-10-02 12:51:15 +00:00
Daniel Stenberg
ced8955325
IPv6 adjustments, connect()ing to bad ports still don't work properly for
...
IPv6
2001-10-02 11:26:53 +00:00
Daniel Stenberg
51ca5fcbe0
major connecting updates
2001-10-02 09:40:06 +00:00
Daniel Stenberg
56ff2aa059
pick the correct timeout before the connecthost call
2001-10-01 23:25:59 +00:00
Daniel Stenberg
9f77771ff9
faster bailout on timeouts
2001-10-01 23:25:26 +00:00
Daniel Stenberg
f0fa858885
added comment to the tvdiff
2001-10-01 22:50:20 +00:00
Daniel Stenberg
3298630500
removed warning
2001-10-01 22:50:03 +00:00
Daniel Stenberg
dc27488c47
corrected for IPv6
2001-10-01 22:42:46 +00:00
Daniel Stenberg
6918427fae
conn->hp is now conn->hostaddr
...
changed the Curl_connethost() proto again
2001-10-01 22:32:37 +00:00
Daniel Stenberg
9d342bbf07
sessionhandle->hp => hostaddr
2001-10-01 22:31:43 +00:00
Daniel Stenberg
afc81ada0c
renamed the stupid 'hp' to 'hostaddr' which actually says what it is
2001-10-01 22:31:10 +00:00
Daniel Stenberg
5cd267b2be
removed obsoletetd myalarm() calls
2001-10-01 11:35:29 +00:00
Daniel Stenberg
09da90076f
moved the myalarm() usage, and now makes sure to switch it off after the
...
name resolving, as that should be the *ONLY* section in libcurl that may
take a while in a synchronous call.
2001-10-01 11:27:39 +00:00
Daniel Stenberg
d0079d9054
fixed the connecthost proto: added the timeout argument
2001-10-01 11:26:21 +00:00
Daniel Stenberg
ede5b54edc
corrected the #include files
2001-10-01 11:25:27 +00:00
Daniel Stenberg
c5fdeef41d
introduced non-blocking connects
2001-10-01 08:59:17 +00:00
Daniel Stenberg
e9aa07f660
filetime should be -1 if the remote time was unknown as 0 is actually a
...
valid time. we now store the filetime as a long to know for sure it can
hold -1 (there exist some unsigned time_t cases)
2001-09-28 11:04:43 +00:00
Daniel Stenberg
88e21894c7
improved readability slightly
2001-09-28 09:25:59 +00:00
Daniel Stenberg
09da2c1767
fixed the missing getftpresponse edits
2001-09-28 09:19:35 +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
598e8dfbfb
Now we're setting a default domain for received cookies so that we can
...
properly match those cookies in subsequent requests
2001-09-26 07:08:29 +00:00
Daniel Stenberg
8d16b2b119
winsock 2 fixes
2001-09-25 07:55:19 +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
645413f5ef
Lots of praise and glory to Vojtech Minarik for setting up a test server
...
and providing me with test-certificates that helped me nail the problem with
curl not discovering with a bad certificate was used.
2001-09-19 21:49:11 +00:00
Daniel Stenberg
b556d6caee
fixed bug report #462600 , following a Location: when the initial URL didn't
...
have a protocol:// part did wrong
2001-09-18 18:33:25 +00:00
Daniel Stenberg
a17a78c477
removed Curl_http_close()
2001-09-18 15:30:59 +00:00
Daniel Stenberg
146413a53c
the stuff formerly done in Curl_http_close is now done in Curl_close
2001-09-18 15:30:38 +00:00
Daniel Stenberg
437fd064c9
modified GetLine(), removed Curl_http_close()
2001-09-18 15:29:57 +00:00
Daniel Stenberg
d816fcc965
Linus Nielsen Feltzing changed winsock lib for linking
2001-09-17 14:38:41 +00:00
Daniel Stenberg
e30dcd0501
Linus Nielsen Feltzing's telnet-for-win32 fixes
2001-09-17 14:10:38 +00:00
Daniel Stenberg
0e25cf41c4
modified error message when PWD fails
2001-09-14 12:18:46 +00:00
Daniel Stenberg
aa4ff6d8b9
Added curl_easy_duphandle
2001-09-13 14:49:35 +00:00
Daniel Stenberg
6d5b8b50e1
minor informatinal output changes
2001-09-13 12:52:58 +00:00
Daniel Stenberg
2cb893575d
moved a 100K buffer from the transfer loop to the urlstate struct, as it
...
seriously decreases the amount of used stack space
2001-09-12 12:02:12 +00:00
Daniel Stenberg
36e9507e29
reverted. twas no memory leak and the "fix" didn't even compile on windows...
2001-09-12 08:59:00 +00:00
Daniel Stenberg
1fde1431c9
narrowed some source lines to fit in 80 cols
2001-09-12 08:14:35 +00:00
Daniel Stenberg
bec97a0999
ConnectionKillOne() _can_ return -1 as an indication of error
...
This is T. Bharath's fix
2001-09-12 08:00:30 +00:00
Daniel Stenberg
07de3c9df0
T. Bharath's patch that sets up a few necessary buffers in the duphandle()
...
function
2001-09-12 07:57:33 +00:00
Daniel Stenberg
8950a2dfa1
*TERRIBLE* terrible memory leak occuring on all systems that have no
...
gethostbyname_r() function, most notably windows machines...
2001-09-12 07:19:11 +00:00
Daniel Stenberg
a2c78607a6
CURLOPT_SSL_CIPHER_LIST support
2001-09-11 22:23:16 +00:00
Daniel Stenberg
cc1a4edf3d
added cipher_list
2001-09-11 22:21:26 +00:00
Daniel Stenberg
db7bde1d7a
added ability to set prefered list of ciphers
2001-09-11 22:21:02 +00:00
Daniel Stenberg
894b47da9b
ouputs the start and expire dates of the server certificate on verbose
...
output
2001-09-11 10:00:49 +00:00
Daniel Stenberg
3f5227dfc7
Curl_cookie_output() must check that there's a cookie struct present before
...
trying to address it!
2001-09-10 07:43:08 +00:00
Daniel Stenberg
46372c04ee
made it compile properly when not building with SSL support
2001-09-07 09:40:46 +00:00
Sterling Hughes
6147879837
Added formatting sections for emacs and vim
2001-09-07 04:01:32 +00:00
Sterling Hughes
e2e3c95d3b
fix for emacs
2001-09-07 03:30:30 +00:00
Daniel Stenberg
c3b448dcea
moved the session ID cache state variables into the UrlState struct within
...
the SessionHandle. It was previously wrongly put in UserDefined
2001-09-06 08:32:01 +00:00
Daniel Stenberg
86da31e031
Curl_SSL_Close_All() now checks that we have a session cache before we run
...
around killing entries in it!
2001-09-06 06:26:24 +00:00
Daniel Stenberg
610ec27d93
first shaky and stumbling attempts at a *_duphandle() function
2001-09-05 07:24:01 +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
144459d364
corrected the comment to be valid chunk format
2001-09-03 12:51:23 +00:00
Daniel Stenberg
bae1a75731
use the LIBCURL_NAME instead of the "hardcoded" string
2001-09-03 07:01:49 +00:00
Daniel Stenberg
67df4c9e6c
removed unused #defines
2001-09-01 10:20:12 +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
26983053c4
take port numbers into account when finding a previous session from the
...
cache
2001-08-29 09:36:41 +00:00