Daniel Stenberg [Tue, 3 Feb 2009 22:28:41 +0000 (22:28 +0000)]
- Hidemoto Nakada provided a small fix that makes it possible to get the
CURLINFO_CONTENT_LENGTH_DOWNLOAD size from file:// "transfers" with
CURLOPT_NOBODY set true.
Daniel Stenberg [Mon, 2 Feb 2009 21:36:47 +0000 (21:36 +0000)]
- Patrick Scott found a rather large memory leak when using the multi
interface and setting CURLMOPT_MAXCONNECTS to something less than the number
of handles you add to the multi handle. All the connections that didn't fit
in the cache would not be properly disconnected nor freed!
Daniel Stenberg [Mon, 2 Feb 2009 16:19:23 +0000 (16:19 +0000)]
- Craig A West brought us: libcurl now defaults to do CONNECT with HTTP
version 1.1 instead of 1.0 like before. This change also introduces the new
proxy type for libcurl called 'CURLPROXY_HTTP_1_0' that then allows apps to
switch (back) to CONNECT 1.0 requests. The curl tool also got a --proxy1.0
option that works exactly like --proxy but sets CURLPROXY_HTTP_1_0.
I updated all test cases cases that use CONNECT and I tried to do some using
--proxy1.0 and some updated to do CONNECT 1.1 to get both versions run.
Daniel Stenberg [Sat, 31 Jan 2009 20:25:55 +0000 (20:25 +0000)]
- When building with c-ares 1.6.1 (not yet released) or later and IPv6 support
enabled, we can now take advantage of its brand new AF_UNSPEC support in
ares_gethostbyname(). This makes test case 241 finally run fine for me wtih
this setup since it now parses the "::1 ip6-localhost" line fine in my
/etc/hosts file!
Daniel Stenberg [Sat, 31 Jan 2009 20:17:41 +0000 (20:17 +0000)]
- ares_gethostbyname() now accepts 'AF_UNSPEC' as a family for resolving
either AF_INET6 or AF_INET. It works by accepting any of the looksups in the
hosts file, and it resolves the AAAA field with a fallback to A.
Daniel Stenberg [Sat, 31 Jan 2009 18:38:41 +0000 (18:38 +0000)]
- Scott Cantor filed bug report #2550061
(http://curl.haxx.se/bug/view.cgi?id=2550061) mentioning that I failed to
properly make sure that the VC9 makefiles got included in the latest
release. I've now fixed the release script and verified it so next release
will hopefully include them properly!
Yang Tse [Thu, 29 Jan 2009 20:32:27 +0000 (20:32 +0000)]
Introduced curl_sspi.c and curl_sspi.h for the implementation of functions
Curl_sspi_global_init() and Curl_sspi_global_cleanup() which previously were
named Curl_ntlm_global_init() and Curl_ntlm_global_cleanup() in http_ntlm.c
Also adjusted socks_sspi.c to remove the link-time dependency on the Windows
SSPI library using it now in the same way as it was done in http_ntlm.c.
Yang Tse [Thu, 29 Jan 2009 14:00:18 +0000 (14:00 +0000)]
Avoid inclusion of ntsecapi.h and directly provide the KERB_WRAP_NO_ENCRYPT
definition to avoid a 'STRING' duplicate definition from OpenSSL's safestack.h
Daniel Stenberg [Wed, 28 Jan 2009 21:33:58 +0000 (21:33 +0000)]
- Markus Moeller introduced two new options to libcurl:
CURLOPT_SOCKS5_GSSAPI_SERVICE and CURLOPT_SOCKS5_GSSAPI_NEC to allow libcurl
to do GSS-style authentication with SOCKS5 proxies. The curl tool got the
options called --socks5-gssapi-service and --socks5-gssapi-nec to enable
these.
Daniel Stenberg [Mon, 26 Jan 2009 22:43:06 +0000 (22:43 +0000)]
- Chad Monroe provided the new CURLOPT_TFTP_BLKSIZE option that allows an app
to set desired block size to use for TFTP transfers instead of the default
512 bytes.
Daniel Stenberg [Mon, 26 Jan 2009 14:36:18 +0000 (14:36 +0000)]
- The "-no_ticket" option was introduced in Openssl0.9.8j. It's a flag to
disable "rfc4507bis session ticket support". rfc4507bis was later turned
into the proper RFC5077 it seems: http://tools.ietf.org/html/rfc5077
The enabled extension concerns the session management. I wonder how often
libcurl stops a connection and then resumes a TLS session. also, sending the
session data is some overhead. .I suggest that you just use your proposed
patch (which explicitly disables TICKET).
If someone writes an application with libcurl and openssl who wants to
enable the feature, one can do this in the SSL callback.
Sharad Gupta brought this to my attention. Peter Sylvester helped me decide
on the proper action.
Daniel Stenberg [Mon, 26 Jan 2009 13:19:03 +0000 (13:19 +0000)]
- Alexey Borzov filed bug report #2535504
(http://curl.haxx.se/bug/view.cgi?id=2535504) pointing out that realms with
quoted quotation marks in HTTP Digest headers didn't work. I've now added
test case 1095 that verifies my fix.
Daniel Stenberg [Sun, 25 Jan 2009 23:26:25 +0000 (23:26 +0000)]
- Craig A West brought CURLOPT_NOPROXY and the corresponding --noproxy option.
They basically offer the same thing the NO_PROXY environment variable only
offered previously: list a set of host names that shall not use the proxy
even if one is specified.
Dan Fandrich [Wed, 21 Jan 2009 04:42:47 +0000 (04:42 +0000)]
Fixed a couple more locale-dependent toupper conversions, mainly for
clarity. This does fix one problem that causes ;type=i FTP URLs
to fail in the Turkish locale when CURLOPT_PROXY_TRANSFER_MODE is
used (test case 561)
Added tests 561 and 1092 through 1094 to test various combinations
of ;type= and ;mode= URLs that could potentially fail in the Turkish
locale.
Daniel Stenberg [Wed, 14 Jan 2009 13:08:50 +0000 (13:08 +0000)]
- ares.h no longer uses the HAVE_STRUCT_IN6_ADDR define check, but instead it
now declares the private struct ares_in6_addr for all systems instead of
relying on one possibly not present in the system.
Daniel Stenberg [Tue, 13 Jan 2009 23:43:23 +0000 (23:43 +0000)]
62. CURLOPT_TIMEOUT does not work properly with the regular multi and
multi_socket interfaces. The work-around for apps is to simply remove the
easy handle once the time is up. See also:
http://curl.haxx.se/bug/view.cgi?id=2501457
Daniel Stenberg [Tue, 13 Jan 2009 22:04:43 +0000 (22:04 +0000)]
oops, the previous wasn't meant to get committed but since I did it I thought
I'd just as well enumerate the remainder and commit a "proper" looking one
Daniel Stenberg [Sun, 11 Jan 2009 23:41:50 +0000 (23:41 +0000)]
- Based on bug report #2498665 (http://curl.haxx.se/bug/view.cgi?id=2498665)
by Daniel Black, I've now added magic to the configure script that makes it
use pkg-config to detect gnutls details as well if the existing method
(using libgnutls-config) fails. While doing this, I cleaned up and unified
the pkg-config usage when detecting openssl and nss as well.
Daniel Stenberg [Sun, 11 Jan 2009 13:49:13 +0000 (13:49 +0000)]
- Phil Blundell added the internal function ares__expand_name_for_response()
that is now used by the ares_parse_*_reply() functions instead of the
ares_expand_name() simply to easier return ARES_EBADRESP for the cases where
the name expansion fails as in responses that really isn't expected.
Daniel Stenberg [Sat, 10 Jan 2009 22:10:57 +0000 (22:10 +0000)]
- Emil Romanus fixed:
When using the multi interface over HTTP and the server returns a Location
header, the running easy handle will get stuck in the CURLM_STATE_PERFORM
state, leaving the external event loop stuck waiting for data from the
ingoing socket (when using the curl_multi_socket_action stuff). While this
bug was pretty hard to find, it seems to require only a one-line fix. The
break statement on line 1374 in multi.c caused the function to skip the call
to multistate().
How to reproduce this bug? Well, that's another question. evhiperfifo.c in
the examples directory chokes on this bug only _sometimes_, probably
depending on how fast the URLs are added. One way of testing the bug out is
writing to hiper.fifo from more than one source at the same time.
Daniel Stenberg [Thu, 8 Jan 2009 22:53:37 +0000 (22:53 +0000)]
Only care about the first line of libtool --version as otherwise this script
get fooled by libtool 2, and at least libtool 1.5.2x do output the interesting
version string in the first line.
Daniel Stenberg [Thu, 8 Jan 2009 10:32:54 +0000 (10:32 +0000)]
"204 - Rob C's NSS fix" is done and since we enter feature freeze now I moved
the remaining three issues to next release since they are about new things and
not just fixing bugs
Dan Fandrich [Thu, 8 Jan 2009 00:31:49 +0000 (00:31 +0000)]
Unified much of the SessionHandle initialization done in Curl_open() and
curl_easy_reset() by creating Curl_init_userdefined(). This had the side effect
of fixing curl_easy_reset() so it now also resets CURLOPT_FTP_FILEMETHOD and
CURLOPT_SSL_SESSIONID_CACHE
Daniel Stenberg [Wed, 7 Jan 2009 14:10:35 +0000 (14:10 +0000)]
- Rob Crittenden did once again provide an NSS update:
I have to jump through a few hoops now with the NSS library initialization
since another part of an application may have already initialized NSS by the
time Curl gets invoked. This patch is more careful to only shutdown the NSS
library if Curl did the initialization.
It also adds in a bit of code to set the default ciphers if the app that
call NSS_Init* did not call NSS_SetDomesticPolicy() or set specific
ciphers. One might argue that this lets other application developers get
lazy and/or they aren't using the NSS API correctly, and you'd be right.
But still, this will avoid terribly difficult-to-trace crashes and is
generally helpful.
Daniel Stenberg [Wed, 31 Dec 2008 20:35:46 +0000 (20:35 +0000)]
- Bas Mevissen reported http://curl.haxx.se/bug/view.cgi?id=2479030 pointing
out that 'reconf' didn't properly point out the m4 subdirectory when running
aclocal.
Daniel Stenberg [Mon, 29 Dec 2008 22:25:50 +0000 (22:25 +0000)]
- Phil Lisiecki filed bug report #2413067
(http://curl.haxx.se/bug/view.cgi?id=2413067) that identified a problem that
would cause libcurl to mark a DNS cache entry "in use" eternally if the
subsequence TCP connect failed. It would thus never get pruned and refreshed
as it should've been.