aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-wifi-dpp.c
diff options
context:
space:
mode:
authorRichard Sharpe <realrichardsharpe@gmail.com>2017-09-10 18:17:20 -0700
committerAnders Broman <a.broman58@gmail.com>2017-10-27 04:22:45 +0000
commitdb41ccd009ab01179f8629ba962e76ba7a6fda61 (patch)
treee2a89ad65cb032a2ed90b0ae17f56578757e2645 /epan/dissectors/packet-wifi-dpp.c
parent42a9e893fb95f8f8612b52d4be00f7bbf6f7546b (diff)
Device provisioning protocol: Fix a last issue with DPP and Configuration
commands not being searchable. Change-Id: I28cf212b3eacb16572ce9d1ff2dbf45040046b00 Reviewed-on: https://code.wireshark.org/review/24069 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-wifi-dpp.c')
-rw-r--r--epan/dissectors/packet-wifi-dpp.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/epan/dissectors/packet-wifi-dpp.c b/epan/dissectors/packet-wifi-dpp.c
index e276078ed6..33b27b3993 100644
--- a/epan/dissectors/packet-wifi-dpp.c
+++ b/epan/dissectors/packet-wifi-dpp.c
@@ -189,7 +189,7 @@ dissect_wifi_dpp_ie(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, voi
return tvb_captured_length(tvb);
}
-int
+static int
dissect_wifi_dpp_attributes(packet_info *pinfo _U_, proto_tree *tree,
tvbuff_t *tvb, int offset _U_)
{
@@ -297,6 +297,28 @@ dissect_wifi_dpp_attributes(packet_info *pinfo _U_, proto_tree *tree,
return attributes_len; // We return the attribute length plus hdr!
}
+int
+dissect_wifi_dpp_config_proto(packet_info *pinfo _U_, proto_tree *tree,
+ tvbuff_t *tvb, int offset _U_)
+{
+ proto_item *dpp_item;
+ proto_tree *dpp_tree, *attr_tree;
+ guint remaining_len = tvb_reported_length_remaining(tvb, offset);
+
+ dpp_item = proto_tree_add_item(tree, proto_wifi_dpp, tvb, offset, -1, ENC_NA);
+ dpp_tree = proto_item_add_subtree(dpp_item, ett_wifi_dpp_pa);
+ proto_item_append_text(dpp_item, " Configuration");
+
+ attr_tree = proto_tree_add_subtree_format(dpp_tree, tvb, offset,
+ remaining_len,
+ ett_wifi_dpp_attributes, NULL,
+ "DPP Attributes");
+
+ offset = dissect_wifi_dpp_attributes(pinfo, attr_tree, tvb, offset);
+
+ return offset;
+}
+
static int
dissect_wifi_dpp_public_action(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{