diff options
author | Anders Broman <anders.broman@ericsson.com> | 2020-07-01 12:57:18 +0200 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2020-07-01 11:35:29 +0000 |
commit | 217c0e65f10dd8677c640fd46d7be5af3e1af45f (patch) | |
tree | 84b7d8c356babaedee86016c2043be257802536f /epan/dissectors | |
parent | 18d29c7023fcad8a36778d09f0efc527557bdf15 (diff) |
NGAP: Preserve column info when NGAP is embedded in HTTP2.
Fix regression due to different dissector function called.
Change-Id: Ibf3bfc5ac1cb740e71afa89018d57808c418cdab
Reviewed-on: https://code.wireshark.org/review/37638
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors')
-rw-r--r-- | epan/dissectors/asn1/ngap/packet-ngap-template.c | 3 | ||||
-rw-r--r-- | epan/dissectors/packet-ngap.c | 9 |
2 files changed, 9 insertions, 3 deletions
diff --git a/epan/dissectors/asn1/ngap/packet-ngap-template.c b/epan/dissectors/asn1/ngap/packet-ngap-template.c index d24885674e..8f2dc94412 100644 --- a/epan/dissectors/asn1/ngap/packet-ngap-template.c +++ b/epan/dissectors/asn1/ngap/packet-ngap-template.c @@ -556,7 +556,10 @@ dissect_ngap_media_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi col_append_sep_str(pinfo->cinfo, COL_PROTOCOL, "/", "NGAP"); ngap_item = proto_tree_add_item(tree, proto_ngap, tvb, 0, -1, ENC_NA); ngap_tree = proto_item_add_subtree(ngap_item, ett_ngap); + gboolean save_writable = col_get_writable(pinfo->cinfo, COL_PROTOCOL); + col_set_writable(pinfo->cinfo, COL_PROTOCOL, FALSE); call_dissector_with_data(subdissector, tvb, pinfo, ngap_tree, NULL); + col_set_writable(pinfo->cinfo, COL_PROTOCOL, save_writable); return tvb_captured_length(tvb); } else { return 0; diff --git a/epan/dissectors/packet-ngap.c b/epan/dissectors/packet-ngap.c index 973dcf95f8..3602d0e4a8 100644 --- a/epan/dissectors/packet-ngap.c +++ b/epan/dissectors/packet-ngap.c @@ -14726,7 +14726,10 @@ dissect_ngap_media_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi col_append_sep_str(pinfo->cinfo, COL_PROTOCOL, "/", "NGAP"); ngap_item = proto_tree_add_item(tree, proto_ngap, tvb, 0, -1, ENC_NA); ngap_tree = proto_item_add_subtree(ngap_item, ett_ngap); + gboolean save_writable = col_get_writable(pinfo->cinfo, COL_PROTOCOL); + col_set_writable(pinfo->cinfo, COL_PROTOCOL, FALSE); call_dissector_with_data(subdissector, tvb, pinfo, ngap_tree, NULL); + col_set_writable(pinfo->cinfo, COL_PROTOCOL, save_writable); return tvb_captured_length(tvb); } else { return 0; @@ -15032,7 +15035,7 @@ proto_reg_handoff_ngap(void) /*--- End of included file: packet-ngap-dis-tab.c ---*/ -#line 582 "./asn1/ngap/packet-ngap-template.c" +#line 585 "./asn1/ngap/packet-ngap-template.c" dissector_add_string("media_type", "application/vnd.3gpp.ngap", ngap_media_type_handle); } else { @@ -18165,7 +18168,7 @@ void proto_register_ngap(void) { "UnsuccessfulOutcome_value", HFILL }}, /*--- End of included file: packet-ngap-hfarr.c ---*/ -#line 730 "./asn1/ngap/packet-ngap-template.c" +#line 733 "./asn1/ngap/packet-ngap-template.c" }; /* List of subtrees */ @@ -18636,7 +18639,7 @@ void proto_register_ngap(void) { &ett_ngap_UnsuccessfulOutcome, /*--- End of included file: packet-ngap-ettarr.c ---*/ -#line 761 "./asn1/ngap/packet-ngap-template.c" +#line 764 "./asn1/ngap/packet-ngap-template.c" }; static ei_register_info ei[] = { |