From: Dr. Stephen Henson Date: Wed, 25 Apr 2012 23:06:31 +0000 (+0000) Subject: Change value of SSL_OP_NO_TLSv1_1 to avoid clash with SSL_OP_ALL and X-Git-Tag: OpenSSL_1_0_2-beta1~638 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=a6df6702c6d7e4e607904ea74f7ecb24da9f14f4;p=oweals%2Fopenssl.git Change value of SSL_OP_NO_TLSv1_1 to avoid clash with SSL_OP_ALL and OpenSSL 1.0.0. Add CHANGES entry noting the consequences. --- diff --git a/CHANGES b/CHANGES index cd9f2346b2..45dd450f9e 100644 --- a/CHANGES +++ b/CHANGES @@ -54,6 +54,16 @@ Changes between 1.0.1a and 1.0.1b [xx XXX xxxx] + *) OpenSSL 1.0.0 set SSL_OP_ALL to 0x80000FFFL and OpenSSL 1.0.1 and + 1.0.1a set SSL_OP_NO_TLSv1_1 to 0x00000400L which would unfortunately + mean any application compiled against OpenSSL 1.0.0 headers setting + SSL_OP_ALL would also set SSL_OP_NO_TLSv1_1, unintentionally disablng + TLS 1.1 also. Fix this by changing the value ot SSL_OP_NO_TLSv1_1 to + 0x10000000L Any application which was previously compiled against + OpenSSL 1.0.1 or 1.0.1a headers and which cares about SSL_OP_NO_TLSv1_1 + will need to be recompiled as a result. + [Steve Henson] + *) In order to ensure interoperabilty SSL_OP_NO_protocolX does not disable just protocol X, but all protocols above X *if* there are protocols *below* X still enabled. In more practical terms it means @@ -88,6 +98,7 @@ Most broken servers should now work. 3. If all else fails setting OPENSSL_NO_TLS1_2_CLIENT will disable TLS 1.2 client support entirely. + [Steve Henson] *) Fix SEGV in Vector Permutation AES module observed in OpenSSH. [Andy Polyakov] diff --git a/ssl/ssl.h b/ssl/ssl.h index 2964111a53..8d4e740b82 100644 --- a/ssl/ssl.h +++ b/ssl/ssl.h @@ -557,7 +557,6 @@ struct ssl_session_st #define SSL_OP_SSLEAY_080_CLIENT_DH_BUG 0x00000080L #define SSL_OP_TLS_D5_BUG 0x00000100L #define SSL_OP_TLS_BLOCK_PADDING_BUG 0x00000200L -#define SSL_OP_NO_TLSv1_1 0x00000400L /* Disable SSL 3.0/TLS 1.0 CBC vulnerability workaround that was added * in OpenSSL 0.9.6d. Usually (depending on the application protocol) @@ -605,6 +604,7 @@ struct ssl_session_st #define SSL_OP_NO_SSLv3 0x02000000L #define SSL_OP_NO_TLSv1 0x04000000L #define SSL_OP_NO_TLSv1_2 0x08000000L +#define SSL_OP_NO_TLSv1_1 0x10000000L /* These next two were never actually used for anything since SSLeay * zap so we have some more flags.