From 5035c82369ebde0a37f7cf71ab2ad824230a8c5a Mon Sep 17 00:00:00 2001 From: Samuel Ortiz Date: Tue, 12 Oct 2010 17:43:17 +0200 Subject: [PATCH] supplicant: Do not set service error when failing at association phase for psk For wpa-psk, failing at the association phase does not imply anything about the passphrase being wrong or not. --- plugins/supplicant.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/plugins/supplicant.c b/plugins/supplicant.c index f17edc5..ede0c72 100644 --- a/plugins/supplicant.c +++ b/plugins/supplicant.c @@ -2201,6 +2201,7 @@ static void state_change(struct supplicant_task *task, DBusMessage *msg) unsigned char bssid[ETH_ALEN]; unsigned int bssid_len; enum supplicant_state state, prevstate; + const char *security; dbus_error_init(&error); @@ -2274,6 +2275,15 @@ static void state_change(struct supplicant_task *task, DBusMessage *msg) /* fall through */ case WPA_DISCONNECTED: + security = connman_network_get_string(task->network, "WiFi.Security"); + + connman_error("%s: prevstate %d security %s", __func__, prevstate, security); + + if (prevstate == WPA_ASSOCIATING && state == WPA_DISCONNECTED && + (!g_strcmp0(security, "wpa") || + !g_strcmp0(security, "rsn"))) + connman_network_set_associating(task->network, FALSE); + /* carrier off */ connman_network_set_connected(task->network, FALSE); -- 1.7.1