Don't send signature algorithms when client_version is below TLS 1.2.
authorDavid Benjamin <davidben@google.com>
Sun, 6 Mar 2016 00:49:20 +0000 (19:49 -0500)
committerDr. Stephen Henson <steve@openssl.org>
Mon, 9 May 2016 16:49:30 +0000 (17:49 +0100)
commitb8943a511b58828c04a68016aedd5d9e40ee6df7
treeb894ea47ba1e4d165827b3cc1c5aaab1048e440c
parentd516d7a94098a284e35dfcf62b81be0cc771e120
Don't send signature algorithms when client_version is below TLS 1.2.

Per RFC 5246,

    Note: this extension is not meaningful for TLS versions prior to 1.2.
    Clients MUST NOT offer it if they are offering prior versions.
    However, even if clients do offer it, the rules specified in [TLSEXT]
    require servers to ignore extensions they do not understand.

Although second sentence would suggest that there would be no interop
problems in always offering the extension, WebRTC has reported issues
with Bouncy Castle on < TLS 1.2 ClientHellos that still include
signature_algorithms. See also
https://bugs.chromium.org/p/webrtc/issues/detail?id=4223

RT#4390

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Stephen Henson <steve@openssl.org>
(cherry picked from commit f7aa318552c4ef62d902c480b59bd7c4513c0009)

Conflicts:
ssl/ssl_locl.h
ssl/ssl_locl.h
ssl/t1_lib.c