From cd6bd5ffda616822b52104fee0c4c7d623fd4f53 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Sat, 5 Apr 2014 20:43:54 +0100 Subject: [PATCH] Set TLS padding extension value. Enable TLS padding extension using official value from: http://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml --- CHANGES | 12 +----------- ssl/t1_lib.c | 2 +- ssl/tls1.h | 6 ++++++ 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/CHANGES b/CHANGES index 404ac85690..be2212db7b 100644 --- a/CHANGES +++ b/CHANGES @@ -291,23 +291,13 @@ to be resent. (CVE-2013-6450) [Steve Henson] - *) TLS pad extension: draft-agl-tls-padding-02 + *) TLS pad extension: draft-agl-tls-padding-03 Workaround for the "TLS hang bug" (see FAQ and PR#2771): if the TLS client Hello record length value would otherwise be > 255 and less that 512 pad with a dummy extension containing zeroes so it is at least 512 bytes long. - To enable it use an unused extension number (for example chrome uses - 35655) using: - - e.g. -DTLSEXT_TYPE_padding=35655 - - Since the extension is ignored the actual number doesn't matter as long - as it doesn't clash with any existing extension. - - This will be updated when the extension gets an official number. - [Adam Langley, Steve Henson] *) Add functions to allocate and set the fields of an ECDSA_METHOD diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index 26fc45c7df..a2e2475d13 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -1510,7 +1510,7 @@ unsigned char *ssl_add_clienthello_tlsext(SSL *s, unsigned char *p, unsigned cha #endif #ifdef TLSEXT_TYPE_padding /* Add padding to workaround bugs in F5 terminators. - * See https://tools.ietf.org/html/draft-agl-tls-padding-02 + * See https://tools.ietf.org/html/draft-agl-tls-padding-03 * * NB: because this code works out the length of all existing * extensions it MUST always appear last. diff --git a/ssl/tls1.h b/ssl/tls1.h index f288bb96b3..7a3d22a3c8 100644 --- a/ssl/tls1.h +++ b/ssl/tls1.h @@ -238,6 +238,12 @@ extern "C" { /* ExtensionType value from draft-ietf-tls-applayerprotoneg-00 */ #define TLSEXT_TYPE_application_layer_protocol_negotiation 16 +/* ExtensionType value for TLS padding extension. + * http://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml + * http://tools.ietf.org/html/draft-agl-tls-padding-03 + */ +#define TLSEXT_TYPE_padding 21 + /* ExtensionType value from RFC4507 */ #define TLSEXT_TYPE_session_ticket 35 -- 2.40.0