summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDoug Hogan <doug@cvs.openbsd.org>2015-07-18 01:42:27 +0000
committerDoug Hogan <doug@cvs.openbsd.org>2015-07-18 01:42:27 +0000
commit3da37385c7b5675050f0c850943619c3bbb13d3c (patch)
treeac07bbfd110d30f5029e0019e35bf3541f634b52 /lib
parent89236c73e190cfc5eca18db02a6d4a697a8e52c4 (diff)
Remove support for the SSL_OP_TLS_D5_BUG compat hack from SSLeay.
This is a 17 year old workaround from SSLeay 0.9.0b. It was for clients that send RSA client key exchange in TLS using SSLv3 format (no length prefix). ok jsing@
Diffstat (limited to 'lib')
-rw-r--r--lib/libssl/doc/SSL_CTX_set_options.38
-rw-r--r--lib/libssl/s3_srvr.c12
-rw-r--r--lib/libssl/ssl.h5
3 files changed, 11 insertions, 14 deletions
diff --git a/lib/libssl/doc/SSL_CTX_set_options.3 b/lib/libssl/doc/SSL_CTX_set_options.3
index 91a1c9ad92d..0ffa025ce20 100644
--- a/lib/libssl/doc/SSL_CTX_set_options.3
+++ b/lib/libssl/doc/SSL_CTX_set_options.3
@@ -1,7 +1,7 @@
.\"
-.\" $OpenBSD: SSL_CTX_set_options.3,v 1.8 2015/07/17 15:50:37 doug Exp $
+.\" $OpenBSD: SSL_CTX_set_options.3,v 1.9 2015/07/18 01:42:26 doug Exp $
.\"
-.Dd $Mdocdate: July 17 2015 $
+.Dd $Mdocdate: July 18 2015 $
.Dt SSL_CTX_SET_OPTIONS 3
.Os
.Sh NAME
@@ -124,7 +124,9 @@ As of
.Ox 5.8 ,
this option has no effect.
.It Dv SSL_OP_TLS_D5_BUG
-\&...
+As of
+.Ox 5.8 ,
+this option has no effect.
.It Dv SSL_OP_TLS_BLOCK_PADDING_BUG
As of
.Ox 5.8 ,
diff --git a/lib/libssl/s3_srvr.c b/lib/libssl/s3_srvr.c
index e70f8af4406..cd5bc2a6cbc 100644
--- a/lib/libssl/s3_srvr.c
+++ b/lib/libssl/s3_srvr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s3_srvr.c,v 1.110 2015/07/14 05:16:47 doug Exp $ */
+/* $OpenBSD: s3_srvr.c,v 1.111 2015/07/18 01:42:26 doug Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@@ -1708,13 +1708,9 @@ ssl3_get_client_key_exchange(SSL *s)
goto truncated;
n2s(p, i);
if (n != i + 2) {
- if (!(s->options & SSL_OP_TLS_D5_BUG)) {
- SSLerr(
- SSL_F_SSL3_GET_CLIENT_KEY_EXCHANGE,
- SSL_R_TLS_RSA_ENCRYPTED_VALUE_LENGTH_IS_WRONG);
- goto err;
- } else
- p -= 2;
+ SSLerr(SSL_F_SSL3_GET_CLIENT_KEY_EXCHANGE,
+ SSL_R_TLS_RSA_ENCRYPTED_VALUE_LENGTH_IS_WRONG);
+ goto err;
} else
n = i;
}
diff --git a/lib/libssl/ssl.h b/lib/libssl/ssl.h
index 33aaadcd20e..7d3e3c8171c 100644
--- a/lib/libssl/ssl.h
+++ b/lib/libssl/ssl.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssl.h,v 1.89 2015/07/17 15:50:37 doug Exp $ */
+/* $OpenBSD: ssl.h,v 1.90 2015/07/18 01:42:26 doug Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@@ -520,7 +520,6 @@ struct ssl_session_st {
#define SSL_OP_LEGACY_SERVER_CONNECT 0x00000004L
#define SSL_OP_TLSEXT_PADDING 0x00000010L
#define SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER 0x00000020L
-#define SSL_OP_TLS_D5_BUG 0x00000100L
/* Disable SSL 3.0/TLS 1.0 CBC vulnerability workaround that was added
* in OpenSSL 0.9.6d. Usually (depending on the application protocol)
@@ -574,7 +573,6 @@ struct ssl_session_st {
(SSL_OP_LEGACY_SERVER_CONNECT | \
SSL_OP_TLSEXT_PADDING | \
SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER | \
- SSL_OP_TLS_D5_BUG | \
SSL_OP_CRYPTOPRO_TLSEXT_BUG)
/* Obsolete flags kept for compatibility. No sane code should use them. */
@@ -592,6 +590,7 @@ struct ssl_session_st {
#define SSL_OP_SSLEAY_080_CLIENT_DH_BUG 0x0
#define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG 0x0
#define SSL_OP_TLS_BLOCK_PADDING_BUG 0x0
+#define SSL_OP_TLS_D5_BUG 0x0
/* Allow SSL_write(..., n) to return r with 0 < r < n (i.e. report success
* when just a single record has been written): */