aboutsummaryrefslogtreecommitdiff
path: root/ssl
diff options
context:
space:
mode:
authorDmitry Belyavskiy <beldmit@gmail.com>2019-01-04 20:38:29 +0300
committerMatt Caswell <matt@openssl.org>2019-01-06 10:15:39 +0000
commit673e0bbbe4b9cbd19a247c0b18c171bb0421915a (patch)
tree886a7a697f46f6fba367f943605571f83f367812 /ssl
parent5e9072ed99971fa5e47326c2f8ffa4bc9624a584 (diff)
downloadopenssl-673e0bbbe4b9cbd19a247c0b18c171bb0421915a.zip
openssl-673e0bbbe4b9cbd19a247c0b18c171bb0421915a.tar.gz
openssl-673e0bbbe4b9cbd19a247c0b18c171bb0421915a.tar.bz2
Restore compatibility with GOST2001 implementations.
Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/7985)
Diffstat (limited to 'ssl')
-rw-r--r--ssl/statem/extensions.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/ssl/statem/extensions.c b/ssl/statem/extensions.c
index c549218..ffa4b46 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;