From 3a6bdff605a915d8fcca6d89d8b5462aa4aff846 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fre=CC=81de=CC=81ric=20G=2E-Boutin?= Date: Mon, 13 Feb 2023 14:14:19 -0500 Subject: [PATCH] Fix invalid session regeneration on wrong session ID --- packages/zend-session/library/Zend/Session.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/zend-session/library/Zend/Session.php b/packages/zend-session/library/Zend/Session.php index 19ba73087..ae8e14e90 100644 --- a/packages/zend-session/library/Zend/Session.php +++ b/packages/zend-session/library/Zend/Session.php @@ -426,7 +426,7 @@ public static function start($options = false) // Generate a valid, temporary replacement self::setId(md5(self::getId())); // Force a regenerate after session is started - self::$_regenerateIdState = -1; + self::regenerateId(); } if (self::$_sessionStarted && self::$_destroyed) { @@ -459,7 +459,7 @@ public static function start($options = false) } // See http://www.php.net/manual/en/ref.session.php for explanation - if (!self::$_unitTestEnabled && defined('SID')) { + if (!self::$_unitTestEnabled && defined('SID') && SID !== '') { /** @see Zend_Session_Exception */ // require_once 'Zend/Session/Exception.php'; throw new Zend_Session_Exception('session has already been started by session.auto-start or session_start()'); @@ -662,7 +662,7 @@ public static function getId() */ public static function setId($id) { - if (!self::$_unitTestEnabled && defined('SID')) { + if (!self::$_unitTestEnabled && defined('SID') && SID !== '') { /** @see Zend_Session_Exception */ // require_once 'Zend/Session/Exception.php'; throw new Zend_Session_Exception('The session has already been started. The session id must be set first.');