diff options
author | Jaehyun Kim <jeik01.kim@samsung.com> | 2016-06-10 18:45:13 +0900 |
---|---|---|
committer | Jaehyun Kim <jeik01.kim@samsung.com> | 2016-06-10 18:51:30 +0900 |
commit | 0e83b35474b8e01ccbaff484665a6f525ecd67fa (patch) | |
tree | 03c640f91c826561b3f081de5f83434c47f18142 /src | |
parent | b164f3431bb96a71a465ef53b1f072ac2a9572cb (diff) | |
download | connman-0e83b35474b8e01ccbaff484665a6f525ecd67fa.tar.gz connman-0e83b35474b8e01ccbaff484665a6f525ecd67fa.tar.bz2 connman-0e83b35474b8e01ccbaff484665a6f525ecd67fa.zip |
Add support for WPS2-PSK security type in Security property of service interface
Change-Id: I5531a2e3e45da6b3d4caa6d5df15f54ebc2700d8
Diffstat (limited to 'src')
-rwxr-xr-x | src/agent-connman.c | 6 | ||||
-rwxr-xr-x | src/config.c | 3 | ||||
-rwxr-xr-x | src/network.c | 17 | ||||
-rwxr-xr-x | src/service.c | 15 |
4 files changed, 41 insertions, 0 deletions
diff --git a/src/agent-connman.c b/src/agent-connman.c index d9502a7a..177cbe0a 100755 --- a/src/agent-connman.c +++ b/src/agent-connman.c @@ -225,6 +225,9 @@ static void request_input_append_passphrase(DBusMessageIter *iter, value = "wep"; break; case CONNMAN_SERVICE_SECURITY_PSK: +#if defined TIZEN_EXT + case CONNMAN_SERVICE_SECURITY_RSN: +#endif value = "psk"; break; case CONNMAN_SERVICE_SECURITY_8021X: @@ -358,6 +361,9 @@ static void previous_passphrase_handler(DBusMessageIter *iter, data.type = "wep"; break; case CONNMAN_SERVICE_SECURITY_PSK: +#if defined TIZEN_EXT + case CONNMAN_SERVICE_SECURITY_RSN: +#endif data.type = "psk"; break; /* diff --git a/src/config.c b/src/config.c index 8ae1764d..778e57cf 100755 --- a/src/config.c +++ b/src/config.c @@ -685,6 +685,9 @@ static bool load_service(GKeyFile *keyfile, const char *group, if (str) { if (security == CONNMAN_SERVICE_SECURITY_PSK || +#if defined TIZEN_EXT + security == CONNMAN_SERVICE_SECURITY_RSN || +#endif security == CONNMAN_SERVICE_SECURITY_WEP) { service->security = security; } else { diff --git a/src/network.c b/src/network.c index ad677467..3552056a 100755 --- a/src/network.c +++ b/src/network.c @@ -97,6 +97,7 @@ struct connman_network { unsigned char bssid[WIFI_BSSID_LEN_MAX]; unsigned int maxrate; unsigned int isHS20AP; + bool rsn_selected; #endif } wifi; @@ -1882,6 +1883,14 @@ const char *connman_network_get_enc_mode(struct connman_network *network) return (const char *)network->wifi.encryption_mode; } +int connman_network_set_rsn_selected(struct connman_network *network, + bool rsn_selected) +{ + network->wifi.rsn_selected = rsn_selected; + + return 0; +} + int connman_network_set_proxy(struct connman_network *network, const char *proxies) { @@ -2132,7 +2141,15 @@ const char *connman_network_get_string(struct connman_network *network, else if (g_str_equal(key, "WiFi.Mode")) return network->wifi.mode; else if (g_str_equal(key, "WiFi.Security")) +#if defined TIZEN_EXT + if (network->wifi.rsn_selected != true || + g_str_equal(network->wifi.security, "ieee8021x")) + return network->wifi.security; + else + return "rsn"; +#else return network->wifi.security; +#endif else if (g_str_equal(key, "WiFi.Passphrase")) return network->wifi.passphrase; else if (g_str_equal(key, "WiFi.EAP")) diff --git a/src/service.c b/src/service.c index 5dab82c8..ca326980 100755 --- a/src/service.c +++ b/src/service.c @@ -327,6 +327,10 @@ enum connman_service_security __connman_service_string2security(const char *str) return CONNMAN_SERVICE_SECURITY_NONE; if (!strcmp(str, "wep")) return CONNMAN_SERVICE_SECURITY_WEP; +#if defined TIZEN_EXT + if (!strcmp(str, "rsn")) + return CONNMAN_SERVICE_SECURITY_RSN; +#endif return CONNMAN_SERVICE_SECURITY_UNKNOWN; } @@ -342,8 +346,14 @@ static const char *security2string(enum connman_service_security security) return "wep"; case CONNMAN_SERVICE_SECURITY_PSK: case CONNMAN_SERVICE_SECURITY_WPA: +#if defined TIZEN_EXT + return "psk"; + case CONNMAN_SERVICE_SECURITY_RSN: + return "rsn"; +#else case CONNMAN_SERVICE_SECURITY_RSN: return "psk"; +#endif case CONNMAN_SERVICE_SECURITY_8021X: return "ieee8021x"; } @@ -3371,7 +3381,9 @@ static int check_passphrase(enum connman_service_security security, case CONNMAN_SERVICE_SECURITY_UNKNOWN: case CONNMAN_SERVICE_SECURITY_NONE: case CONNMAN_SERVICE_SECURITY_WPA: +#if !defined TIZEN_EXT case CONNMAN_SERVICE_SECURITY_RSN: +#endif DBG("service security '%s' (%d) not handled", security2string(security), security); @@ -3379,6 +3391,9 @@ static int check_passphrase(enum connman_service_security security, return -EOPNOTSUPP; case CONNMAN_SERVICE_SECURITY_PSK: +#if defined TIZEN_EXT + case CONNMAN_SERVICE_SECURITY_RSN: +#endif /* A raw key is always 64 bytes length, * its content is in hex representation. * A PSK key must be between [8..63]. |