use client version when eliminating TLS v1.2 ciphersuites in client hello
This commit is contained in:
@@ -1371,7 +1371,7 @@ int ssl_cipher_list_to_bytes(SSL *s,STACK_OF(SSL_CIPHER) *sk,unsigned char *p,
|
|||||||
c=sk_SSL_CIPHER_value(sk,i);
|
c=sk_SSL_CIPHER_value(sk,i);
|
||||||
/* Skip TLS v1.2 only ciphersuites if lower than v1.2 */
|
/* Skip TLS v1.2 only ciphersuites if lower than v1.2 */
|
||||||
if ((c->algorithm_ssl & SSL_TLSV1_2) &&
|
if ((c->algorithm_ssl & SSL_TLSV1_2) &&
|
||||||
(TLS1_get_version(s) < TLS1_2_VERSION))
|
(TLS1_get_client_version(s) < TLS1_2_VERSION))
|
||||||
continue;
|
continue;
|
||||||
#ifndef OPENSSL_NO_KRB5
|
#ifndef OPENSSL_NO_KRB5
|
||||||
if (((c->algorithm_mkey & SSL_kKRB5) || (c->algorithm_auth & SSL_aKRB5)) &&
|
if (((c->algorithm_mkey & SSL_kKRB5) || (c->algorithm_auth & SSL_aKRB5)) &&
|
||||||
|
@@ -174,6 +174,9 @@ extern "C" {
|
|||||||
#define TLS1_get_version(s) \
|
#define TLS1_get_version(s) \
|
||||||
((s->version >> 8) == TLS1_VERSION_MAJOR ? s->version : 0)
|
((s->version >> 8) == TLS1_VERSION_MAJOR ? s->version : 0)
|
||||||
|
|
||||||
|
#define TLS1_get_client_version(s) \
|
||||||
|
((s->client_version >> 8) == TLS1_VERSION_MAJOR ? s->client_version : 0)
|
||||||
|
|
||||||
#define TLS1_AD_DECRYPTION_FAILED 21
|
#define TLS1_AD_DECRYPTION_FAILED 21
|
||||||
#define TLS1_AD_RECORD_OVERFLOW 22
|
#define TLS1_AD_RECORD_OVERFLOW 22
|
||||||
#define TLS1_AD_UNKNOWN_CA 48 /* fatal */
|
#define TLS1_AD_UNKNOWN_CA 48 /* fatal */
|
||||||
|
Reference in New Issue
Block a user