Daniel Stenberg [Tue, 9 May 2006 12:43:49 +0000 (12:43 +0000)]
Robson Braga Araujo fixed two problems in the recently added non-blocking SSL
connects. The state machine was not reset properly so that subsequent
connects using the same handle would fail, and there were two memory leaks.
Daniel Stenberg [Tue, 9 May 2006 11:33:00 +0000 (11:33 +0000)]
Robson Braga Araujo fixed a memory leak when you added an easy handle to a
multi stack and that easy handle had already been used to do one or more
easy interface transfers, as then the code threw away the previously used
DNS cache without properly freeing it.
Dan Fandrich [Mon, 8 May 2006 19:41:26 +0000 (19:41 +0000)]
Stop sending retransmitted received blocks up to client
Fixed handling of retransmitted blocks on transmit
Properly aligned data to transmit within packet
Replaced calls to strerror() with Curl_strerror()
Daniel Stenberg [Fri, 5 May 2006 22:14:40 +0000 (22:14 +0000)]
Curl_https_getsock() was OpenSSL-specific and really should not be present
like this in this source file. The quickfix for now is to provide a simple
version for GnuTLS builds. The GnuTLS version of libcurl doesn't yet allow
fully non-blocking connects anyway so this function doesn't get used.
Daniel Stenberg [Thu, 4 May 2006 22:39:47 +0000 (22:39 +0000)]
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.
Daniel Stenberg [Thu, 4 May 2006 06:00:40 +0000 (06:00 +0000)]
Mark Eichin submitted bug report #1480821
(http://curl.haxx.se/bug/view.cgi?id=1480821) He found and identified a
problem with how libcurl dealt with GnuTLS and a case where gnutls returned
GNUTLS_E_AGAIN indicating it would block. It would then return an unexpected
return code, making Curl_ssl_send() confuse the upper layer - causing random
28 bytes trash data to get inserted in the transfered stream.
The proper fix was to make the Curl_gtls_send() function return the proper
return codes that the callers would expect. The Curl_ossl_send() function
already did this.
Daniel Stenberg [Wed, 3 May 2006 06:11:44 +0000 (06:11 +0000)]
Nick Mathewson added the ARES_OPT_SOCK_STATE_CB option that when set makes
c-ares call a callback on socket state changes. A better way than the
ares_getsock() to get full control over the socket state.
Daniel Stenberg [Tue, 25 Apr 2006 20:49:40 +0000 (20:49 +0000)]
Paul Querna fixed libcurl to better deal with deflate content encoding when
the stream (wrongly) lacks a proper zlib header. This seems to be the case on
too many actual server implementations.
Daniel Stenberg [Wed, 19 Apr 2006 11:11:10 +0000 (11:11 +0000)]
detect ICC and pass on "-we 147" so that the configure checks for function
arguments work properly - and the option is not harmful for the rest of the
curl build either!
Daniel Stenberg [Tue, 18 Apr 2006 23:14:30 +0000 (23:14 +0000)]
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.
Daniel Stenberg [Tue, 11 Apr 2006 10:49:51 +0000 (10:49 +0000)]
#1468330 (http://curl.haxx.se/bug/view.cgi?id=1468330) pointed out a bad
typecast in the curl tool leading to a crash with (64bit?) VS2005 (at least)
since the struct timeval field tv_sec is an int while time_t is 64bit.
Daniel Stenberg [Mon, 10 Apr 2006 21:49:55 +0000 (21:49 +0000)]
Ates Goral found out that if you specified both CURLOPT_CONNECTTIMEOUT and
CURLOPT_TIMEOUT, the _longer_ time would wrongly be used for the SSL
connection time-out!
Daniel Stenberg [Mon, 10 Apr 2006 13:11:52 +0000 (13:11 +0000)]
if configure found a fork(), sws supports --fork which is *NOT* used by the
ordinary test suite. Also removed the perror() calls and instead made the
logging output the errno code to ease error tracking using logs.
Daniel Stenberg [Mon, 10 Apr 2006 13:03:20 +0000 (13:03 +0000)]
Scan for 'stunnel4' before 'stunnel' since debian have them setup this way
and it should break most other systems. The "funny" part is that debian
actually have a 'stunnel' setup to simulate stunnel v3 but it breaks our own
stunnel-version-detect-and-adjust-to-it system.
Added initial support for optionally running servers with fork support.
Daniel Stenberg [Mon, 10 Apr 2006 08:24:57 +0000 (08:24 +0000)]
33. Doing multi-pass HTTP authentication on a non-default port does not work.
This happens because the multi-pass code abuses the redirect following code
for doing multiple requests, and when we following redirects to an absolute
URL we must use the newly specified port and not the one specified in the
original URL. A proper fix to this would need to separate the negotiation
"redirect" from an actual redirect.
Daniel Stenberg [Fri, 7 Apr 2006 12:10:34 +0000 (12:10 +0000)]
minor re-arrange to return a value in order to avoid compiler warnings
for not returning a value from a non-void function (even though the code
never actually reached that point before)
Daniel Stenberg [Fri, 7 Apr 2006 11:47:21 +0000 (11:47 +0000)]
added typedefed function pointers and typecast the NULL assignments in an
attempt to silence picky compilers when assigning data pointers to a function
pointer variable
Daniel Stenberg [Wed, 5 Apr 2006 12:35:48 +0000 (12:35 +0000)]
Michele Bini modified the NTLM code to work for his "weird IIS case"
(http://curl.haxx.se/mail/lib-2006-02/0154.html) by adding the NTLM hash
function in addition to the LM one and making some other adjustments in the
order the different parts of the data block are sent in the Type-2 reply.
Inspiration for this work was taken from the Firefox NTLM implementation.
I edited the existing 21(!) NTLM test cases to run fine with these news. Due
to the fact that we now properly include the host name in the Type-2 message
the test cases now only compare parts of that chunk.
Daniel Stenberg [Tue, 28 Mar 2006 08:03:25 +0000 (08:03 +0000)]
#1451929 (http://curl.haxx.se/bug/view.cgi?id=1451929) detailed a bug that
occurred when asking libcurl to follow HTTP redirects and the original URL had
more than one question mark (?). Added test case 276 to verify.
Daniel Stenberg [Mon, 27 Mar 2006 21:59:40 +0000 (21:59 +0000)]
David Byron found a problem multiple -d options when libcurl was built with
--enable-debug, as then curl used free() on memory allocated both with
normal malloc() and with libcurl-provided functions, when the latter MUST be
freed with curl_free() in debug builds.
Daniel Stenberg [Sun, 26 Mar 2006 08:52:43 +0000 (08:52 +0000)]
Tor Arntsen figured out that TFTP was broken on a lot of systems since we
called bind() with a too big argument in the 3rd parameter and at least
Tru64, AIX and IRIX seem to be very picky about it.
Dan Fandrich [Mon, 20 Mar 2006 22:15:22 +0000 (22:15 +0000)]
Fixed a bug whereby a received file whose length was a multiple of
512 bytes could have random garbage appended. Also, stop processing TFTP
packets which are too short to be legal.