From d58643e80c786abb54e1dc8148a250039456acc6 Sun, 6 Mar 2011 13:52:21 -0800
From: Geoff Appleby <gapple@490940.no-reply.drupal.org>
Date: Sun, 6 Mar 2011 13:51:46 -0800
Subject: [PATCH] Expire users' token cookie of no longer valid.

diff --git a/persistent_login.module b/persistent_login.module
old mode 100755
new mode 100644
index c66db10..4dc8768
--- a/persistent_login.module
+++ b/persistent_login.module
@@ -246,6 +246,7 @@
       }
       // If the password is modified, fall through to wipe all persistent logins.
     case 'delete':
+      _persistent_login_setcookie($cookie_name, '', time() - 86400);
       _persistent_login_invalidate($op, 'uid = %d', $account->uid);
       unset($_SESSION['persistent_login_check']);
       unset($_SESSION['persistent_login_login']);
@@ -311,10 +312,12 @@
     $r = db_fetch_array($res);
     if (!is_array($r) || count($r) == 0) {
       // $uid:$series is invalid
+      _persistent_login_setcookie($cookie_name, '', time() - 86400);
       return;
     }
     else if ($r['pl_expires'] > 0 && $r['pl_expires'] < time()) {
       // $uid:$series has expired
+      _persistent_login_setcookie($cookie_name, '', time() - 86400);
       return;
     }
 
@@ -381,6 +384,7 @@
 
       // Reset PL state in $_SESSION.
       $d = array();
+      _persistent_login_setcookie($cookie_name, '', time() - 86400);
       _persistent_login_invalidate('stolen', 'uid = %d', $uid);
       persistent_login_user('logout', $d, $user);
       // Delete all open sessions for this user.  Use $uid from the
