Daniel Stenberg [Sat, 24 Jun 2006 15:21:49 +0000 (15:21 +0000)]
Provide a libcurl API for setting mutex callbacks in the underlying SSL
library, so that the same application code can use mutex-locking
independently of OpenSSL or GnutTLS being used.
Daniel Stenberg [Fri, 23 Jun 2006 22:07:06 +0000 (22:07 +0000)]
Arve Knudsen found a flaw in curl_multi_fdset() for systems where
curl_socket_t is unsigned (like Windows) that could cause it to wrongly
return a max fd of -1.
Daniel Stenberg [Thu, 22 Jun 2006 21:36:53 +0000 (21:36 +0000)]
Peter Silva introduced CURLOPT_MAX_SEND_SPEED_LARGE and
CURLOPT_MAX_RECV_SPEED_LARGE that limit tha maximum rate libcurl is allowed
to send or receive data. This kind of adds the the command line tool's
option --limit-rate to the library.
The rate limiting logic in the curl app is now removed and is instead
provided by libcurl itself. Transfer rate limiting will now also work for -d
and -F, which it didn't before.
William Ahern [Mon, 19 Jun 2006 06:41:55 +0000 (06:41 +0000)]
Remove "big endian" DNS section and RR data integer parser macros from
ares_dns.h, which break c-ares on my Sparc64. Bit-wise operations in C
operate on logical values. And in any event the octets are already in
big-endian (aka network) byte order so they're being reversed (thus the
source of the breakage).
Dan Fandrich [Mon, 12 Jun 2006 20:33:04 +0000 (20:33 +0000)]
Implemented --enable-hidden-symbols configure option to enable
-fvisibility=hidden on gcc >= 4.0. This reduces the size of the libcurl
binary and speeds up dynamic linking by hiding all the internal symbols from
the symbol table.
Daniel Stenberg [Sat, 27 May 2006 22:25:55 +0000 (22:25 +0000)]
Ifdef'ed out unused function, added lots of comments and renamed a few
variables, simplified the splayprint function, modified
Curl_splayremovebyaddr() to return error code. All in an effort to track down
the reported splay problem, but I've failed to do that so far...
Daniel Stenberg [Sat, 27 May 2006 11:36:05 +0000 (11:36 +0000)]
reverted the previous .libs check for libs, but instead make mingw32 builds
more similar to other configure builds (== use .la for libext and no binext)
Daniel Stenberg [Thu, 25 May 2006 23:04:20 +0000 (23:04 +0000)]
Olaf Stüben fixed a bug that caused Digest authentication with md5-sess to
fail. When using the md5-sess, the result was not Md5 encoded and Base64
transformed.
Daniel Stenberg [Wed, 24 May 2006 22:46:38 +0000 (22:46 +0000)]
Michael Wallner provided a patch that allows "SESS" to be set with
CURLOPT_COOKIELIST, which then makes all session cookies get cleared. (slightly
edited by me, and the re-indent in cookie.c was also done by me)
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.