aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-sync.c
diff options
context:
space:
mode:
authorJeff Morriss <jeff.morriss.ws@gmail.com>2013-06-19 22:28:58 +0000
committerJeff Morriss <jeff.morriss.ws@gmail.com>2013-06-19 22:28:58 +0000
commit8e7abd987101794c25c4cf3cdfcefc821a821fec (patch)
treefdc9e37118ea5c8ff0394fe648a609f207baf9fc /epan/dissectors/packet-sync.c
parent52f1140931a7ff371ddceae7ca4589fe5bef66ce (diff)
From Anders:
Check Header CRC of SYNC protocol. svn path=/trunk/; revision=50062
Diffstat (limited to 'epan/dissectors/packet-sync.c')
-rw-r--r--epan/dissectors/packet-sync.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/epan/dissectors/packet-sync.c b/epan/dissectors/packet-sync.c
index 5c96535ea1..cf0e66e217 100644
--- a/epan/dissectors/packet-sync.c
+++ b/epan/dissectors/packet-sync.c
@@ -30,6 +30,7 @@
#include <glib.h>
#include <epan/packet.h>
+#include <wsutil/crc6.h>
#define TYPE_0_LEN 17
#define TYPE_1_LEN 11
@@ -133,12 +134,12 @@ dissect_sync(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_
/* Octet 2 - Time Stamp */
timestamp = tvb_get_ntohs(tvb, offset) * 10;
- item = proto_tree_add_uint(sync_tree, hf_sync_timestamp, tvb, offset, 2, timestamp);
- proto_item_append_text(item, " ms");
+ item = proto_tree_add_uint(sync_tree, hf_sync_timestamp, tvb, offset, 2, timestamp);
+ proto_item_append_text(item, " ms");
offset += 2;
/* Octet 4 - Packet Number */
- proto_tree_add_uint(sync_tree, hf_sync_packet_nr, tvb, offset, 2, packet_nr+1);
+ proto_tree_add_uint(sync_tree, hf_sync_packet_nr, tvb, offset, 2, packet_nr+1);
offset += 2;
/* Octet 6 - Elapsed Octet Counter */
@@ -158,8 +159,10 @@ dissect_sync(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_
case 1:
/* SYNC PDU Type 1 */
/* XXX - Calculate the CRC and check against this value? */
- proto_tree_add_item(sync_tree, hf_sync_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN);
+ item = proto_tree_add_item(sync_tree, hf_sync_header_crc, tvb, offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(sync_tree, hf_sync_payload_crc, tvb, offset, 2, ENC_BIG_ENDIAN);
+ proto_item_append_text(item, " [Calculated CRC 0x%x]",
+ crc6_compute(tvb_get_ptr(tvb, 0, offset),offset));
offset += 2;
/* XXX - The payload may not always be present? */