aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-zbee-zcl-se.c
diff options
context:
space:
mode:
authorMartin Boye Petersen <martinboyepetersen@gmail.com>2018-01-21 21:17:08 +0100
committerAnders Broman <a.broman58@gmail.com>2018-01-22 11:45:14 +0000
commita6ae7f75714d6a7cb0f8d0ea2b1a4e649da59533 (patch)
tree57dbfe018e1535004311ddd80e64f16c2e45fd4a /epan/dissectors/packet-zbee-zcl-se.c
parent3e14d3b440eb85fce8e48d5d0326c60dff7fe10a (diff)
ZigBee: Add a preference to choose ZigBee Smart Energy version used for dissecting
Some ZigBee commands within the Smart Energy Profile does not have the same payload across different specifications. With this preference it is possible to choose what version of the specification to use when dissecting payloads. The default version is set to the latest one, which is Smart Energy 1.4, even though it is still under development. Change-Id: Iaec5528f2a418aeec4e39cfa087a58e531570d42 Reviewed-on: https://code.wireshark.org/review/25409 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Kenneth Soerensen <knnthsrnsn@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-zbee-zcl-se.c')
-rwxr-xr-xepan/dissectors/packet-zbee-zcl-se.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/epan/dissectors/packet-zbee-zcl-se.c b/epan/dissectors/packet-zbee-zcl-se.c
index e4deacf9cb..f5c1e2bb86 100755
--- a/epan/dissectors/packet-zbee-zcl-se.c
+++ b/epan/dissectors/packet-zbee-zcl-se.c
@@ -5270,7 +5270,6 @@ dissect_zcl_met_get_snapshot(tvbuff_t *tvb, proto_tree *tree, guint *offset)
{
nstime_t start_time;
nstime_t end_time;
- gint rem_len = tvb_reported_length_remaining(tvb, *offset);
/* Start Time */
start_time.secs = (time_t)tvb_get_letohl(tvb, *offset) + ZBEE_ZCL_NSTIME_UTC_OFFSET;
@@ -5278,8 +5277,8 @@ dissect_zcl_met_get_snapshot(tvbuff_t *tvb, proto_tree *tree, guint *offset)
proto_tree_add_time(tree, hf_zbee_zcl_met_get_snapshot_start_time, tvb, *offset, 4, &start_time);
*offset += 4;
- if (rem_len > 9) {
- /* End Time - not part of SE 1.1b specification */
+ if (gPREF_zbee_se_protocol_version >= ZBEE_SE_VERSION_1_2) {
+ /* End Time - Introduced from ZCL version 1.2 */
end_time.secs = (time_t)tvb_get_letohl(tvb, *offset) + ZBEE_ZCL_NSTIME_UTC_OFFSET;
end_time.nsecs = 0;
proto_tree_add_time(tree, hf_zbee_zcl_met_get_snapshot_end_time, tvb, *offset, 4, &end_time);
@@ -10281,9 +10280,11 @@ dissect_zcl_events_publish_event(tvbuff_t *tvb, proto_tree *tree, guint *offset)
nstime_t event_time;
gint length;
- /* Log ID */
- proto_tree_add_item(tree, hf_zbee_zcl_events_publish_event_log_id, tvb, *offset, 1, ENC_NA);
- *offset += 1;
+ if (gPREF_zbee_se_protocol_version >= ZBEE_SE_VERSION_1_2) {
+ /* Log ID - Introduced from ZCL version 1.2 */
+ proto_tree_add_item(tree, hf_zbee_zcl_events_publish_event_log_id, tvb, *offset, 1, ENC_NA);
+ *offset += 1;
+ }
/* Event ID */
proto_tree_add_item(tree, hf_zbee_zcl_events_publish_event_event_id, tvb, *offset, 2, ENC_LITTLE_ENDIAN);
@@ -10338,9 +10339,11 @@ dissect_zcl_events_publish_event_log(tvbuff_t *tvb, proto_tree *tree, guint *off
/* Add subtree */
event_log_tree = proto_tree_add_subtree_format(tree, tvb, *offset, 0, ett_zbee_zcl_events_publish_event_log_entry[i], NULL, "Event Log %d", i + 1);
- /* Log ID */
- proto_tree_add_item(event_log_tree, hf_zbee_zcl_events_publish_event_log_log_id, tvb, *offset, 1, ENC_NA);
- *offset += 1;
+ if (gPREF_zbee_se_protocol_version >= ZBEE_SE_VERSION_1_2) {
+ /* Log ID - Introduced from ZCL version 1.2 */
+ proto_tree_add_item(event_log_tree, hf_zbee_zcl_events_publish_event_log_log_id, tvb, *offset, 1, ENC_NA);
+ *offset += 1;
+ }
/* Event ID */
proto_item_append_text(event_log_tree, ", Event ID: 0x%04x", tvb_get_guint16(tvb, *offset, ENC_LITTLE_ENDIAN));