diff --git a/app/code/core/Mage/Core/Controller/Front/Action.php b/app/code/core/Mage/Core/Controller/Front/Action.php index 8ea3e4fa950..6941333e406 100644 --- a/app/code/core/Mage/Core/Controller/Front/Action.php +++ b/app/code/core/Mage/Core/Controller/Front/Action.php @@ -36,7 +36,7 @@ class Mage_Core_Controller_Front_Action extends Mage_Core_Controller_Varien_Acti /** * Session namespace to refer in other places */ - const SESSION_NAMESPACE = 'frontend'; + const SESSION_NAMESPACE = 'om_session'; /** * Add secret key to url config path diff --git a/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php b/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php index 81c3ea8e879..7949541774c 100644 --- a/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php +++ b/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php @@ -123,8 +123,18 @@ public function start($sessionName=null) if (!empty($sessionName)) { $this->setSessionName($sessionName); - } + // Migrate old cookie from 'frontend' + if ($sessionName === \Mage_Core_Controller_Front_Action::SESSION_NAMESPACE + && $cookie->get('frontend') + && ! $cookie->get(\Mage_Core_Controller_Front_Action::SESSION_NAMESPACE) + ) { + $frontendValue = $cookie->get('frontend'); + $_COOKIE[\Mage_Core_Controller_Front_Action::SESSION_NAMESPACE] = $frontendValue; + $cookie->set(Mage_Core_Controller_Front_Action::SESSION_NAMESPACE, $frontendValue); + $cookie->delete('frontend'); + } + } // potential custom logic for session id (ex. switching between hosts) $this->setSessionId(); @@ -141,6 +151,18 @@ public function start($sessionName=null) $secureCookieName = $sessionName . '_cid'; if (isset($_SESSION[self::SECURE_COOKIE_CHECK_KEY])) { $cookieValue = $cookie->get($secureCookieName); + + // Migrate old cookie from 'frontend' + if ( ! $cookieValue + && $sessionName === \Mage_Core_Controller_Front_Action::SESSION_NAMESPACE + && $cookie->get('frontend_cid') + ) { + $frontendValue = $cookie->get('frontend_cid'); + $_COOKIE[\Mage_Core_Controller_Front_Action::SESSION_NAMESPACE] = $frontendValue; + $cookie->set(Mage_Core_Controller_Front_Action::SESSION_NAMESPACE, $frontendValue); + $cookie->delete('frontend_cid'); + } + if (!is_string($cookieValue) || $_SESSION[self::SECURE_COOKIE_CHECK_KEY] !== md5($cookieValue)) { session_regenerate_id(false); $sessionHosts = $this->getSessionHosts();