summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2019-09-09 12:44:51 +0200
committerJo-Philipp Wich <jo@mein.io>2019-09-09 12:46:20 +0200
commite2a7bc4c2f6d1bb346a60c6f92ffd7b139e1ddb4 (patch)
treef3f1a6068c2c3fc768a58a3138cc1956b4584d5b
parent69eeb1b48009848df736417a3df11b0cbfd5e85c (diff)
downloadrpcd-e2a7bc4c2f6d1bb346a60c6f92ffd7b139e1ddb4.tar.gz
iwinfo: add WPA3 support
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
-rw-r--r--iwinfo.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/iwinfo.c b/iwinfo.c
index 11bdc74..3b74163 100644
--- a/iwinfo.c
+++ b/iwinfo.c
@@ -131,7 +131,7 @@ rpc_iwinfo_call_hardware_id(const char *name)
static void
rpc_iwinfo_add_encryption(const char *name, struct iwinfo_crypto_entry *e)
{
- int ciph;
+ int ciph, wpa_version;
void *c, *d;
c = blobmsg_open_table(&buf, name);
@@ -156,15 +156,9 @@ rpc_iwinfo_add_encryption(const char *name, struct iwinfo_crypto_entry *e)
{
d = blobmsg_open_array(&buf, "wpa");
- if (e->wpa_version > 2)
- {
- blobmsg_add_u32(&buf, NULL, 1);
- blobmsg_add_u32(&buf, NULL, 2);
- }
- else
- {
- blobmsg_add_u32(&buf, NULL, e->wpa_version);
- }
+ for (wpa_version = 1; wpa_version <= 3; wpa_version++)
+ if (e->wpa_version & (1 << (wpa_version - 1)))
+ blobmsg_add_u32(&buf, NULL, wpa_version);
blobmsg_close_array(&buf, d);
@@ -177,6 +171,12 @@ rpc_iwinfo_add_encryption(const char *name, struct iwinfo_crypto_entry *e)
if (e->auth_suites & IWINFO_KMGMT_8021x)
blobmsg_add_string(&buf, NULL, "802.1x");
+ if (e->auth_suites & IWINFO_KMGMT_SAE)
+ blobmsg_add_string(&buf, NULL, "sae");
+
+ if (e->auth_suites & IWINFO_KMGMT_OWE)
+ blobmsg_add_string(&buf, NULL, "owe");
+
if (!e->auth_suites ||
(e->auth_suites & IWINFO_KMGMT_NONE))
blobmsg_add_string(&buf, NULL, "none");