diff options
author | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2013-12-17 10:43:08 +0000 |
---|---|---|
committer | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2013-12-17 10:43:08 +0000 |
commit | bde542ba74a1cae7004af54b6c3f20ef2aadc27d (patch) | |
tree | 475531053c59262a8f0a5e744b7bb679d5a460d1 /epan/dissectors/packet-zbee-zcl-meas-sensing.c | |
parent | 7e2353f5d4b6ddd402e45225e19b2d471db26c0a (diff) |
From Fabio Tarabelloni via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9547
Zbee ZCL wrong cmdID in DefaultRespons
Default Response command generated by Specific command cluster contains wrong cmdId decoding. The value shows the cross-cluster command id but not the specific cluster command id name.
Draft of solution is already created (now is under test). The idea is to add a cmdId function callback in zbee_zcl_init_cluster in order to call it when wireshark has to decode specific cluster cmd in default response.
svn path=/trunk/; revision=54171
Diffstat (limited to 'epan/dissectors/packet-zbee-zcl-meas-sensing.c')
-rw-r--r-- | epan/dissectors/packet-zbee-zcl-meas-sensing.c | 42 |
1 files changed, 22 insertions, 20 deletions
diff --git a/epan/dissectors/packet-zbee-zcl-meas-sensing.c b/epan/dissectors/packet-zbee-zcl-meas-sensing.c index 88810688e3..bdc59e8a76 100644 --- a/epan/dissectors/packet-zbee-zcl-meas-sensing.c +++ b/epan/dissectors/packet-zbee-zcl-meas-sensing.c @@ -77,21 +77,15 @@ /*************************/ /* Function Declarations */ /*************************/ + void proto_register_zbee_zcl_illum_meas(void); void proto_reg_handoff_zbee_zcl_illum_meas(void); -void proto_register_zbee_zcl_temp_meas(void); -void proto_reg_handoff_zbee_zcl_temp_meas(void); -void proto_register_zbee_zcl_press_meas(void); -void proto_reg_handoff_zbee_zcl_press_meas(void); -void proto_register_zbee_zcl_relhum_meas(void); -void proto_reg_handoff_zbee_zcl_relhum_meas(void); /* Command Dissector Helpers */ - -/* Private functions prototype */ static void dissect_zcl_illum_meas_attr_id (proto_tree *tree, tvbuff_t *tvb, guint *offset, guint16 attr_id); static void dissect_zcl_illum_meas_attr_data (proto_tree *tree, tvbuff_t *tvb, guint *offset, guint16 attr_id, guint data_type); +/* Private functions prototype */ static void decode_illum_meas_value (gchar *s, guint16 value); static void decode_illum_meas_min_value (gchar *s, guint16 value); static void decode_illum_meas_max_value (gchar *s, guint16 value); @@ -396,7 +390,8 @@ proto_reg_handoff_zbee_zcl_illum_meas(void) ett_zbee_zcl_illum_meas, ZBEE_ZCL_CID_ILLUMINANCE_MEASUREMENT, (zbee_zcl_fn_attr_id)dissect_zcl_illum_meas_attr_id, - (zbee_zcl_fn_attr_data)dissect_zcl_illum_meas_attr_data + (zbee_zcl_fn_attr_data)dissect_zcl_illum_meas_attr_data, + NULL ); } /*proto_reg_handoff_zbee_zcl_illum_meas*/ @@ -433,17 +428,18 @@ proto_reg_handoff_zbee_zcl_illum_meas(void) #define ZBEE_ZCL_ATTR_ID_TEMP_MEAS_TOL_LO_VALUE 0x0000 /* Tolerance (Low Bound) */ #define ZBEE_ZCL_ATTR_ID_TEMP_MEAS_TOL_HI_VALUE 0x0800 /* Tolerance (Low Bound) */ - /*************************/ /* Function Declarations */ /*************************/ -/* Command Dissector Helpers */ +void proto_register_zbee_zcl_temp_meas(void); +void proto_reg_handoff_zbee_zcl_temp_meas(void); -/* Private functions prototype */ +/* Command Dissector Helpers */ static void dissect_zcl_temp_meas_attr_id (proto_tree *tree, tvbuff_t *tvb, guint *offset, guint16 attr_id); static void dissect_zcl_temp_meas_attr_data (proto_tree *tree, tvbuff_t *tvb, guint *offset, guint16 attr_id, guint data_type); +/* Private functions prototype */ static void decode_temp_meas_value (gchar *s, gint16 value); static void decode_temp_meas_min_value (gchar *s, gint16 value); static void decode_temp_meas_max_value (gchar *s, gint16 value); @@ -728,7 +724,8 @@ proto_reg_handoff_zbee_zcl_temp_meas(void) ett_zbee_zcl_temp_meas, ZBEE_ZCL_CID_TEMPERATURE_MEASUREMENT, (zbee_zcl_fn_attr_id)dissect_zcl_temp_meas_attr_id, - (zbee_zcl_fn_attr_data)dissect_zcl_temp_meas_attr_data + (zbee_zcl_fn_attr_data)dissect_zcl_temp_meas_attr_data, + NULL ); } /*proto_reg_handoff_zbee_zcl_temp_meas*/ @@ -777,12 +774,14 @@ proto_reg_handoff_zbee_zcl_temp_meas(void) /* Function Declarations */ /*************************/ -/* Command Dissector Helpers */ +void proto_register_zbee_zcl_press_meas(void); +void proto_reg_handoff_zbee_zcl_press_meas(void); -/* Private functions prototype */ +/* Command Dissector Helpers */ static void dissect_zcl_press_meas_attr_id (proto_tree *tree, tvbuff_t *tvb, guint *offset, guint16 attr_id); static void dissect_zcl_press_meas_attr_data (proto_tree *tree, tvbuff_t *tvb, guint *offset, guint16 attr_id, guint data_type); +/* Private functions prototype */ static void decode_press_meas_value (gchar *s, gint16 value); static void decode_press_meas_min_value (gchar *s, gint16 value); static void decode_press_meas_max_value (gchar *s, gint16 value); @@ -1124,7 +1123,8 @@ proto_reg_handoff_zbee_zcl_press_meas(void) ett_zbee_zcl_press_meas, ZBEE_ZCL_CID_PRESSURE_MEASUREMENT, (zbee_zcl_fn_attr_id)dissect_zcl_press_meas_attr_id, - (zbee_zcl_fn_attr_data)dissect_zcl_press_meas_attr_data + (zbee_zcl_fn_attr_data)dissect_zcl_press_meas_attr_data, + NULL ); } /*proto_reg_handoff_zbee_zcl_press_meas*/ @@ -1162,17 +1162,18 @@ proto_reg_handoff_zbee_zcl_press_meas(void) #define ZBEE_ZCL_ATTR_ID_RELHUM_MEAS_TOL_LO_VALUE 0x0000 /* Tolerance (Low Bound) */ #define ZBEE_ZCL_ATTR_ID_RELHUM_MEAS_TOL_HI_VALUE 0x0800 /* Tolerance (Low Bound) */ - /*************************/ /* Function Declarations */ /*************************/ -/* Command Dissector Helpers */ +void proto_register_zbee_zcl_relhum_meas(void); +void proto_reg_handoff_zbee_zcl_relhum_meas(void); -/* Private functions prototype */ +/* Command Dissector Helpers */ static void dissect_zcl_relhum_meas_attr_id (proto_tree *tree, tvbuff_t *tvb, guint *offset, guint16 attr_id); static void dissect_zcl_relhum_meas_attr_data (proto_tree *tree, tvbuff_t *tvb, guint *offset, guint16 attr_id, guint data_type); +/* Private functions prototype */ static void decode_relhum_meas_value (gchar *s, guint16 value); static void decode_relhum_meas_min_value (gchar *s, guint16 value); static void decode_relhum_meas_max_value (gchar *s, guint16 value); @@ -1457,6 +1458,7 @@ proto_reg_handoff_zbee_zcl_relhum_meas(void) ett_zbee_zcl_relhum_meas, ZBEE_ZCL_CID_REL_HUMIDITY_MEASUREMENT, (zbee_zcl_fn_attr_id)dissect_zcl_relhum_meas_attr_id, - (zbee_zcl_fn_attr_data)dissect_zcl_relhum_meas_attr_data + (zbee_zcl_fn_attr_data)dissect_zcl_relhum_meas_attr_data, + NULL ); } /*proto_reg_handoff_zbee_zcl_relhum_meas*/ |