aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMikael Kanstrup <mikael.kanstrup@sony.com>2019-04-03 15:09:21 +0200
committerAnders Broman <a.broman58@gmail.com>2019-04-04 07:16:04 +0000
commit52324097c24bbc757f15f5193a9a391dca205117 (patch)
treeb28769e4078b68b2d24b37defdb9ca3717d886fa
parentb39a736e918294f27b8218c1b2dd8ac82fbb77e6 (diff)
ieee80211: FT over IEEE 802.1X (SHA384) is an FT AKMS
FT over IEEE 802.1X (SHA384) is also an FT AKMS so treat it as such when dissecting the RSN IE. While at it replace the big if statement with a function. Bug: 15616 Change-Id: I9abe45a5c70bc062a9d6d8fb97226a3d0cde42b3 Reviewed-on: https://code.wireshark.org/review/32692 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
-rw-r--r--epan/dissectors/packet-ieee80211.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/epan/dissectors/packet-ieee80211.c b/epan/dissectors/packet-ieee80211.c
index b6c38697d4..25177c63e9 100644
--- a/epan/dissectors/packet-ieee80211.c
+++ b/epan/dissectors/packet-ieee80211.c
@@ -14459,6 +14459,22 @@ dissect_qos_capability(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int
return offset;
}
+/* See ieee80211_rsn_keymgmt_vals */
+static gboolean is_ft_akm_suite(guint32 akm_suite)
+{
+ switch (akm_suite) {
+ case 0x000FAC03:
+ case 0x000FAC04:
+ case 0x000FAC09:
+ case 0x000FAC0D:
+ case 0x000FAC10:
+ case 0x000FAC11:
+ return TRUE;
+ default:
+ return FALSE;
+ }
+}
+
/*
* 7.3.2.25 RSNE information element. Common format with OSEN except the
* verison... should refactor
@@ -14570,7 +14586,7 @@ dissect_rsn_ie(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb,
guint32 akm_suite = tvb_get_ntohl(tvb, offset);
association_sanity_check->last_akm_suite = akm_suite;
- if (akm_suite == 0x000FAC03 || akm_suite == 0x000FAC04 || akm_suite == 0x000FAC09 || akm_suite == 0x000FAC10 || akm_suite == 0x000FAC11) {
+ if (is_ft_akm_suite(akm_suite)) {
/* This is an FT AKM suite */
association_sanity_check->has_ft_akm_suite = TRUE;
if (association_sanity_check->rsn_first_ft_akm_suite == NULL && rsn_sub_akms_tree != NULL) {