summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@linux.intel.com>2010-09-29 19:47:41 +0200
committerSamuel Ortiz <sameo@linux.intel.com>2010-09-29 19:47:41 +0200
commitc682f9fb2952934f23f883cff48ba33ef4b823ff (patch)
tree02470a5aa6f799b5bb3f7d04e5fb1602cc2bbad7 /plugins
parentba484d0f2544c371b42d3a54d2b600e31b208bf1 (diff)
downloadconnman-c682f9fb2952934f23f883cff48ba33ef4b823ff.tar.gz
connman-c682f9fb2952934f23f883cff48ba33ef4b823ff.tar.bz2
connman-c682f9fb2952934f23f883cff48ba33ef4b823ff.zip
Reset WiFi passphrase if association or WPA handshake fails
Diffstat (limited to 'plugins')
-rw-r--r--plugins/supplicant.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/plugins/supplicant.c b/plugins/supplicant.c
index d0357f33..867a9282 100644
--- a/plugins/supplicant.c
+++ b/plugins/supplicant.c
@@ -2318,6 +2318,13 @@ static void state_change(struct supplicant_task *task, DBusMessage *msg)
/* carrier off */
connman_network_set_connected(task->network, FALSE);
+ /*
+ * Reset the passphrase if we're being disconnected before
+ * association/handshake completes.
+ */
+ if (prevstate != WPA_COMPLETED && state == WPA_DISCONNECTED)
+ connman_network_set_passphrase(task->network, NULL);
+
if (task->disconnecting == TRUE) {
connman_network_unref(task->network);
task->disconnecting = FALSE;