diff --git a/src/core/cntlr_tlv_generator.c b/src/core/cntlr_tlv_generator.c index 08ba53158ce06681d5ecc09c3907f55c3c37e381..e2b6117ccca729bad6ef55d0639d95baa9c5d4b1 100644 --- a/src/core/cntlr_tlv_generator.c +++ b/src/core/cntlr_tlv_generator.c @@ -67,7 +67,11 @@ uint16_t wifi_sec_to_auth_types(enum wifi_security sec) auth_type |= WPS_AUTH_WPA2; } } else if (sec >= WIFI_SECURITY_WPAPSK) { - if (sec == WIFI_SECURITY_WPA2PSK) { + if (sec == WIFI_SECURITY_WPA3PSK) { + auth_type = WPS_AUTH_SAE; + } else if (sec == WIFI_SECURITY_WPA3PSK_T) { + auth_type = WPS_AUTH_WPA3_T; + } else if (sec == WIFI_SECURITY_WPA2PSK) { auth_type = WPS_AUTH_WPA2PSK; } else if (sec == WIFI_SECURITY_WPAPSK) { auth_type = WPS_AUTH_WPAPSK; diff --git a/src/core/config.c b/src/core/config.c index 5e77d78f310037c7e16985c5cf41f0467bfca556..0eb9012faa74885eea78d40e026ab33e7b6e4a29 100644 --- a/src/core/config.c +++ b/src/core/config.c @@ -489,7 +489,12 @@ static int cntlr_config_get_credentials(struct controller_config *c, if (tb[CRED_SEC]) { const char *sec = tb[CRED_SEC]->v.string; - if (!strncmp(sec, "psk-mixed", 9)) { + if (!strncmp(sec, "sae-mixed", 9)) { + cred->sec |= WIFI_SECURITY_WPA3PSK; + cred->sec |= WIFI_SECURITY_WPA3PSK_T; + } else if (!strncmp(sec, "sae", 3)) { + cred->sec |= WIFI_SECURITY_WPA3PSK; + } else if (!strncmp(sec, "psk-mixed", 9)) { cred->sec |= WIFI_SECURITY_WPAPSK; cred->sec |= WIFI_SECURITY_WPA2PSK; } else if (!strncmp(sec, "psk2", 4)) {