summaryrefslogtreecommitdiff
path: root/gsupplicant/supplicant.c
diff options
context:
space:
mode:
authorYu <jiung.yu@samsung.com>2019-07-25 13:24:57 +0900
committerYu <jiung.yu@samsung.com>2019-07-25 16:25:49 +0900
commit744ba68df7010ee6a3a962daad47d106998c15fa (patch)
tree0fcda6e592325ed7c4c746cd72486f61f7ab9694 /gsupplicant/supplicant.c
parent4f366734bb8b2be1b7f5aba9974947220af53716 (diff)
downloadconnman-744ba68df7010ee6a3a962daad47d106998c15fa.tar.gz
connman-744ba68df7010ee6a3a962daad47d106998c15fa.tar.bz2
connman-744ba68df7010ee6a3a962daad47d106998c15fa.zip
Add OWE security mode support
Change-Id: I03ab90b8ab78e489d1ef70fbec57f10576860a57 Signed-off-by: Yu jiung <jiung.yu@samsung.com>
Diffstat (limited to 'gsupplicant/supplicant.c')
-rw-r--r--gsupplicant/supplicant.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c
index a7a7bd03..66644c8b 100644
--- a/gsupplicant/supplicant.c
+++ b/gsupplicant/supplicant.c
@@ -103,6 +103,7 @@ static struct strvalmap keymgmt_map[] = {
{ "wps", G_SUPPLICANT_KEYMGMT_WPS },
#if defined TIZEN_EXT
{ "sae", G_SUPPLICANT_KEYMGMT_SAE },
+ { "owe", G_SUPPLICANT_KEYMGMT_OWE },
#endif
{ }
};
@@ -257,6 +258,7 @@ struct g_supplicant_bss {
unsigned int wps_capabilities;
#if defined TIZEN_EXT
dbus_bool_t sae;
+ dbus_bool_t owe;
#endif
};
@@ -457,6 +459,8 @@ static const char *security2string(GSupplicantSecurity security)
return "ft_ieee8021x";
case G_SUPPLICANT_SECURITY_SAE:
return "sae";
+ case G_SUPPLICANT_SECURITY_OWE:
+ return "owe";
#endif
}
@@ -1655,6 +1659,7 @@ const char *g_supplicant_network_get_enc_mode(GSupplicantNetwork *network)
if (network->best_bss->security == G_SUPPLICANT_SECURITY_PSK ||
#if defined TIZEN_EXT
network->best_bss->security == G_SUPPLICANT_SECURITY_SAE ||
+ network->best_bss->security == G_SUPPLICANT_SECURITY_OWE ||
#endif /* TIZEN_EXT */
network->best_bss->security == G_SUPPLICANT_SECURITY_IEEE8021X) {
unsigned int pairwise;
@@ -1684,7 +1689,8 @@ bool g_supplicant_network_get_rsn_mode(GSupplicantNetwork *network)
return 0;
#if defined TIZEN_EXT
- if (network->best_bss->security == G_SUPPLICANT_SECURITY_SAE)
+ if (network->best_bss->security == G_SUPPLICANT_SECURITY_SAE ||
+ network->best_bss->security == G_SUPPLICANT_SECURITY_OWE)
return false;
#endif /* TIZEN_EXT */
@@ -2497,6 +2503,8 @@ static void bss_compute_security(struct g_supplicant_bss *bss)
#if defined TIZEN_EXT
if (bss->keymgmt & G_SUPPLICANT_KEYMGMT_SAE)
bss->sae = TRUE;
+ if (bss->keymgmt & G_SUPPLICANT_KEYMGMT_OWE)
+ bss->owe = TRUE;
#endif
if (bss->ieee8021x)
@@ -2512,6 +2520,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->owe)
+ bss->security = G_SUPPLICANT_SECURITY_OWE;
#endif
else if (bss->privacy)
bss->security = G_SUPPLICANT_SECURITY_WEP;
@@ -6174,7 +6184,8 @@ static void add_network_security_proto(DBusMessageIter *dict,
#if defined TIZEN_EXT
static void add_network_ieee80211w(DBusMessageIter *dict, GSupplicantSSID *ssid)
{
- if (ssid->security != G_SUPPLICANT_SECURITY_SAE)
+ if (ssid->security != G_SUPPLICANT_SECURITY_SAE
+ && ssid->security != G_SUPPLICANT_SECURITY_OWE)
return;
supplicant_dbus_dict_append_basic(dict, "ieee80211w", DBUS_TYPE_UINT32,
@@ -6227,6 +6238,11 @@ static void add_network_security(DBusMessageIter *dict, GSupplicantSSID *ssid)
key_mgmt = "SAE";
add_network_security_psk(dict, ssid);
break;
+ case G_SUPPLICANT_SECURITY_OWE:
+ key_mgmt = "OWE";
+ add_network_security_ciphers(dict, ssid);
+ add_network_security_proto(dict, ssid);
+ break;
#endif
}