Vilmos Nebehaj [Thu, 17 Apr 2014 14:03:05 +0000 (07:03 -0700)]
Add support for --cacert in DarwinSSL.
Security Framework on OS X makes it possible to supply extra anchor (CA)
certificates via the Certificate, Key, and Trust Services API. This
commit makes the '--cacert' option work using this API.
Daniel Stenberg [Tue, 20 May 2014 08:32:23 +0000 (10:32 +0200)]
bits.close: introduce connection close tracking
Make all code use connclose() and connkeep() when changing the "close
state" for a connection. These two macros take a string argument with an
explanation, and debug builds of curl will include that in the debug
output. Helps tracking connection re-use/close issues.
Steve Holme [Wed, 21 May 2014 21:51:03 +0000 (22:51 +0100)]
build: Renamed CURLX_ONES file list definition to CURLX_CFILES
Renamed the CURLX_ONES file list definition in order to a) try and be
consistent with other file lists and b) to allow for the addition of
the curlx header files, which will assist with Visual Studio project
files generation rather than hard coding those files.
Steve Holme [Tue, 20 May 2014 06:01:22 +0000 (07:01 +0100)]
build-openssl.bat: Added default source directory when not specified
Added a default source directory so the user doesn't have to specify
one - the same as that, which the Visual Studio project files expect
the OpenSSL dependencies to be in.
Daniel Stenberg [Sun, 18 May 2014 15:07:29 +0000 (17:07 +0200)]
test1014: GSS-API is only in curl-config. not in curl
Follow-up to commit 121bcfee5d1. curl-config --features now lists
GSS-API but it is not a listed feature in curl -V. This should probably
be synchronized.
Daniel Stenberg [Sun, 18 May 2014 14:55:03 +0000 (16:55 +0200)]
test1134: verify CREDSPERREQUEST for HTTP
Verifies that the change in 68f0166a92 works as intended and that
different HTTP auth credentials to the same host still re-uses the
connection properly.
Daniel Stenberg [Thu, 15 May 2014 21:28:31 +0000 (23:28 +0200)]
HTTP: CREDSPERREQUEST is for HTTP too
Commit 517b06d657ace (in 7.36.0) that brought the CREDSPERREQUEST flag
only set it for HTTPS, making HTTP less good at doing connection re-use
than it should be. Now set it for HTTP as well.
In commit 0b3750b5c23c25f (released in 7.36.0) we fixed a timeout issue
but instead broke the timings.
To fix this, I introduce a new timestamp to use for the timeouts and
restored the previous timestamp and timestamp position so that the old
timer functionality is restored.
In addition to that, that change also broke connection timeouts for when
more than one connect was used (as it would then count the total time
from the first connect and not for the most recent one). Now
Curl_timeleft() has been modified so that it checks against different
start times depending on which timeout it checks.
Test 1303 is updated accordingly.
Bug: http://curl.haxx.se/mail/lib-2014-05/0147.html Reported-by: Ryan Braud
Steve Holme [Sun, 11 May 2014 14:03:16 +0000 (15:03 +0100)]
sasl: Fixed missing qop in the client's challenge-response message
Whilst the qop directive isn't required to be present in a client's
response, as servers should assume a qop of "auth" if it isn't
specified, some may return authentication failure if it is missing.
Steve Holme [Fri, 9 May 2014 21:27:40 +0000 (22:27 +0100)]
Makefile.inc: Separated the lib and lib/vtls source file variables
To cater for the automatic generation of the new Visual Studio project
files, moved the lib file list into a separated variable so that lib
and lib/vtls can be referenced independently.
Patrick Watson [Thu, 8 May 2014 09:37:45 +0000 (11:37 +0200)]
mk-ca-bundle: added -p
-p takes a list of Mozilla trust purposes and levels for certificates to
include in output. Takes the form of a comma separated list of
purposes, a colon, and a comma separated list of levels.
Now nghttp2_submit_request returns assigned stream ID, we don't have
to check stream ID using before_stream_send_callback. The
adjust_priority_callback was removed.
Steve Holme [Wed, 7 May 2014 09:55:01 +0000 (10:55 +0100)]
url.c: Fixed compilation warning/error
Depending on compiler line 3505 could generate the following warning or
error:
* warning: ISO C90 forbids mixed declarations and code
* A declaration cannot appear after an executable statement in a block
* error C2275: 'size_t' : illegal use of this type as an expression
Steve Holme [Tue, 6 May 2014 21:01:42 +0000 (22:01 +0100)]
build: Fixed file format version number in VC12 solution files
Unlike previous versions of Visual Studio the VC12 solution file format
does not increment the format version number, but instead, only changes
the version comment text.
This incorrectly set version number would cause problems for any third
party piece of software that would read the solution file expecting the
version number to be 12.00 and found it to be 13.00, such as some build
accelerators.
Verified against a freshly created solution file which was generated
with VC12.
build-openssl.bat: Corrected use of angled brackets in help output
Angled brackets were used in the help output to indicate that the
compiler and platform arguments are mandatory. Unfortunately this
caused a "< was unexpected at this time" error as the characters are
interpreted as re-direction characters when not escaped.
Daniel Stenberg [Sun, 4 May 2014 22:07:54 +0000 (00:07 +0200)]
schannel: don't use the connect-timeout during send
As there's a default connection timeout and this wrongly used the
connection timeout during a transfer after the connection is completed,
this function would trigger timeouts during transfers erroneously.
Bug: http://curl.haxx.se/bug/view.cgi?id=1352 Figured-out-by: Radu Simionescu
Daniel Stenberg [Sun, 4 May 2014 21:37:24 +0000 (23:37 +0200)]
mprintf: allow %.s with data not being zero terminated
If the precision is indeed shorter than the string, don't strlen() to
find the end because that's not how the precision operator works.
I also added a unit test for curl_msnprintf to make sure this works and
that the fix doesn't a few other basic use cases. I found a POSIX
compliance problem that I marked TODO in the unit test, and I figure we
need to add more tests in the future.
Steve Holme [Sun, 4 May 2014 17:59:55 +0000 (18:59 +0100)]
curl_ntlm_core: Fixed use of long long for VC6 and VC7
Commit 07b66cbfa4 unfortunately broke native NTLM message support in
compilers, such as VC6, VC7 and others, that don't support long long
type declarations. This commit fixes VC6 and VC7 as they support the
__int64 extension, however, we should consider an additional fix for
other compilers that don't support this.