Set TLS padding extension value.
authorDr. Stephen Henson <steve@openssl.org>
Sat, 5 Apr 2014 19:43:54 +0000 (20:43 +0100)
committerDr. Stephen Henson <steve@openssl.org>
Sat, 5 Apr 2014 19:52:59 +0000 (20:52 +0100)
Enable TLS padding extension using official value from:

http://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml
(cherry picked from commit cd6bd5ffda616822b52104fee0c4c7d623fd4f53)

Conflicts:

CHANGES
ssl/tls1.h

CHANGES
ssl/t1_lib.c
ssl/tls1.h

diff --git a/CHANGES b/CHANGES
index 99aeefb4c235e733fb6884297b0fea4d37ffc0cf..0484456775b92304e6f54dd25b46ed6019af4b2d 100644 (file)
--- a/CHANGES
+++ b/CHANGES
      flaw and to Yuval Yarom for supplying a fix (CVE-2014-0076)
      [Yuval Yarom and Naomi Benger]
 
-  *) 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]
 
  Changes between 1.0.1e and 1.0.1f [6 Jan 2014]
index 29ccd833ec06eb36c64163209c99885694de6ff2..b82fadace66e764b47ab2d854621ad89b804e8d2 100644 (file)
@@ -664,7 +664,7 @@ unsigned char *ssl_add_clienthello_tlsext(SSL *s, unsigned char *p, unsigned cha
 
 #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.
index c39c267f0b66690da44b301ee96a2302b0d89476..c992091e305e5fba1fac9a3fb691d9142f62e676 100644 (file)
@@ -230,6 +230,12 @@ extern "C" {
 /* ExtensionType value from RFC5620 */
 #define TLSEXT_TYPE_heartbeat  15
 
+/* 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