diff options
author | jsing <> | 2017-08-13 16:25:19 +0000 |
---|---|---|
committer | jsing <> | 2017-08-13 16:25:19 +0000 |
commit | b5324a99854885ccd0a9dd62023c992d3fae050b (patch) | |
tree | 590087886e154baafbba496aaad2f51b3dd74170 /src/lib/libssl/t1_lib.c | |
parent | d14932b0913ef6f21bc09535d4eb1863708fefb6 (diff) | |
download | openbsd-b5324a99854885ccd0a9dd62023c992d3fae050b.tar.gz openbsd-b5324a99854885ccd0a9dd62023c992d3fae050b.tar.bz2 openbsd-b5324a99854885ccd0a9dd62023c992d3fae050b.zip |
Nuke SSL_OP_CRYPTOPRO_TLSEXT_BUG.
This was a workaround for a server that needed to talk GOST to old/broken
CryptoPro clients. This has no impact on TLS clients that are using GOST.
ok bcook@ beck@ doug@
Diffstat (limited to '')
-rw-r--r-- | src/lib/libssl/t1_lib.c | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/src/lib/libssl/t1_lib.c b/src/lib/libssl/t1_lib.c index 405f08ed33..b8b54484ed 100644 --- a/src/lib/libssl/t1_lib.c +++ b/src/lib/libssl/t1_lib.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: t1_lib.c,v 1.131 2017/08/12 23:38:12 beck Exp $ */ | 1 | /* $OpenBSD: t1_lib.c,v 1.132 2017/08/13 16:25:19 jsing Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -812,23 +812,6 @@ ssl_add_serverhello_tlsext(SSL *s, unsigned char *p, unsigned char *limit) | |||
812 | } | 812 | } |
813 | #endif | 813 | #endif |
814 | 814 | ||
815 | if (((S3I(s)->hs.new_cipher->id & 0xFFFF) == 0x80 || | ||
816 | (S3I(s)->hs.new_cipher->id & 0xFFFF) == 0x81) && | ||
817 | (SSL_get_options(s) & SSL_OP_CRYPTOPRO_TLSEXT_BUG)) { | ||
818 | static const unsigned char cryptopro_ext[36] = { | ||
819 | 0xfd, 0xe8, /*65000*/ | ||
820 | 0x00, 0x20, /*32 bytes length*/ | ||
821 | 0x30, 0x1e, 0x30, 0x08, 0x06, 0x06, 0x2a, 0x85, | ||
822 | 0x03, 0x02, 0x02, 0x09, 0x30, 0x08, 0x06, 0x06, | ||
823 | 0x2a, 0x85, 0x03, 0x02, 0x02, 0x16, 0x30, 0x08, | ||
824 | 0x06, 0x06, 0x2a, 0x85, 0x03, 0x02, 0x02, 0x17 | ||
825 | }; | ||
826 | if ((size_t)(limit - ret) < sizeof(cryptopro_ext)) | ||
827 | return NULL; | ||
828 | memcpy(ret, cryptopro_ext, sizeof(cryptopro_ext)); | ||
829 | ret += sizeof(cryptopro_ext); | ||
830 | } | ||
831 | |||
832 | if (S3I(s)->alpn_selected != NULL) { | 815 | if (S3I(s)->alpn_selected != NULL) { |
833 | const unsigned char *selected = S3I(s)->alpn_selected; | 816 | const unsigned char *selected = S3I(s)->alpn_selected; |
834 | unsigned int len = S3I(s)->alpn_selected_len; | 817 | unsigned int len = S3I(s)->alpn_selected_len; |