diff options
author | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2016-08-26 10:33:43 +0200 |
---|---|---|
committer | Peter Wu <peter@lekensteyn.nl> | 2016-09-20 09:14:07 +0000 |
commit | b83c730ff0fac672d8623ebb5e6129de370dd1a6 (patch) | |
tree | 51c590d0182ccb55a639932175eec3a0fb3a9b3b /epan/dissectors/packet-ssl-utils.h | |
parent | 811bb3302bf503523f51c219226426feb63b7a18 (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.h | 59 |
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, \ |