Daniel Stenberg [Sat, 23 Feb 2008 12:27:45 +0000 (12:27 +0000)]
- Sam Listopad provided a patch in feature-request #1900014
http://curl.haxx.se/bug/feature.cgi?id=1900014 that makes libcurl (built to
use OpenSSL) support a full chain of certificates in a given PKCS12
certificate.
Daniel Stenberg [Thu, 21 Feb 2008 17:52:16 +0000 (17:52 +0000)]
- Zmey Petroff found a crash when libcurl accessed a NULL pointer, which
happened if you set the connection cache size to 1 and for example failed to
login to an FTP site. Bug report #1896698
(http://curl.haxx.se/bug/view.cgi?id=1896698)
Daniel Stenberg [Wed, 20 Feb 2008 09:56:26 +0000 (09:56 +0000)]
- Based on initial work done by Gautam Kachroo to address a bug, we now keep
better control at the exact state of the connection's SSL status so that we
know exactly when it has completed the SSL negotiation or not so that there
won't be accidental re-uses of connections that are wrongly believed to be
in SSL-completed-negotiate state.
Daniel Stenberg [Wed, 20 Feb 2008 08:28:02 +0000 (08:28 +0000)]
- We no longer support setting the CURLOPT_URL option from inside a callback
such as the CURLOPT_SSL_CTX_FUNCTION one treat that as if it was a Location:
following. The patch that introduced this feature was done for 7.11.0, but
this code and functionality has been broken since about 7.15.4 (March 2006)
with the introduction of non-blocking OpenSSL "connects".
It was a hack to begin with and since it doesn't work and hasn't worked
correctly for a long time and nobody has even noticed, I consider it a very
suitable subject for plain removal. And so it was done.
Gunter Knauf [Tue, 19 Feb 2008 23:10:07 +0000 (23:10 +0000)]
applied patch to disable SSLv2 by default; discussion:
http://sourceforge.net/tracker/index.php?func=detail&aid=1767276&group_id=976&atid=350976
Submitted by Kaspar Brand.
Daniel Stenberg [Mon, 18 Feb 2008 11:35:12 +0000 (11:35 +0000)]
- We're no longer providing a very old ca-bundle in the curl tarball. You can
get a fresh one downloaded and created with 'make ca-bundle' or you can get
one from here => http://curl.haxx.se/docs/caextract.html if you want a fresh
new one extracted from Mozilla's recent list of ca certs.
The configure option --with-ca-bundle now lets you specify what file to use
as default ca bundle for your build. If not specified, the configure script
will check a few known standard places for a global ca cert to use.
Daniel Stenberg [Sun, 17 Feb 2008 13:49:58 +0000 (13:49 +0000)]
- Jerome Muffat-Meridol helped me fix Curl_done() to close the current
connection by force when it was called before the entire request is
completed, simply because we can't know if the connection really can be
re-used safely at that point.
Daniel Stenberg [Sun, 17 Feb 2008 13:43:32 +0000 (13:43 +0000)]
In Curl_done() if premature is TRUE, it means this connection was said to be
DONE before the entire request operation is complete and thus we can't know in
what state it is for re-using, so we're forced to close it. In a perfect world
we can add code that keep track of if we really must close it here or not, but
currently we have no such detail knowledge.
Daniel Stenberg [Sun, 17 Feb 2008 13:40:35 +0000 (13:40 +0000)]
don't do the GOT_NOTHING error check if the DONE function was called with
premature set TRUE, which means it was done before the request comleted. It
could then very well not have received any data.
Daniel Stenberg [Fri, 15 Feb 2008 22:37:00 +0000 (22:37 +0000)]
- Made the gnutls code path not even try to get the server cert if no peer
verification is requested. Previously it would even return failure if gnutls
failed to get the server cert even though no verification was asked for.
- Fix my Curl_timeleft() leftover mistake in the gnutls code
Daniel Stenberg [Fri, 15 Feb 2008 08:56:06 +0000 (08:56 +0000)]
- Pooyan McSporran found and fixed a flaw where you first would do a normal
http request and then you'd reuse the handle and replace the Accept: header,
as then libcurl would send two Accept: headers!
Yang Tse [Tue, 12 Feb 2008 13:47:56 +0000 (13:47 +0000)]
On heavily loaded systems any test server start up can take longer than the
timeout passed to startnew, when this happens startnew completes without being
able to read the pidfile and consequently returns a zero pid2.
To fix the above posibility the server pid is recovered from the verification
stage which will actually return the server pid when verification is valid.
Daniel Stenberg [Mon, 11 Feb 2008 22:03:31 +0000 (22:03 +0000)]
Yang Tse pointed out a few remaining quirks from my timeout refactoring from
Feb 7 that didn't abort properly on timeouts. These are actually old
problems but now they should be fixed.
Yang Tse [Sun, 10 Feb 2008 04:20:09 +0000 (04:20 +0000)]
Bug report #1888932 (http://curl.haxx.se/bug/view.cgi?id=1888932) points
out and provides test program that demonstrates that libcurl might not set
error description message for error CURLE_COULDNT_RESOLVE_HOST for Windows
threaded name resolver builds. Fixed now.
Yang Tse [Sun, 10 Feb 2008 02:52:17 +0000 (02:52 +0000)]
Verify only once test harness sftp server connectivity and functionality.
Make sure that the sftp client tool uses the ssh client binary that we have
used to generate the configuration files, otherwise sftp might be using one
located in the preferred path compiled into sftp.
Gunter Knauf [Sat, 9 Feb 2008 15:07:35 +0000 (15:07 +0000)]
make use of mv's backup feature so that calling the ca-bundle target more than once will never fail; ignore error which can occure if for whatever reason there's no orignial ca-bundle.crt to rename.
Daniel Stenberg [Fri, 8 Feb 2008 22:02:00 +0000 (22:02 +0000)]
- Mike Hommey filed and fixed bug report #1889856
(http://curl.haxx.se/bug/view.cgi?id=1889856): When using the gnutls ssl
layer, cleaning-up and reinitializing curl ends up with https requests
failing with "ASN1 parser: Element was not found" errors. Obviously a
regression added in 7.16.3.
Yang Tse [Fri, 8 Feb 2008 13:54:02 +0000 (13:54 +0000)]
To verify that the sftp server is actually running, responsive and that
all curl's tests generated configuration and key files are fine, a real
connection is established to the test harness sftp server authenticating
and running a simple sftp remote pwd command.
The verification is done using OpenSSH's or SunSSH's sftp client tool with
a configuration file with the same options as the test harness socks server
with the exception that dynamic forwarding is not used for sftp.
Daniel Stenberg [Fri, 8 Feb 2008 11:16:44 +0000 (11:16 +0000)]
Günter Knauf added lib/mk-ca-bundle.pl which gets the Firefox ca bundle and
creates a suitable ca-bundle.crt file in PEM format for use with curl. The
recommended way to run it is to use 'make ca-bundle' in the build tree root.
Daniel Stenberg [Fri, 8 Feb 2008 11:11:59 +0000 (11:11 +0000)]
provide the ca-bundle target the same way as the Makefile.dist does it so that
it works the same way for configure-based platforms as for non-configure ones
Gunter Knauf [Fri, 8 Feb 2008 02:57:27 +0000 (02:57 +0000)]
added ca-bundle target to main makefile;
for now this does rename the existing ca-bundle.crt to ca-bundle.crt.old;
maybe we can remove this once we are 100% sure that the new script works properly, and just overwrite the shipping one?
Daniel Stenberg [Thu, 7 Feb 2008 22:25:04 +0000 (22:25 +0000)]
- Refactored a lot of timeout code into a few functions in an attempt to make
them all use the same (hopefully correct) logic to make it less error-prone
and easier to introduce library-wide where it should be used.
Daniel Stenberg [Thu, 7 Feb 2008 15:43:36 +0000 (15:43 +0000)]
ca-bundle.crt documentational updates that more clearly describe the bundle
ca-bundle.crt file as outdated and in need for replacement by anyone who wants
to verify modern peers as the one we have is from year 2000!