summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2014-04-05 20:43:54 +0100
committerDr. Stephen Henson <steve@openssl.org>2014-04-05 20:49:09 +0100
commit6411b83e52fdfd0d3563d50a4dc00838b142fb2c (patch)
treedddb72dc460d9396fa61a7160b7a94c4aaae99b9
parentbb98beade96739f7cda7d4ca44743532cd3a33be (diff)
downloadopenssl-new-6411b83e52fdfd0d3563d50a4dc00838b142fb2c.tar.gz
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 (cherry picked from commit cd6bd5ffda616822b52104fee0c4c7d623fd4f53) Conflicts: CHANGES
-rw-r--r--CHANGES12
-rw-r--r--ssl/t1_lib.c2
-rw-r--r--ssl/tls1.h6
3 files changed, 8 insertions, 12 deletions
diff --git a/CHANGES b/CHANGES
index 6130aefff0..400e065c5b 100644
--- a/CHANGES
+++ b/CHANGES
@@ -17,23 +17,13 @@
this fixes a limiation in previous versions of OpenSSL.
[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]
*) Extended RSA OAEP support via EVP_PKEY API. Options to specify digest,
diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c
index ed3d07a0e0..c4f23c1022 100644
--- a/ssl/t1_lib.c
+++ b/ssl/t1_lib.c
@@ -1471,7 +1471,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.
diff --git a/ssl/tls1.h b/ssl/tls1.h
index 290ec7574f..5ae60a6dd9 100644
--- a/ssl/tls1.h
+++ b/ssl/tls1.h
@@ -233,6 +233,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