From: Marcel Holtmann Date: Fri, 4 Apr 2008 06:13:06 +0000 (+0200) Subject: Improve selecting of networks X-Git-Tag: 2.0_alpha~4862 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ada412ae85949172658aadfc80baf02b8f4a1736;p=framework%2Fconnectivity%2Fconnman.git Improve selecting of networks --- diff --git a/src/iface-storage.c b/src/iface-storage.c index d73ef6a..ec59490 100644 --- a/src/iface-storage.c +++ b/src/iface-storage.c @@ -62,11 +62,7 @@ char *__connman_iface_find_passphrase(struct connman_iface *iface, list = g_key_file_get_string_list(keyfile, GROUP_CONFIG, "KnownNetworks", &list_len, NULL); for (i = 0; i < list_len; i++) { - DBG("known network %s", list[i]); - if (g_str_equal(list[i], network) == TRUE) { - DBG("found network %s", network); - result = g_key_file_get_string(keyfile, network, "PSK", NULL); if (result == NULL) diff --git a/src/iface.c b/src/iface.c index a1e136d..27bae8f 100644 --- a/src/iface.c +++ b/src/iface.c @@ -850,17 +850,25 @@ static DBusMessage *select_network(DBusConnection *conn, struct connman_iface *iface = data; DBusMessage *reply; const char *network; + gchar *passphrase; DBG("conn %p", conn); dbus_message_get_args(msg, NULL, DBUS_TYPE_STRING, &network, DBUS_TYPE_INVALID); + passphrase = __connman_iface_find_passphrase(iface, network); + if (passphrase == NULL) + goto done; + g_free(iface->network.identifier); iface->network.identifier = g_strdup(network); + g_free(iface->network.passphrase); + iface->network.passphrase = passphrase; __connman_iface_connect(iface, &iface->network); +done: reply = dbus_message_new_method_return(msg); if (reply == NULL) return NULL;