summaryrefslogtreecommitdiff
path: root/src/lib/libssl/t1_lib.c
diff options
context:
space:
mode:
authorjsing <>2017-08-13 16:25:19 +0000
committerjsing <>2017-08-13 16:25:19 +0000
commitb5324a99854885ccd0a9dd62023c992d3fae050b (patch)
tree590087886e154baafbba496aaad2f51b3dd74170 /src/lib/libssl/t1_lib.c
parentd14932b0913ef6f21bc09535d4eb1863708fefb6 (diff)
downloadopenbsd-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.c19
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;