diff options
author | Matt Caswell <matt@openssl.org> | 2016-11-25 12:34:29 +0000 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2016-12-08 17:18:25 +0000 |
commit | 6dd083fd6804a3ee6ac3adc019f81910f1c63f21 (patch) | |
tree | fc4c9bacf7a79bb56db98faf2a890136f7fca0af /ssl/statem/statem_locl.h | |
parent | e56c33b98bd8d72307da7911de27b5d38191d239 (diff) | |
download | openssl-6dd083fd6804a3ee6ac3adc019f81910f1c63f21.zip openssl-6dd083fd6804a3ee6ac3adc019f81910f1c63f21.tar.gz openssl-6dd083fd6804a3ee6ac3adc019f81910f1c63f21.tar.bz2 |
Move client parsing of ServerHello extensions into new framework
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>
Diffstat (limited to 'ssl/statem/statem_locl.h')
-rw-r--r-- | ssl/statem/statem_locl.h | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/ssl/statem/statem_locl.h b/ssl/statem/statem_locl.h index 53fd0f0..88c40f5 100644 --- a/ssl/statem/statem_locl.h +++ b/ssl/statem/statem_locl.h @@ -180,6 +180,8 @@ int tls_parse_client_etm(SSL *s, PACKET *pkt, int *al); int tls_parse_client_key_share(SSL *s, PACKET *pkt, int *al); int tls_parse_client_ems(SSL *s, PACKET *pkt, int *al); +int tls_scan_clienthello_tlsext(SSL *s, CLIENTHELLO_MSG *hello, int *al); + int tls_construct_server_renegotiate(SSL *s, WPACKET *pkt, int *al); int tls_construct_server_server_name(SSL *s, WPACKET *pkt, int *al); int tls_construct_server_ec_pt_formats(SSL *s, WPACKET *pkt, int *al); @@ -191,10 +193,32 @@ int tls_construct_server_use_srtp(SSL *s, WPACKET *pkt, int *al); int tls_construct_server_etm(SSL *s, WPACKET *pkt, int *al); int tls_construct_server_ems(SSL *s, WPACKET *pkt, int *al); int tls_construct_server_key_share(SSL *s, WPACKET *pkt, int *al); - /* * Not in public headers as this is not an official extension. Only used when * SSL_OP_CRYPTOPRO_TLSEXT_BUG is set. */ #define TLSEXT_TYPE_cryptopro_bug 0xfde8 int tls_construct_server_cryptopro_bug(SSL *s, WPACKET *pkt, int *al); + +/* Client Extension processing */ +int tls_parse_server_renegotiate(SSL *s, PACKET *pkt, int *al); +int tls_parse_server_server_name(SSL *s, PACKET *pkt, int *al); +#ifndef OPENSSL_NO_EC +int tls_parse_server_ec_pt_formats(SSL *s, PACKET *pkt, int *al); +#endif +int tls_parse_server_session_ticket(SSL *s, PACKET *pkt, int *al); +int tls_parse_server_status_request(SSL *s, PACKET *pkt, int *al); +#ifndef OPENSSL_NO_CT +int tls_parse_server_sct(SSL *s, PACKET *pkt, int *al); +#endif +#ifndef OPENSSL_NO_NEXTPROTONEG +int tls_parse_server_npn(SSL *s, PACKET *pkt, int *al); +#endif +int tls_parse_server_alpn(SSL *s, PACKET *pkt, int *al); +#ifndef OPENSSL_NO_SRTP +int tls_parse_server_use_srtp(SSL *s, PACKET *pkt, int *al); +#endif +int tls_parse_server_etm(SSL *s, PACKET *pkt, int *al); +int tls_parse_server_ems(SSL *s, PACKET *pkt, int *al); +int tls_parse_server_key_share(SSL *s, PACKET *pkt, int *al); +int ssl_parse_serverhello_tlsext(SSL *s, PACKET *pkt); |