diff options
author | Arron Wang <arron.wang@intel.com> | 2012-10-12 10:10:28 +0800 |
---|---|---|
committer | Zhang zhengguang <zhengguang.zhang@intel.com> | 2014-07-31 15:51:57 +0800 |
commit | 279db5cf167f886e38cfb75b40e7829e6da3256c (patch) | |
tree | 2a59fdcd46184aa99430ddff77c3ae0dbe8d1ec2 | |
parent | e9ff3d2be0e5197dfe712ce69a0a240553b47894 (diff) | |
download | connman-279db5cf167f886e38cfb75b40e7829e6da3256c.tar.gz connman-279db5cf167f886e38cfb75b40e7829e6da3256c.tar.bz2 connman-279db5cf167f886e38cfb75b40e7829e6da3256c.zip |
Tizen: Fix wifi enterprise to support SIM and AKA
Revise Wi-Fi enterprise to enable PEAP, TLS, TTLS
Fix wifi enterprise to support SIM and AKA
Change-Id: Ib9c10615fd0668b2ebca57eac9285bf8a3564427
-rw-r--r-- | gsupplicant/supplicant.c | 20 | ||||
-rw-r--r-- | src/service.c | 13 |
2 files changed, 32 insertions, 1 deletions
diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c index 9e671a68..9d8f1076 100644 --- a/gsupplicant/supplicant.c +++ b/gsupplicant/supplicant.c @@ -3655,14 +3655,27 @@ static void add_network_security_eap(DBusMessageIter *dict, { char *eap_value; +#if defined TIZEN_EXT + if (!ssid->eap) +#else if (!ssid->eap || !ssid->identity) +#endif return; if (g_strcmp0(ssid->eap, "tls") == 0) { add_network_security_tls(dict, ssid); } else if (g_strcmp0(ssid->eap, "peap") == 0 || g_strcmp0(ssid->eap, "ttls") == 0) { +#if defined TIZEN_EXT + if (!ssid->identity) + return; +#endif add_network_security_peap(dict, ssid); + +#if defined TIZEN_EXT + } else if (g_strcmp0(ssid->eap, "sim") == 0 || + g_strcmp0(ssid->eap, "aka") == 0) { +#endif } else return; @@ -3671,9 +3684,16 @@ static void add_network_security_eap(DBusMessageIter *dict, supplicant_dbus_dict_append_basic(dict, "eap", DBUS_TYPE_STRING, &eap_value); +#if defined TIZEN_EXT + if (ssid->identity != NULL) + supplicant_dbus_dict_append_basic(dict, "identity", + DBUS_TYPE_STRING, + &ssid->identity); +#else supplicant_dbus_dict_append_basic(dict, "identity", DBUS_TYPE_STRING, &ssid->identity); +#endif g_free(eap_value); } diff --git a/src/service.c b/src/service.c index 17c1ac14..44359166 100644 --- a/src/service.c +++ b/src/service.c @@ -5963,13 +5963,24 @@ static int service_connect(struct connman_service *service) if (!service->eap) return -EINVAL; +#if defined TIZEN_EXT + /* + * never request credentials if using EAP-TLS, EAP-SIM + * or EAP-AKA (EAP-TLS, EAP-SIM and EAP-AKA networks + * need to be fully provisioned) + */ + if (g_str_equal(service->eap, "tls") || + g_str_equal(service->eap, "sim") || + g_str_equal(service->eap, "aka")) + break; +#else /* * never request credentials if using EAP-TLS * (EAP-TLS networks need to be fully provisioned) */ if (g_str_equal(service->eap, "tls")) break; - +#endif /* * Return -ENOKEY if either identity or passphrase is * missing. Agent provided credentials can be used as |