From c283cf37c5e962ccd679e23c6aaa821dc16e559a Mon Sep 17 00:00:00 2001 From: Pascal Quantin Date: Tue, 7 Jan 2020 09:39:25 +0100 Subject: NAS 5GS: add missing R15 bits in 5GS network feature support IE Bug: 16310 Change-Id: I52a3e8bbe6ae89c227cd0eee58bb46ba37eceeb6 Reviewed-on: https://code.wireshark.org/review/35676 Reviewed-by: Pascal Quantin Petri-Dish: Pascal Quantin Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman --- epan/dissectors/packet-nas_5gs.c | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/epan/dissectors/packet-nas_5gs.c b/epan/dissectors/packet-nas_5gs.c index 374c594f2d..54fbfc48d7 100644 --- a/epan/dissectors/packet-nas_5gs.c +++ b/epan/dissectors/packet-nas_5gs.c @@ -341,6 +341,8 @@ static int hf_nas_5gs_nw_feat_sup_ims_emf_b5b4 = -1; static int hf_nas_5gs_nw_feat_sup_ims_emc_b3b2 = -1; static int hf_nas_5gs_nw_feat_sup_ims_vops_3gpp = -1; static int hf_nas_5gs_nw_feat_sup_ims_vops_n3gpp = -1; +static int hf_nas_5gs_nw_feat_sup_emcn3 = -1; +static int hf_nas_5gs_nw_feat_sup_mcsi = -1; static int hf_nas_5gs_tac = -1; @@ -837,6 +839,7 @@ de_nas_5gs_mm_5gs_nw_feat_sup(tvbuff_t *tvb, proto_tree *tree, packet_info *pinf guint32 offset, guint len, gchar *add_string _U_, int string_len _U_) { + guint32 curr_offset = offset; static const int * flags_oct3[] = { &hf_nas_5gs_nw_feat_sup_mpsi_b7, @@ -848,16 +851,31 @@ de_nas_5gs_mm_5gs_nw_feat_sup(tvbuff_t *tvb, proto_tree *tree, packet_info *pinf NULL }; + static const int * flags_oct4[] = { + &hf_nas_5gs_spare_b7, + &hf_nas_5gs_spare_b6, + &hf_nas_5gs_spare_b5, + &hf_nas_5gs_spare_b4, + &hf_nas_5gs_spare_b3, + &hf_nas_5gs_spare_b2, + &hf_nas_5gs_nw_feat_sup_mcsi, + &hf_nas_5gs_nw_feat_sup_emcn3, + NULL + }; /* MPSI IWK N26 EMF EMC IMS VoPS octet 3*/ - proto_tree_add_bitmask_list(tree, tvb, offset, 1, flags_oct3, ENC_BIG_ENDIAN); + proto_tree_add_bitmask_list(tree, tvb, curr_offset, 1, flags_oct3, ENC_BIG_ENDIAN); + curr_offset++; if (len == 1) { return len; } /* 5G-LCS 5G-UP CIoT 5G-HC-CP CIoT N3 data 5G-CP CIoT RestrictEC MCSI EMCN3 octet 4*/ + proto_tree_add_bitmask_list(tree, tvb, curr_offset, 1, flags_oct4, ENC_BIG_ENDIAN); + curr_offset++; + EXTRANEOUS_DATA_CHECK(len, curr_offset - offset, pinfo, &ei_nas_5gs_extraneous_data); return len; } @@ -8060,6 +8078,16 @@ proto_register_nas_5gs(void) FT_BOOLEAN, 8, TFS(&tfs_nas_5gs_nw_feat_sup_mpsi), 0x80, NULL, HFILL } }, + { &hf_nas_5gs_nw_feat_sup_emcn3, + { "Emergency services over non-3GPP access (EMCN3)", "nas_5gs.nw_feat_sup.emcn3", + FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x01, + NULL, HFILL } + }, + { &hf_nas_5gs_nw_feat_sup_mcsi, + { "MCS indicator (MCSI)", "nas_5gs.nw_feat_sup.mcsi", + FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x02, + NULL, HFILL } + }, { &hf_nas_5gs_tac, { "TAC", "nas_5gs.tac", -- cgit v1.2.3