diff options
author | Birol Capa <birol.capa@siemens.com> | 2016-09-22 16:42:39 +0300 |
---|---|---|
committer | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2016-09-22 15:41:41 +0000 |
commit | 7477e1c3b90cedfe0d154f5b4c8eb9e5d7e26b59 (patch) | |
tree | e75daf3974f2c42c0cc55c162f97c83247e24517 /plugins | |
parent | f4a521ee74f01063fe2738ff5a975d5a833ab85e (diff) |
Fix Profinet RPCInterfaceUUID decoding
The translation of all RPCInterfaceUUID for PNIO evaluates to "PNIO".
However, UUID allows distinction of
- UUID_IO_DeviceInterface (IOD-IF)
- UUID_IO_ControllerInterface (IOC-IF)
- UUID_IO_SupervisorInterface (IOS-IF)
- UUID_IO_ParameterServerInterface (PServ-IF)
Bug: 12938
Change-Id: I97c27808f61abd96728421488bb0ee5fdbace566
Reviewed-on: https://code.wireshark.org/review/17865
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/profinet/packet-dcerpc-pn-io.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/plugins/profinet/packet-dcerpc-pn-io.c b/plugins/profinet/packet-dcerpc-pn-io.c index f1f98d43f4..5bcd060ed7 100644 --- a/plugins/profinet/packet-dcerpc-pn-io.c +++ b/plugins/profinet/packet-dcerpc-pn-io.c @@ -97,6 +97,7 @@ void proto_reg_handoff_pn_io(void); static int proto_pn_io = -1; +static int proto_pn_io_device = -1; static int proto_pn_io_controller = -1; static int proto_pn_io_supervisor = -1; static int proto_pn_io_parameterserver = -1; @@ -12948,9 +12949,10 @@ proto_register_pn_io (void) register_dissector("pnio", dissect_PNIO_heur, proto_pn_io); /* Created to remove Decode As confusion */ - proto_pn_io_controller = proto_register_protocol ("PROFINET IO (Controller)", "PNIO (Controller)", "pn_io_controller"); - proto_pn_io_supervisor = proto_register_protocol ("PROFINET IO (Supervisor)", "PNIO (Supervisor)", "pn_io_supervisor"); - proto_pn_io_parameterserver = proto_register_protocol ("PROFINET IO (Parameter Server)", "PNIO (Parameter Server)", "pn_io_parameterserver"); + proto_pn_io_device = proto_register_protocol("PROFINET IO (Device)", "PNIO (Device Interface)", "pn_io_device"); + proto_pn_io_controller = proto_register_protocol ("PROFINET IO (Controller)", "PNIO (Controller Interface)", "pn_io_controller"); + proto_pn_io_supervisor = proto_register_protocol ("PROFINET IO (Supervisor)", "PNIO (Supervisor Interface)", "pn_io_supervisor"); + proto_pn_io_parameterserver = proto_register_protocol ("PROFINET IO (Parameter Server)", "PNIO (Parameter Server Interface)", "pn_io_parameterserver"); proto_register_field_array (proto_pn_io, hf, array_length (hf)); proto_register_subtree_array (ett, array_length (ett)); @@ -12987,7 +12989,7 @@ void proto_reg_handoff_pn_io (void) { /* Register the protocols as dcerpc */ - dcerpc_init_uuid (proto_pn_io, ett_pn_io, &uuid_pn_io_device, ver_pn_io_device, pn_io_dissectors, hf_pn_io_opnum); + dcerpc_init_uuid (proto_pn_io_device, ett_pn_io, &uuid_pn_io_device, ver_pn_io_device, pn_io_dissectors, hf_pn_io_opnum); dcerpc_init_uuid (proto_pn_io_controller, ett_pn_io, &uuid_pn_io_controller, ver_pn_io_controller, pn_io_dissectors, hf_pn_io_opnum); dcerpc_init_uuid (proto_pn_io_supervisor, ett_pn_io, &uuid_pn_io_supervisor, ver_pn_io_supervisor, pn_io_dissectors, hf_pn_io_opnum); dcerpc_init_uuid (proto_pn_io_parameterserver, ett_pn_io, &uuid_pn_io_parameterserver, ver_pn_io_parameterserver, pn_io_dissectors, hf_pn_io_opnum); |