diff options
author | Jaehyun Kim <jeik01.kim@samsung.com> | 2022-06-29 16:47:56 +0900 |
---|---|---|
committer | Jaehyun Kim <jeik01.kim@samsung.com> | 2022-06-29 16:47:56 +0900 |
commit | a962c305e7689c55aba6d8723414345c4c4b4fd3 (patch) | |
tree | bc4d4cdac8c1ce448b1606c68af5f6c36c279396 /gsupplicant/supplicant.c | |
parent | 95c72ebcb9031d2a93f3c4a4adee29ac4528e709 (diff) | |
download | connman-submit/tizen_6.5/20220630.091046.tar.gz connman-submit/tizen_6.5/20220630.091046.tar.bz2 connman-submit/tizen_6.5/20220630.091046.zip |
Support PSK_SHA256 for ieee80211wsubmit/tizen_6.5/20220701.015849submit/tizen_6.5/20220630.091046accepted/tizen/6.5/unified/20220707.134222accepted/tizen/6.5/unified/20220707.134158tizen_6.5accepted/tizen_6.5_unified
Change-Id: I57d882f5e8693844734e9f7a4e040a27fbfeded6
Signed-off-by: Jaehyun Kim <jeik01.kim@samsung.com>
Diffstat (limited to 'gsupplicant/supplicant.c')
-rwxr-xr-x | gsupplicant/supplicant.c | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c index 7a55b216..c90adabc 100755 --- a/gsupplicant/supplicant.c +++ b/gsupplicant/supplicant.c @@ -306,6 +306,7 @@ struct g_supplicant_bss { GSupplicantPhy_mode phy_mode; dbus_int16_t snr; dbus_uint32_t est_throughput; + dbus_bool_t psk_sha256; #endif unsigned int wps_capabilities; #if defined TIZEN_EXT @@ -552,6 +553,8 @@ static const char *security2string(GSupplicantSecurity security) case G_SUPPLICANT_SECURITY_IEEE8021X: return "ieee8021x"; #if defined TIZEN_EXT + case G_SUPPLICANT_SECURITY_PSK_SHA256: + return "psk_sha256"; case G_SUPPLICANT_SECURITY_FT_PSK: return "ft_psk"; case G_SUPPLICANT_SECURITY_FT_IEEE8021X: @@ -681,6 +684,7 @@ static int store_network_information(GSupplicantInterface * interface, if ((ssid->security == G_SUPPLICANT_SECURITY_WEP || ssid->security == G_SUPPLICANT_SECURITY_PSK || + ssid->security == G_SUPPLICANT_SECURITY_PSK_SHA256 || ssid->security == G_SUPPLICANT_SECURITY_NONE) && ssid->passphrase) { interface->network_info.passphrase = g_strdup(ssid->passphrase); @@ -1902,6 +1906,7 @@ const char *g_supplicant_network_get_enc_mode(GSupplicantNetwork *network) network->best_bss->security == G_SUPPLICANT_SECURITY_SAE || network->best_bss->security == G_SUPPLICANT_SECURITY_OWE || network->best_bss->security == G_SUPPLICANT_SECURITY_DPP || + network->best_bss->security == G_SUPPLICANT_SECURITY_PSK_SHA256 || #endif /* TIZEN_EXT */ network->best_bss->security == G_SUPPLICANT_SECURITY_IEEE8021X) { unsigned int pairwise; @@ -2570,8 +2575,14 @@ static char *create_group(struct g_supplicant_bss *bss) mode = mode2string(bss->mode); if (mode) g_string_append_printf(str, "_%s", mode); - +#if defined TIZEN_EXT + if (bss->security == G_SUPPLICANT_SECURITY_PSK_SHA256) + security = "psk"; + else + security = security2string(bss->security); +#else security = security2string(bss->security); +#endif if (security) g_string_append_printf(str, "_%s", security); @@ -3152,6 +3163,13 @@ static void bss_compute_security(struct g_supplicant_bss *bss) #if defined TIZEN_EXT if (bss->keymgmt & + G_SUPPLICANT_KEYMGMT_WPA_PSK_256) { + bss->psk_sha256 = TRUE; + } +#endif + +#if defined TIZEN_EXT + if (bss->keymgmt & (G_SUPPLICANT_KEYMGMT_WPA_PSK | G_SUPPLICANT_KEYMGMT_WPA_PSK_256)) bss->psk = TRUE; @@ -3179,6 +3197,8 @@ static void bss_compute_security(struct g_supplicant_bss *bss) #if defined TIZEN_EXT else if (bss->sae) bss->security = G_SUPPLICANT_SECURITY_SAE; + else if (bss->psk_sha256) + bss->security = G_SUPPLICANT_SECURITY_PSK_SHA256; #endif else if (bss->psk) bss->security = G_SUPPLICANT_SECURITY_PSK; @@ -7175,6 +7195,7 @@ static void add_network_ieee80211w(DBusMessageIter *dict, GSupplicantSSID *ssid) { if (ssid->security != G_SUPPLICANT_SECURITY_SAE && ssid->security != G_SUPPLICANT_SECURITY_OWE + && ssid->security != G_SUPPLICANT_SECURITY_PSK_SHA256 && ssid->security != G_SUPPLICANT_SECURITY_DPP) return; @@ -7276,6 +7297,15 @@ static void add_network_security(DBusMessageIter *dict, GSupplicantSSID *ssid) add_network_security_proto(dict, ssid); break; #if defined TIZEN_EXT + case G_SUPPLICANT_SECURITY_PSK_SHA256: + if (ssid->keymgmt & G_SUPPLICANT_KEYMGMT_WPA_PSK) + key_mgmt = "WPA-PSK-SHA256 WPA-PSK"; + else + key_mgmt = "WPA-PSK-SHA256"; + add_network_security_psk(dict, ssid); + add_network_security_ciphers(dict, ssid); + add_network_security_proto(dict, ssid); + break; case G_SUPPLICANT_SECURITY_FT_PSK: key_mgmt = "FT-PSK"; add_network_security_psk(dict, ssid); |