]> git.ipfire.org Git - thirdparty/iw.git/commitdiff
parse RSN IE information on PMKIDs and mgmt cipher suite
authorJohannes Berg <johannes@sipsolutions.net>
Wed, 29 Sep 2010 10:45:06 +0000 (12:45 +0200)
committerJohannes Berg <johannes@sipsolutions.net>
Wed, 29 Sep 2010 10:45:06 +0000 (12:45 +0200)
scan.c

diff --git a/scan.c b/scan.c
index 1a8c3b3facc740133b71b4cd7627bb30cec0ccbc..3b5fb60a161f27b637f28b9625c61622edecd37a 100644 (file)
--- a/scan.c
+++ b/scan.c
@@ -468,6 +468,28 @@ static void print_rsn_ie(const char *defcipher, const char *defauth,
                len -= 2;
        }
 
+       if (len >= 2) {
+               int pmkid_count = data[0] | (data[1] << 8);
+
+               if (len >= 2 + 16 * pmkid_count) {
+                       tab_on_first(&first);
+                       printf("\t * %d PMKIDs\n", pmkid_count);
+                       /* not printing PMKID values */
+                       data += 2 + 16 * pmkid_count;
+                       len -= 2 + 16 * pmkid_count;
+               } else
+                       goto invalid;
+       }
+
+       if (len >= 4) {
+               tab_on_first(&first);
+               printf("\t * Group mgmt cipher suite: ");
+               print_cipher(data);
+               printf("\n");
+               data += 4;
+               len -= 4;
+       }
+
  invalid:
        if (len != 0) {
                printf("\t\t * bogus tail data (%d):", len);