From 89da3aa950f91f85f329cbd6ca93ff5cde3db373 Mon Sep 17 00:00:00 2001 From: Tim van Dijen <tvdijen@gmail.com> Date: Thu, 7 May 2020 16:02:50 +0200 Subject: [PATCH] Fix build: merged two changes in the wrong way --- lib/SimpleSAML/SessionHandlerPHP.php | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/SimpleSAML/SessionHandlerPHP.php b/lib/SimpleSAML/SessionHandlerPHP.php index 11a3dbd3a..c857df027 100644 --- a/lib/SimpleSAML/SessionHandlerPHP.php +++ b/lib/SimpleSAML/SessionHandlerPHP.php @@ -164,19 +164,24 @@ class SessionHandlerPHP extends SessionHandler */ public function newSessionId() { + $sessionId = false; + // generate new (secure) session id - $sid_length = (int) ini_get('session.sid_length'); - $sid_bits_per_char = (int) ini_get('session.sid_bits_per_character'); + if (function_exists('session_create_id')) { + $sid_length = (int) ini_get('session.sid_length'); + $sid_bits_per_char = (int) ini_get('session.sid_bits_per_character'); - if (($sid_length * $sid_bits_per_char) < 128) { - Logger::warning("Unsafe defaults used for sessionId generation!"); + if (($sid_length * $sid_bits_per_char) < 128) { + Logger::warning("Unsafe defaults used for sessionId generation!"); + } + $sessionId = session_create_id(); } - $sessionId = session_create_id(); if (!$sessionId) { Logger::warning("Secure session ID generation failed, falling back to custom ID generation."); $sessionId = bin2hex(openssl_random_pseudo_bytes(16)); } + Session::createSession($sessionId); return $sessionId; } -- GitLab