Wireshark-commits: [Wireshark-commits] master 45aecc0: CIP: Improve Class 2/3 connection handling
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=45aecc07c96def240976bc67b4571b1c48ee33b3
Submitter: Anders Broman (a.broman58@xxxxxxxxx)
Changed: branch: master
Repository: wireshark
Commits:
45aecc0 by Dylan Ulis (daulis0@xxxxxxxxx):
CIP: Improve Class 2/3 connection handling
1. Add new dissector table that allows for registration of CIP Class 2/3 Data
against CIP Class that was used in the Forward Open. This is similar to the
Class 0/1 I/O dissector table. The new logic is this:
a. If there is connection info and a table entry: Call the registered dissector
handle (cip_connection_message_router.pcap).
b. If there is connection info and no table entry, use the CIP implicit
dissector (cip_connection_implicit.pcap)
c. If there is no connection info: Assume Message Router (Class 0x2)
format (cip_no_connection_message_router.pcap)
2. Remove old dissector table for "enip.sud.iface". The specification states that
the Interface Handle "shall be zero" for SendUnitData, so there isn't a need
to have custom handling for different Interface Handle values. SendRRData
does not have the same restriction, so that dissector table (enip.srrd.iface)
will stay.
3. Pull out Class 2/3 data processing into separate function: dissect_cip_class23_data()
4. Remove extra unnecessary tree layer in implicit data dissector.
Bug: 14916
Change-Id: Id53a2031a6064551b3915d8954527a7b3261d222
Reviewed-on: https://code.wireshark.org/review/28496
Petri-Dish: Graham Bloice <graham.bloice@xxxxxxxxxxxxx>
Reviewed-by: Roland Knall <rknall@xxxxxxxxx>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@xxxxxxxxx>
Actions performed:
from a7610e8 Sort our column descriptions.
adds 45aecc0 CIP: Improve Class 2/3 connection handling
Summary of changes:
epan/dissectors/packet-cip.c | 15 +++---
epan/dissectors/packet-enip.c | 118 +++++++++++++++++++++++-------------------
2 files changed, 71 insertions(+), 62 deletions(-)