Index: ./includes/session.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/session.inc,v retrieving revision 1.32 diff -u -r1.32 session.inc --- ./includes/session.inc 31 Aug 2006 19:52:39 -0000 1.32 +++ ./includes/session.inc 4 Oct 2006 07:33:47 -0000 @@ -85,6 +85,13 @@ function sess_regenerate() { $old_session_id = session_id(); session_regenerate_id(); + + // This manual cookie reset is required to mitigate this issue http://bugs.php.net/bug.php?id=32802. + // This issue only arises in PHP versions before 4.4.0, and in certain drupal configurations. + // We destroy the session cookie on the client by setting the cookie to expire in the past (a negative value). + if (isset($_COOKIE[session_name()])) { + setcookie(session_name(), '', time() - 42000, '/'); + } + db_query("UPDATE {sessions} SET sid = '%s' WHERE sid = '%s'", session_id(), $old_session_id); }