SSL: protocol version can be specified more precisely
authorGergely Nagy <ngg@tresorit.com>
Thu, 19 Sep 2013 13:17:13 +0000 (15:17 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 15 Oct 2013 18:26:47 +0000 (20:26 +0200)
commitad34a2d5c87c7f4b14e8dded34569395de0d8c5b
treea04f58cee7781e3b0fcf4d5701ccc53f547f8d38
parent31e106c01c594190432c386e3d1de87af6c4f242
SSL: protocol version can be specified more precisely

CURL_SSLVERSION_TLSv1_0, CURL_SSLVERSION_TLSv1_1,
CURL_SSLVERSION_TLSv1_2 enum values are added to force exact TLS version
(CURL_SSLVERSION_TLSv1 means TLS 1.x).

axTLS:
axTLS only supports TLS 1.0 and 1.1 but it cannot be set that only one
of these should be used, so we don't allow the new enum values.

darwinssl:
Added support for the new enum values.

SChannel:
Added support for the new enum values.

CyaSSL:
Added support for the new enum values.
Bug: The original CURL_SSLVERSION_TLSv1 value enables only TLS 1.0 (it
did the same before this commit), because CyaSSL cannot be configured to
use TLS 1.0-1.2.

GSKit:
GSKit doesn't seem to support TLS 1.1 and TLS 1.2, so we do not allow
those values.
Bugfix: There was a typo that caused wrong SSL versions to be passed to
GSKit.

NSS:
TLS minor version cannot be set, so we don't allow the new enum values.

QsoSSL:
TLS minor version cannot be set, so we don't allow the new enum values.

OpenSSL:
Added support for the new enum values.
Bugfix: The original CURL_SSLVERSION_TLSv1 value enabled only TLS 1.0,
now it enables 1.0-1.2.

Command-line tool:
Added command line options for the new values.
14 files changed:
docs/libcurl/curl_easy_setopt.3
docs/libcurl/symbols-in-versions
include/curl/curl.h
lib/axtls.c
lib/curl_darwinssl.c
lib/curl_schannel.c
lib/cyassl.c
lib/gskit.c
lib/nss.c
lib/qssl.c
lib/ssluse.c
packages/OS400/curl.inc.in
src/tool_getparam.c
src/tool_setopt.c