diff options
author | Julien Massot <jmassot@aldebaran-robotics.com> | 2012-04-13 15:16:32 +0000 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2012-04-17 13:37:13 +0300 |
commit | 65f9b2f1e9b38da7e12ed44181653865c6769f77 (patch) | |
tree | 25c36a8a7b532bc326fd91a87f2d14dfcff5a3e4 /src/network.c | |
parent | 45d5585e98c339d683e05c68117fb37f2d459d7d (diff) | |
download | connman-65f9b2f1e9b38da7e12ed44181653865c6769f77.tar.gz connman-65f9b2f1e9b38da7e12ed44181653865c6769f77.tar.bz2 connman-65f9b2f1e9b38da7e12ed44181653865c6769f77.zip |
network: Avoid connection to a network with invalid key
Diffstat (limited to 'src/network.c')
-rw-r--r-- | src/network.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/network.c b/src/network.c index 4664ea54..5078fd1f 100644 --- a/src/network.c +++ b/src/network.c @@ -1400,6 +1400,7 @@ connman_bool_t connman_network_get_associating(struct connman_network *network) int connman_network_connect_hidden(struct connman_network *network, char *identity, char* passphrase) { + int err = 0; struct connman_service *service; DBG(""); @@ -1412,9 +1413,14 @@ int connman_network_connect_hidden(struct connman_network *network, __connman_service_set_agent_identity(service, identity); if (passphrase != NULL) - __connman_service_add_passphrase(service, passphrase); + err = __connman_service_add_passphrase(service, passphrase); - return __connman_service_connect(service); + if (err == -ENOKEY) { + __connman_service_indicate_error(service, + CONNMAN_SERVICE_ERROR_INVALID_KEY); + return err; + } else + return __connman_service_connect(service); } /** |