aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ssl-utils.h
diff options
context:
space:
mode:
authorAlexis La Goutte <alexis.lagoutte@gmail.com>2016-08-26 10:33:43 +0200
committerPeter Wu <peter@lekensteyn.nl>2016-09-20 09:14:07 +0000
commitb83c730ff0fac672d8623ebb5e6129de370dd1a6 (patch)
tree51c590d0182ccb55a639932175eec3a0fb3a9b3b /epan/dissectors/packet-ssl-utils.h
parent811bb3302bf503523f51c219226426feb63b7a18 (diff)
TLS(1.3): Add Pre-Shared Key (41) Hello extension
Bug: 12779 Change-Id: I64ef80db0a8b51ee569fed3b87099144e57eedc2 Reviewed-on: https://code.wireshark.org/review/17320 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Diffstat (limited to 'epan/dissectors/packet-ssl-utils.h')
-rw-r--r--epan/dissectors/packet-ssl-utils.h59
1 files changed, 57 insertions, 2 deletions
diff --git a/epan/dissectors/packet-ssl-utils.h b/epan/dissectors/packet-ssl-utils.h
index 929133e26b..ea53192c13 100644
--- a/epan/dissectors/packet-ssl-utils.h
+++ b/epan/dissectors/packet-ssl-utils.h
@@ -203,6 +203,8 @@ extern const value_string ssl_extension_curves[];
extern const value_string ssl_extension_ec_point_formats[];
extern const value_string ssl_curve_types[];
extern const value_string tls_hello_ext_server_name_type_vs[];
+extern const value_string tls_hello_ext_psk_ke_mode[];
+extern const value_string tls_hello_ext_psk_auth_mode[];
/* XXX Should we use GByteArray instead? */
typedef struct _StringInfo {
@@ -654,6 +656,14 @@ typedef struct ssl_common_dissect {
gint hs_ext_key_share_group;
gint hs_ext_key_share_key_exchange_length;
gint hs_ext_key_share_key_exchange;
+ gint hs_ext_psk_identities_length;
+ gint hs_ext_psk_identity_ke_modes_length;
+ gint hs_ext_psk_identity_ke_mode;
+ gint hs_ext_psk_identity_auth_modes_length;
+ gint hs_ext_psk_identity_auth_mode;
+ gint hs_ext_psk_identity_length;
+ gint hs_ext_psk_identity;
+ gint hs_ext_psk_identity_selected;
gint hs_ext_server_name;
gint hs_ext_server_name_len;
gint hs_ext_server_name_list_len;
@@ -739,6 +749,8 @@ typedef struct ssl_common_dissect {
gint hs_ext_reneg_info;
gint hs_ext_key_share;
gint hs_ext_key_share_ks;
+ gint hs_ext_pre_shared_key;
+ gint hs_ext_psk_identity;
gint hs_ext_server_name;
gint hs_ext_padding;
gint hs_sig_hash_alg;
@@ -852,11 +864,12 @@ ssl_common_dissect_t name = { \
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, \
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, \
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, \
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, \
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, \
+ -1, -1, \
}, \
/* ett */ { \
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, \
- -1, -1, -1, -1, -1, -1, \
+ -1, -1, -1, -1, -1, -1, -1, -1, \
}, \
/* ei */ { \
EI_INIT, EI_INIT, EI_INIT, EI_INIT, EI_INIT, \
@@ -976,6 +989,46 @@ ssl_common_dissect_t name = { \
FT_BYTES, BASE_NONE, NULL, 0x0, \
NULL, HFILL } \
}, \
+ { & name .hf.hs_ext_psk_identities_length, \
+ { "Identities Length", prefix ".handshake.extensions.psk.identities.length", \
+ FT_UINT16, BASE_DEC, NULL, 0x0, \
+ NULL, HFILL } \
+ }, \
+ { & name .hf.hs_ext_psk_identity_ke_modes_length, \
+ { "Key Exchange Modes length", prefix ".handshake.extensions.psk.identity.ke_modes_length", \
+ FT_UINT8, BASE_DEC, NULL, 0x0, \
+ NULL, HFILL } \
+ }, \
+ { & name .hf.hs_ext_psk_identity_ke_mode, \
+ { "Key Exchange Mode", prefix ".handshake.extensions.psk.identity.ke_mode", \
+ FT_UINT8, BASE_DEC, VALS(tls_hello_ext_psk_ke_mode), 0x0, \
+ NULL, HFILL } \
+ }, \
+ { & name .hf.hs_ext_psk_identity_auth_modes_length, \
+ { "Authentification Modes length", prefix ".handshake.extensions.psk.identity.auth_modes_length", \
+ FT_UINT8, BASE_DEC, NULL, 0x0, \
+ NULL, HFILL } \
+ }, \
+ { & name .hf.hs_ext_psk_identity_auth_mode, \
+ { "Authentification Mode", prefix ".handshake.extensions.psk.identity.auth_mode", \
+ FT_UINT8, BASE_DEC, VALS(tls_hello_ext_psk_auth_mode), 0x0, \
+ NULL, HFILL } \
+ }, \
+ { & name .hf.hs_ext_psk_identity_length, \
+ { "Identity Length", prefix ".handshake.extensions.psk.identity.length", \
+ FT_UINT16, BASE_DEC, NULL, 0x0, \
+ NULL, HFILL } \
+ }, \
+ { & name .hf.hs_ext_psk_identity, \
+ { "Identity", prefix ".handshake.extensions.psk.identity", \
+ FT_BYTES, BASE_NONE, NULL, 0x0, \
+ NULL, HFILL } \
+ }, \
+ { & name .hf.hs_ext_psk_identity_selected, \
+ { "Selected Identity", prefix ".handshake.extensions.psk.identity.selected", \
+ FT_UINT16, BASE_DEC, NULL, 0x0, \
+ NULL, HFILL } \
+ }, \
{ & name .hf.hs_ext_server_name_list_len, \
{ "Server Name list length", prefix ".handshake.extensions_server_name_list_len", \
FT_UINT16, BASE_DEC, NULL, 0x0, \
@@ -1410,6 +1463,8 @@ ssl_common_dissect_t name = { \
& name .ett.hs_ext_reneg_info, \
& name .ett.hs_ext_key_share, \
& name .ett.hs_ext_key_share_ks, \
+ & name .ett.hs_ext_pre_shared_key, \
+ & name .ett.hs_ext_psk_identity, \
& name .ett.hs_ext_server_name, \
& name .ett.hs_ext_padding, \
& name .ett.hs_sig_hash_alg, \