Daniel Stenberg [Thu, 11 May 2006 21:37:58 +0000 (21:37 +0000)]
Ok, when checking for old-style SSLeay headers we cannot just use
AC_CHECK_HEADERS() and the action-if-found since that action is run even if
just one of the six headers is found and I just now fell over a case with
a duplicate file name (a krb4 implementation with an err.h file).
I converted the check to manually make sure three of the headers are present
before considering them fine.
Daniel Stenberg [Thu, 11 May 2006 06:34:30 +0000 (06:34 +0000)]
1 - allow much longer time for the test FTP server to startup and get verified
2 - store the time it took to verify it and allow that time to be used as
%FTPTIME[23] in command lines to allow us to adjust better to slow hosts
since test 190 failed on my slow solaris machine just because it hadn't
gotten time to run all the way the test assumed all machines would reach
before the time-out elapsed.
Daniel Stenberg [Wed, 10 May 2006 22:17:42 +0000 (22:17 +0000)]
David McCreedy provided a fix for CURLINFO_LASTSOCKET that does extended
checks on the to-be-returned socket to make sure it truly seems to be alive
and well. For SSL connection it (only) uses OpenSSL functions.
Daniel Stenberg [Wed, 10 May 2006 21:38:46 +0000 (21:38 +0000)]
My Solaris test server was simply too slow to be able to respond within 4
seconds even when everything is fine! Now we allow a test server 8 seconds
to respond to still be considered ok.
Daniel Stenberg [Wed, 10 May 2006 11:44:31 +0000 (11:44 +0000)]
1 - allow DICT with properly URL-escaped words, like using %20 for spaces
2 - properly escape certain letters within a DICT word to comply to the RFC2229
Daniel Stenberg [Wed, 10 May 2006 08:03:54 +0000 (08:03 +0000)]
Bram Matthys brought my attention to a libtool peculiarity where detecting
things such as C++ compiler actually is a bad thing and since we don't need
that detection I added a work-around, much inspired by a previous patch by
Paolo Bonzini. This also shortens the configure script quite a lot.
Daniel Stenberg [Tue, 9 May 2006 12:56:35 +0000 (12:56 +0000)]
Andreas Ntaflos reported a bug in libcurl.m4: When configuring my GNU
autotools project, which optionally (default=yes) uses libcurl on a system
without a (usable) libcurl installation, but not specifying
`--without-libcurl', configure determines correctly that no libcurl is
available, however, the LIBCURL variable gets expanded to `LIBCURL = -lcurl'
in the resulting Makefiles.
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