iwinfo: add WPA3 support

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Jo-Philipp Wich 2019-09-09 12:44:51 +02:00
parent 69eeb1b480
commit e2a7bc4c2f

View file

@ -131,7 +131,7 @@ rpc_iwinfo_call_hardware_id(const char *name)
static void static void
rpc_iwinfo_add_encryption(const char *name, struct iwinfo_crypto_entry *e) rpc_iwinfo_add_encryption(const char *name, struct iwinfo_crypto_entry *e)
{ {
int ciph; int ciph, wpa_version;
void *c, *d; void *c, *d;
c = blobmsg_open_table(&buf, name); 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"); d = blobmsg_open_array(&buf, "wpa");
if (e->wpa_version > 2) for (wpa_version = 1; wpa_version <= 3; wpa_version++)
{ if (e->wpa_version & (1 << (wpa_version - 1)))
blobmsg_add_u32(&buf, NULL, 1); blobmsg_add_u32(&buf, NULL, wpa_version);
blobmsg_add_u32(&buf, NULL, 2);
}
else
{
blobmsg_add_u32(&buf, NULL, e->wpa_version);
}
blobmsg_close_array(&buf, d); 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) if (e->auth_suites & IWINFO_KMGMT_8021x)
blobmsg_add_string(&buf, NULL, "802.1x"); 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 || if (!e->auth_suites ||
(e->auth_suites & IWINFO_KMGMT_NONE)) (e->auth_suites & IWINFO_KMGMT_NONE))
blobmsg_add_string(&buf, NULL, "none"); blobmsg_add_string(&buf, NULL, "none");