diff --git a/common/framework/session.php b/common/framework/session.php index e8ade4eb7..e4c4d3645 100644 --- a/common/framework/session.php +++ b/common/framework/session.php @@ -1061,7 +1061,7 @@ class Session } else { - setcookie('rx_sesskey1', 'deleted', time() - 86400, $path, $domain, false, true); + setcookie('rx_sesskey1', 'deleted', time() - 86400, $path); unset($_COOKIE['rx_sesskey1']); } @@ -1072,6 +1072,16 @@ class Session $_COOKIE['rx_sesskey2'] = $_SESSION['RHYMIX']['keys'][$domain]['key2']; } + // Delete conflicting wildcard keys. + if (!strncmp($domain, 'www.', 4) && !Config::get('session.domain') && !ini_get('session.cookie_domain')) + { + $domain = preg_replace('/^www\./', '', $domain); + setcookie(session_name(), 'deleted', time() - 86400, $path, $domain); + setcookie('rx_autologin', 'deleted', time() - 86400, $path, $domain); + setcookie('rx_sesskey1', 'deleted', time() - 86400, $path, $domain); + setcookie('rx_sesskey2', 'deleted', time() - 86400, $path, $domain); + } + return true; }