From: Dmitry Belyavskiy Date: Fri, 4 Jan 2019 17:38:29 +0000 (+0300) Subject: Restore compatibility with GOST2001 implementations. X-Git-Tag: OpenSSL_1_1_1b~92 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=952d813eeaa6baf01bf25b057f760a6f21147c7e;p=oweals%2Fopenssl.git Restore compatibility with GOST2001 implementations. Reviewed-by: Tim Hudson Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/7985) (cherry picked from commit 673e0bbbe4b9cbd19a247c0b18c171bb0421915a) --- diff --git a/ssl/statem/extensions.c b/ssl/statem/extensions.c index 716d6d23e0..11feae5456 100644 --- a/ssl/statem/extensions.c +++ b/ssl/statem/extensions.c @@ -623,7 +623,12 @@ int tls_collect_extensions(SSL *s, PACKET *packet, unsigned int context, && type != TLSEXT_TYPE_cookie && type != TLSEXT_TYPE_renegotiate && type != TLSEXT_TYPE_signed_certificate_timestamp - && (s->ext.extflags[idx] & SSL_EXT_FLAG_SENT) == 0) { + && (s->ext.extflags[idx] & SSL_EXT_FLAG_SENT) == 0 +#ifndef OPENSSL_NO_GOST + && !((context & SSL_EXT_TLS1_2_SERVER_HELLO) != 0 + && type == TLSEXT_TYPE_cryptopro_bug) +#endif + ) { SSLfatal(s, SSL_AD_UNSUPPORTED_EXTENSION, SSL_F_TLS_COLLECT_EXTENSIONS, SSL_R_UNSOLICITED_EXTENSION); goto err;