diff options
author | Bruno Verstuyft <bruno.verstuyft@excentis.com> | 2018-10-18 14:48:48 +0200 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2018-10-19 04:38:41 +0000 |
commit | 1d056bbd1b4b4738ea1f6af920f00b7b0e0e1375 (patch) | |
tree | a0e055018d35ec3e96ccfda3aae73d9d34f21277 /epan/dissectors/packet-docsis.c | |
parent | cf6d054ad88c8c4a4fb3f88f3ca97477b2017c4e (diff) |
DOCSIS: indication of encrypted data
Change-Id: I81d4387a5c68eff4f5bdb95950a5871a940d0623
Reviewed-on: https://code.wireshark.org/review/30241
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/packet-docsis.c')
-rw-r--r-- | epan/dissectors/packet-docsis.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/epan/dissectors/packet-docsis.c b/epan/dissectors/packet-docsis.c index af72b95e48..1550e01d0c 100644 --- a/epan/dissectors/packet-docsis.c +++ b/epan/dissectors/packet-docsis.c @@ -528,7 +528,7 @@ dissect_exthdr_length_field (tvbuff_t * tvb, packet_info * pinfo, proto_tree * d /* Print DST and SRC MACs and do not dissect the payload */ /* Implementation inferred from packet-eth.c */ static void -dissect_encrypted_frame (tvbuff_t * tvb, proto_tree * tree, const guint8 fctype) +dissect_encrypted_frame (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, const guint8 fctype) { guint32 offset, frame_len; const guint8 *src_addr, *dst_addr; @@ -544,6 +544,8 @@ dissect_encrypted_frame (tvbuff_t * tvb, proto_tree * tree, const guint8 fctype) * - Registration Request (REG-REQ-MP) MAC Management Message Frames; * - Isolation PDU MAC Frames. */ + col_append_str (pinfo->cinfo, COL_INFO, " (Encrypted)"); + offset = 0; frame_len = tvb_captured_length_remaining (tvb, offset); switch (fctype) @@ -695,7 +697,7 @@ dissect_docsis (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, void* da { next_tvb = tvb_new_subset_remaining(tvb, hdrlen); if(is_encrypted && !docsis_dissect_encrypted_frames) - dissect_encrypted_frame (next_tvb, docsis_tree, fctype); + dissect_encrypted_frame (next_tvb, pinfo, docsis_tree, fctype); else call_dissector (eth_withoutfcs_handle, next_tvb, pinfo, docsis_tree); } @@ -731,7 +733,7 @@ dissect_docsis (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, void* da { next_tvb = tvb_new_subset_remaining(tvb, hdrlen); if(is_encrypted && !docsis_dissect_encrypted_frames) - dissect_encrypted_frame (next_tvb, docsis_tree, fctype); + dissect_encrypted_frame (next_tvb, pinfo, docsis_tree, fctype); else call_dissector (eth_withoutfcs_handle, next_tvb, pinfo, docsis_tree); } @@ -757,7 +759,7 @@ dissect_docsis (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, void* da /* Pass off to the DOCSIS Management dissector/s */ mgt_tvb = tvb_new_subset_remaining(tvb, hdrlen); if(is_encrypted && !docsis_dissect_encrypted_frames) - dissect_encrypted_frame (next_tvb, docsis_tree, fctype); + dissect_encrypted_frame (next_tvb, pinfo, docsis_tree, fctype); else call_dissector (docsis_mgmt_handle, mgt_tvb, pinfo, docsis_tree); } @@ -823,7 +825,7 @@ dissect_docsis (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, void* da { /* By default assume an Ethernet payload */ if(is_encrypted && !docsis_dissect_encrypted_frames) - dissect_encrypted_frame (next_tvb, docsis_tree, fctype); + dissect_encrypted_frame (next_tvb, pinfo, docsis_tree, fctype); else call_dissector (eth_withoutfcs_handle, next_tvb, pinfo, docsis_tree); } else { |