RFC Errata
RFC 6347, "Datagram Transport Layer Security Version 1.2", January 2012
Note: This RFC has been obsoleted by RFC 9147
Note: This RFC has been updated by RFC 7507, RFC 7905, RFC 8996, RFC 9146
Source of RFC: tls (sec)
Errata ID: 3917
Status: Reported
Type: Technical
Publication Format(s) : TEXT
Reported By: Martin Thomson
Date Reported: 2014-03-14
Section 4.2.1 says:
struct { ProtocolVersion client_version; Random random; SessionID session_id; opaque cookie<0..2^8-1>; // New field CipherSuite cipher_suites<2..2^16-1>; CompressionMethod compression_methods<1..2^8-1>; } ClientHello;
It should say:
struct { ProtocolVersion client_version; Random random; SessionID session_id; opaque cookie<0..2^8-1>; // New field CipherSuite cipher_suites<2..2^16-1>; CompressionMethod compression_methods<1..2^8-1>; select (extensions_present) { case false: struct {}; case true: Extension extensions<0..2^16-1>; }; } ClientHello;
Notes:
This also affects Section 4.3.2 where the same structure is repeated.
Extensions are a part of TLS. They are also part of DTLS in practice, but the RFC omits them. The corrected text includes the relevant part of the ClientHello from RFC 5246.