summaryrefslogtreecommitdiff
path: root/plugins/profinet/packet-dcerpc-pn-io.c
diff options
context:
space:
mode:
authorBirol Capa <birol.capa@siemens.com>2016-09-22 16:42:39 +0300
committerAlexis La Goutte <alexis.lagoutte@gmail.com>2016-09-22 15:41:41 +0000
commit7477e1c3b90cedfe0d154f5b4c8eb9e5d7e26b59 (patch)
treee75daf3974f2c42c0cc55c162f97c83247e24517 /plugins/profinet/packet-dcerpc-pn-io.c
parentf4a521ee74f01063fe2738ff5a975d5a833ab85e (diff)
downloadwireshark-7477e1c3b90cedfe0d154f5b4c8eb9e5d7e26b59.tar.gz
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/profinet/packet-dcerpc-pn-io.c')
-rw-r--r--plugins/profinet/packet-dcerpc-pn-io.c10
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);