From 348e0de9d3d9f51411b659c1645e80a5b4ed6def Mon Sep 17 00:00:00 2001 From: Anders Broman Date: Thu, 9 May 2019 13:03:09 +0200 Subject: ieee1609dot2: Add media type dissection. Change-Id: Iaa6979535c120402957510bc7d89df3e9d83b15a Reviewed-on: https://code.wireshark.org/review/33130 Petri-Dish: Anders Broman Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman --- .../ieee1609dot2/packet-ieee1609dot2-template.c | 13 +++++++++++- epan/dissectors/packet-ieee1609dot2.c | 23 ++++++++++++++++------ 2 files changed, 29 insertions(+), 7 deletions(-) (limited to 'epan/dissectors') diff --git a/epan/dissectors/asn1/ieee1609dot2/packet-ieee1609dot2-template.c b/epan/dissectors/asn1/ieee1609dot2/packet-ieee1609dot2-template.c index 9518c57983..5b95e87bfe 100644 --- a/epan/dissectors/asn1/ieee1609dot2/packet-ieee1609dot2-template.c +++ b/epan/dissectors/asn1/ieee1609dot2/packet-ieee1609dot2-template.c @@ -29,9 +29,11 @@ #define PFNAME "ieee1609dot2" void proto_register_ieee1609dot2(void); +void proto_reg_handoff_ieee1609dot2(void); /* Initialize the protocol and registered fields */ int proto_ieee1609dot2 = -1; +dissector_handle_t proto_ieee1609dot2_handle = NULL; #include "packet-ieee1609dot2-hf.c" /* Initialize the subtree pointers */ @@ -76,7 +78,7 @@ void proto_register_ieee1609dot2(void) { proto_register_field_array(proto_ieee1609dot2, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); - register_dissector("ieee1609dot2.data", dissect_Ieee1609Dot2Data_PDU, proto_ieee1609dot2); + proto_ieee1609dot2_handle = register_dissector("ieee1609dot2.data", dissect_Ieee1609Dot2Data_PDU, proto_ieee1609dot2); // See TS17419_ITS-AID_AssignedNumbers unsecured_data_subdissector_table = register_dissector_table("ieee1609dot2.psid", @@ -84,3 +86,12 @@ void proto_register_ieee1609dot2(void) { ssp_subdissector_table = register_dissector_table("ieee1609dot2.ssp", "ATS-AID/PSID based dissector for Service Specific Permissions (SSP)", proto_ieee1609dot2, FT_UINT32, BASE_HEX); } + +void proto_reg_handoff_ieee1609dot2(void) { + dissector_add_string("media_type", "application/x-its", proto_ieee1609dot2_handle); + dissector_add_string("media_type", "application/x-its-request", proto_ieee1609dot2_handle); + dissector_add_string("media_type", "application/x-its-response", proto_ieee1609dot2_handle); + + //dissector_add_uint_range_with_preference("udp.port", "56000,56001", proto_ieee1609dot2_handle); + +} diff --git a/epan/dissectors/packet-ieee1609dot2.c b/epan/dissectors/packet-ieee1609dot2.c index bc5ab41887..24f87ee35d 100644 --- a/epan/dissectors/packet-ieee1609dot2.c +++ b/epan/dissectors/packet-ieee1609dot2.c @@ -37,9 +37,11 @@ #define PFNAME "ieee1609dot2" void proto_register_ieee1609dot2(void); +void proto_reg_handoff_ieee1609dot2(void); /* Initialize the protocol and registered fields */ int proto_ieee1609dot2 = -1; +dissector_handle_t proto_ieee1609dot2_handle = NULL; /*--- Included file: packet-ieee1609dot2-hf.c ---*/ #line 1 "./asn1/ieee1609dot2/packet-ieee1609dot2-hf.c" @@ -211,7 +213,7 @@ static int hf_ieee1609dot2_EndEntityType_app = -1; static int hf_ieee1609dot2_EndEntityType_enrol = -1; /*--- End of included file: packet-ieee1609dot2-hf.c ---*/ -#line 36 "./asn1/ieee1609dot2/packet-ieee1609dot2-template.c" +#line 38 "./asn1/ieee1609dot2/packet-ieee1609dot2-template.c" /* Initialize the subtree pointers */ static int ett_ieee1609dot2_ssp = -1; @@ -288,7 +290,7 @@ static gint ett_ieee1609dot2_SubjectPermissions = -1; static gint ett_ieee1609dot2_VerificationKeyIndicator = -1; /*--- End of included file: packet-ieee1609dot2-ett.c ---*/ -#line 40 "./asn1/ieee1609dot2/packet-ieee1609dot2-template.c" +#line 42 "./asn1/ieee1609dot2/packet-ieee1609dot2-template.c" static dissector_table_t unsecured_data_subdissector_table; static dissector_table_t ssp_subdissector_table; @@ -2110,7 +2112,7 @@ static int dissect_Ieee1609Dot2Data_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U /*--- End of included file: packet-ieee1609dot2-fn.c ---*/ -#line 56 "./asn1/ieee1609dot2/packet-ieee1609dot2-template.c" +#line 58 "./asn1/ieee1609dot2/packet-ieee1609dot2-template.c" /*--- proto_register_ieee1609dot2 ----------------------------------------------*/ @@ -2783,7 +2785,7 @@ void proto_register_ieee1609dot2(void) { NULL, HFILL }}, /*--- End of included file: packet-ieee1609dot2-hfarr.c ---*/ -#line 64 "./asn1/ieee1609dot2/packet-ieee1609dot2-template.c" +#line 66 "./asn1/ieee1609dot2/packet-ieee1609dot2-template.c" }; /* List of subtrees */ @@ -2861,7 +2863,7 @@ void proto_register_ieee1609dot2(void) { &ett_ieee1609dot2_VerificationKeyIndicator, /*--- End of included file: packet-ieee1609dot2-ettarr.c ---*/ -#line 69 "./asn1/ieee1609dot2/packet-ieee1609dot2-template.c" +#line 71 "./asn1/ieee1609dot2/packet-ieee1609dot2-template.c" &ett_ieee1609dot2_ssp, }; @@ -2872,7 +2874,7 @@ void proto_register_ieee1609dot2(void) { proto_register_field_array(proto_ieee1609dot2, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); - register_dissector("ieee1609dot2.data", dissect_Ieee1609Dot2Data_PDU, proto_ieee1609dot2); + proto_ieee1609dot2_handle = register_dissector("ieee1609dot2.data", dissect_Ieee1609Dot2Data_PDU, proto_ieee1609dot2); // See TS17419_ITS-AID_AssignedNumbers unsecured_data_subdissector_table = register_dissector_table("ieee1609dot2.psid", @@ -2880,3 +2882,12 @@ void proto_register_ieee1609dot2(void) { ssp_subdissector_table = register_dissector_table("ieee1609dot2.ssp", "ATS-AID/PSID based dissector for Service Specific Permissions (SSP)", proto_ieee1609dot2, FT_UINT32, BASE_HEX); } + +void proto_reg_handoff_ieee1609dot2(void) { + dissector_add_string("media_type", "application/x-its", proto_ieee1609dot2_handle); + dissector_add_string("media_type", "application/x-its-request", proto_ieee1609dot2_handle); + dissector_add_string("media_type", "application/x-its-response", proto_ieee1609dot2_handle); + + //dissector_add_uint_range_with_preference("udp.port", "56000,56001", proto_ieee1609dot2_handle); + +} -- cgit v1.2.3