Refactor ClientHello extension parsing
authorMatt Caswell <matt@openssl.org>
Thu, 24 Nov 2016 16:59:48 +0000 (16:59 +0000)
committerMatt Caswell <matt@openssl.org>
Thu, 8 Dec 2016 17:17:45 +0000 (17:17 +0000)
commit6b473acabdfc72c99677a15f03295c12e4ff32fb
tree16fac4a85458842ca124d1c76ac9238bd4701f61
parentfadd9a1e2d2ab1d63bd05c30a0d845e837deb9be
Refactor ClientHello extension parsing

This builds on the work started in 1ab3836b3 and extends is so that
each extension has its own identified parsing functions, as well as an
allowed context identifying which messages and protocols it is relevant for.
Subsequent commits will do a similar job for the ServerHello extensions.
This will enable us to have common functions for processing extension blocks
no matter which of the multiple messages they are received from. In TLSv1.3
a number of different messages have extension blocks, and some extensions
have moved from one message to another when compared to TLSv1.2.

Perl changes reviewed by Richard Levitte. Non-perl changes reviewed by Rich
Salz

Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
12 files changed:
include/openssl/ssl.h
ssl/build.info
ssl/d1_srtp.c
ssl/ssl_err.c
ssl/ssl_locl.h
ssl/statem/extensions.c [new file with mode: 0644]
ssl/statem/statem_extensions.c [deleted file]
ssl/statem/statem_lib.c
ssl/statem/statem_locl.h
ssl/statem/statem_srvr.c
ssl/t1_lib.c
ssl/t1_reneg.c