diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/connman.h | 2 | ||||
-rwxr-xr-x | src/service.c | 23 |
2 files changed, 24 insertions, 1 deletions
diff --git a/src/connman.h b/src/connman.h index 658a239b..57cfc872 100755 --- a/src/connman.h +++ b/src/connman.h @@ -823,6 +823,8 @@ void __connman_service_set_pac(struct connman_service *service, int __connman_service_get_connected_count_of_iface(struct connman_service *service); void __connman_service_set_proxy(struct connman_service *service, const char *proxies); +int check_passphrase_ext(struct connman_network *network, + const char *passphrase); #endif bool __connman_service_is_hidden(struct connman_service *service); bool __connman_service_is_split_routing(struct connman_service *service); diff --git a/src/service.c b/src/service.c index 003b6291..3d491a8c 100755 --- a/src/service.c +++ b/src/service.c @@ -3960,7 +3960,14 @@ int __connman_service_set_passphrase(struct connman_service *service, if (service->immutable && service->security != CONNMAN_SERVICE_SECURITY_8021X) return -EINVAL; - +#if defined TIZEN_EXT + /* The encrypted passphrase is used here + * and validation is done by net-config before being encrypted. + */ + if (service->security != CONNMAN_SERVICE_SECURITY_PSK && + service->security != CONNMAN_SERVICE_SECURITY_RSN && + service->security != CONNMAN_SERVICE_SECURITY_WEP) +#endif err = check_passphrase(service->security, passphrase); if (err < 0) @@ -8529,6 +8536,20 @@ static enum connman_service_security convert_wifi_security(const char *security) return CONNMAN_SERVICE_SECURITY_UNKNOWN; } +#if defined TIZEN_EXT +int check_passphrase_ext(struct connman_network *network, + const char *passphrase) +{ + const char *str; + enum connman_service_security security; + + str = connman_network_get_string(network, "WiFi.Security"); + security = convert_wifi_security(str); + + return check_passphrase(security, passphrase); +} +#endif + static void update_from_network(struct connman_service *service, struct connman_network *network) { |