diff options
author | Jaehyun Kim <jeik01.kim@samsung.com> | 2022-09-19 21:49:30 +0900 |
---|---|---|
committer | Jaehyun Kim <jeik01.kim@samsung.com> | 2022-09-19 12:51:28 +0000 |
commit | 4a4767337169b9d4e2c9e1a309416f4322b7e858 (patch) | |
tree | 6c47ae98f134dc0c266da0fb8bc653203080ccd0 | |
parent | 78968dd624e95b9e5f8280464c2613e0e920d8cf (diff) | |
download | connman-4a4767337169b9d4e2c9e1a309416f4322b7e858.tar.gz connman-4a4767337169b9d4e2c9e1a309416f4322b7e858.tar.bz2 connman-4a4767337169b9d4e2c9e1a309416f4322b7e858.zip |
Support ft-psk and ft-sae connectionaccepted/tizen/unified/20220923.052717
Change-Id: I05d8d3934a8a75c874b41cb44654b7bc61b34060
Signed-off-by: Jaehyun Kim <jeik01.kim@samsung.com>
-rwxr-xr-x | gsupplicant/gsupplicant.h | 1 | ||||
-rwxr-xr-x | gsupplicant/supplicant.c | 20 | ||||
-rwxr-xr-x | plugins/wifi.c | 7 |
3 files changed, 24 insertions, 4 deletions
diff --git a/gsupplicant/gsupplicant.h b/gsupplicant/gsupplicant.h index 884c92e3..3b19519f 100755 --- a/gsupplicant/gsupplicant.h +++ b/gsupplicant/gsupplicant.h @@ -71,6 +71,7 @@ extern "C" { #define G_SUPPLICANT_KEYMGMT_WPS (1 << 9) #if defined TIZEN_EXT #define G_SUPPLICANT_KEYMGMT_SAE (1 << 10) +#define G_SUPPLICANT_KEYMGMT_FT_SAE (1 << 11) #define G_SUPPLICANT_KEYMGMT_OWE (1 << 22) #define G_SUPPLICANT_KEYMGMT_DPP (1 << 23) #endif diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c index e457fef2..12aed308 100755 --- a/gsupplicant/supplicant.c +++ b/gsupplicant/supplicant.c @@ -122,6 +122,7 @@ static struct strvalmap keymgmt_map[] = { { "wps", G_SUPPLICANT_KEYMGMT_WPS }, #if defined TIZEN_EXT { "sae", G_SUPPLICANT_KEYMGMT_SAE }, + { "ft-sae", G_SUPPLICANT_KEYMGMT_FT_SAE }, { "owe", G_SUPPLICANT_KEYMGMT_OWE }, { "dpp", G_SUPPLICANT_KEYMGMT_DPP }, #endif @@ -3230,7 +3231,8 @@ static void bss_compute_security(struct g_supplicant_bss *bss) #endif #if defined TIZEN_EXT - if (bss->keymgmt & G_SUPPLICANT_KEYMGMT_SAE) + if (bss->keymgmt & G_SUPPLICANT_KEYMGMT_SAE | + bss->keymgmt & G_SUPPLICANT_KEYMGMT_FT_SAE) bss->sae = TRUE; if (bss->keymgmt & G_SUPPLICANT_KEYMGMT_OWE) bss->owe = TRUE; @@ -7340,7 +7342,14 @@ static void add_network_security(DBusMessageIter *dict, GSupplicantSSID *ssid) add_network_security_ciphers(dict, ssid); break; case G_SUPPLICANT_SECURITY_PSK: +#if defined TIZEN_EXT + if (ssid->keymgmt & G_SUPPLICANT_KEYMGMT_WPA_FT_PSK) + key_mgmt = "FT-PSK WPA-PSK"; + else + key_mgmt = "WPA-PSK"; +#else key_mgmt = "WPA-PSK"; +#endif add_network_security_psk(dict, ssid); add_network_security_ciphers(dict, ssid); add_network_security_proto(dict, ssid); @@ -7365,8 +7374,13 @@ static void add_network_security(DBusMessageIter *dict, GSupplicantSSID *ssid) add_network_security_proto(dict, ssid); break; case G_SUPPLICANT_SECURITY_SAE: - if (ssid->keymgmt & G_SUPPLICANT_KEYMGMT_WPA_PSK) - key_mgmt = "SAE WPA-PSK"; // WFA (WPA3 & WPA2 Mixed -> WPA2 only) + if (ssid->keymgmt & G_SUPPLICANT_KEYMGMT_FT_SAE) { + if (ssid->keymgmt & G_SUPPLICANT_KEYMGMT_SAE) + key_mgmt = "FT-SAE SAE"; + else + key_mgmt = "FT-SAE"; + } else if (ssid->keymgmt & G_SUPPLICANT_KEYMGMT_WPA_PSK) + key_mgmt = "SAE WPA-PSK"; else key_mgmt = "SAE"; add_network_security_psk(dict, ssid); diff --git a/plugins/wifi.c b/plugins/wifi.c index 7a8eccce..20b1293e 100755 --- a/plugins/wifi.c +++ b/plugins/wifi.c @@ -5298,11 +5298,16 @@ static GSList *get_supported_security_list(unsigned int keymgmt, sec_list = g_slist_prepend (sec_list, "psk"); sec_list = g_slist_prepend (sec_list, "rsn"); } - } else if (keymgmt & G_SUPPLICANT_KEYMGMT_WPA_FT_PSK) + } + + if (keymgmt & G_SUPPLICANT_KEYMGMT_WPA_FT_PSK) sec_list = g_slist_prepend (sec_list, "ft_psk"); if (keymgmt & G_SUPPLICANT_KEYMGMT_SAE) sec_list = g_slist_prepend (sec_list, "sae"); + if (keymgmt & G_SUPPLICANT_KEYMGMT_FT_SAE) + sec_list = g_slist_prepend (sec_list, "ft_sae"); + if (keymgmt & G_SUPPLICANT_KEYMGMT_OWE || owe_transition_mode) sec_list = g_slist_prepend (sec_list, "owe"); if (keymgmt & G_SUPPLICANT_KEYMGMT_DPP) |