Reset WiFi passphrase if association or WPA handshake fails
authorSamuel Ortiz <sameo@linux.intel.com>
Wed, 29 Sep 2010 17:47:41 +0000 (19:47 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Wed, 29 Sep 2010 17:47:41 +0000 (19:47 +0200)
plugins/supplicant.c

index d0357f3..867a928 100644 (file)
@@ -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;