GTPv2: Handle EPS Security Context long EAR data

Similar to the UMTS MM Context, when the Extended Access
Restriction Data length is greater than 1, handle the length
but indicate that we don't dissect it yet.

Also fix two of the UMTS MM Context expert infos being added to
the wrong tree.

Fix #19630
This commit is contained in:
John Thacker 2024-02-01 18:33:50 -05:00 committed by AndersBroman
parent b69943609a
commit 546d8763e9
1 changed files with 6 additions and 2 deletions

View File

@ -4722,7 +4722,7 @@ dissect_gtpv2_mm_context_utms_q(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
proto_tree_add_bitmask_list(tree, tvb, offset, 1, ear_flags, ENC_BIG_ENDIAN);
offset += 1;
if (ear_len > 1) {
proto_tree_add_expert_format(flag_tree, pinfo, &ei_gtpv2_ie_data_not_dissected, tvb, offset, -1, "The rest of the IE not dissected yet");
proto_tree_add_expert_format(tree, pinfo, &ei_gtpv2_ie_data_not_dissected, tvb, offset, -1, "The rest of the IE not dissected yet");
offset += ear_len - 1;
}
} else {
@ -4733,7 +4733,7 @@ dissect_gtpv2_mm_context_utms_q(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
return;
}
/* ts+1) to (n+4) These octet(s) is/are present only if explicitly specified */
proto_tree_add_expert_format(flag_tree, pinfo, &ei_gtpv2_ie_data_not_dissected, tvb, offset, -1, "The rest of the IE not dissected yet");
proto_tree_add_expert_format(tree, pinfo, &ei_gtpv2_ie_data_not_dissected, tvb, offset, -1, "The rest of the IE not dissected yet");
}
@ -4942,6 +4942,10 @@ dissect_gtpv2_mm_context_eps_qq(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
proto_tree_add_bitmask_list(tree, tvb, offset, 1, ear_flags, ENC_BIG_ENDIAN);
offset += 1;
if (ex_access_res_data_len > 1) {
proto_tree_add_expert_format(tree, pinfo, &ei_gtpv2_ie_data_not_dissected, tvb, offset, ex_access_res_data_len - 1, "The rest of the IE not dissected yet");
offset += ex_access_res_data_len - 1;
}
}
if (offset == (gint)length) {