Skip to content

Commit

Permalink
Set TLS padding extension value.
Browse files Browse the repository at this point in the history
  • Loading branch information
snhenson committed Apr 5, 2014
1 parent f8dd55b commit cd6bd5f
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 12 deletions.
12 changes: 1 addition & 11 deletions CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion ssl/t1_lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
6 changes: 6 additions & 0 deletions ssl/tls1.h
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down

0 comments on commit cd6bd5f

Please sign in to comment.