aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexis La Goutte <alexis.lagoutte@gmail.com>2018-07-20 13:13:12 +0000
committerPeter Wu <peter@lekensteyn.nl>2018-07-25 10:33:31 +0000
commit532e8c8011ac47fdcfa578caa5cb3b404b645f6a (patch)
treed8235191134622d5e078b9f406059844dc9a5a2e
parent4ff2c7b685bef7ae8e075f80abb0871886fd75a0 (diff)
nfapi: fix dissection of CONFIG.request
There is no Error Code field Bug: 14988 Change-Id: If6e8cf37d508c014b585bdb0cb4830ce7eb45588 Reviewed-on: https://code.wireshark.org/review/28797 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl>
-rw-r--r--epan/dissectors/packet-nfapi.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/epan/dissectors/packet-nfapi.c b/epan/dissectors/packet-nfapi.c
index cdcd368498..cb70bfe3db 100644
--- a/epan/dissectors/packet-nfapi.c
+++ b/epan/dissectors/packet-nfapi.c
@@ -8258,6 +8258,21 @@ static int dissect_p45_param_response_msg_id(tvbuff_t *tvb, packet_info *pinfo,
return tvb_captured_length(tvb);
}
+static int dissect_p45_config_request_msg_id(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
+{
+ int offset = dissect_p45_header(tvb, pinfo, tree, data);
+ ptvcursor_t *ptvc;
+
+ proto_tree_add_item(tree, hf_nfapi_num_tlv, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset += 1;
+
+ ptvc = ptvcursor_new(tree, tvb, offset);
+ dissect_tlv_list(ptvc, pinfo, tvb_reported_length(tvb));
+ ptvcursor_free(ptvc);
+
+ return tvb_captured_length(tvb);
+}
+
static int dissect_p7_header(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, guint8* m, guint8* seg, guint8* seq)
{
proto_tree *header_tree;
@@ -11680,7 +11695,6 @@ void proto_reg_handoff_nfapi(void)
handle = create_dissector_handle( dissect_p45_header_with_error_and_list, -1 );
dissector_add_uint("nfapi.msg_id", NFAPI_PNF_PARAM_RESPONSE_MSG_ID, handle);
- dissector_add_uint("nfapi.msg_id", NFAPI_CONFIG_REQUEST_MSG_ID, handle);
dissector_add_uint("nfapi.msg_id", NFAPI_MEASUREMENT_RESPONSE_MSG_ID, handle);
handle = create_dissector_handle( dissect_p45_header_with_p4_error_and_list, -1 );
@@ -11697,6 +11711,7 @@ void proto_reg_handoff_nfapi(void)
dissector_add_uint("nfapi.msg_id", NFAPI_SYSTEM_INFORMATION_SCHEDULE_REQUEST_MSG_ID, handle);
dissector_add_uint("nfapi.msg_id", NFAPI_SYSTEM_INFORMATION_REQUEST_MSG_ID, handle);
+ dissector_add_uint("nfapi.msg_id", NFAPI_CONFIG_REQUEST_MSG_ID, create_dissector_handle( dissect_p45_config_request_msg_id, -1 ));
dissector_add_uint("nfapi.msg_id", NFAPI_PARAM_RESPONSE_MSG_ID, create_dissector_handle( dissect_p45_param_response_msg_id, -1 ));
dissector_add_uint("nfapi.msg_id", NFAPI_DL_NODE_SYNC_MSG_ID, create_dissector_handle( dissect_p7_dl_node_sync_msg_id, -1 ));
dissector_add_uint("nfapi.msg_id", NFAPI_UL_NODE_SYNC_MSG_ID, create_dissector_handle( dissect_p7_ul_node_sync_msg_id, -1 ));