Merge pull request #9681 from owncloud/kill_oc_session
kill OC::$session
This commit is contained in:
commit
67d9c7f7f7
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
OCP\JSON::checkLoggedIn();
|
OCP\JSON::checkLoggedIn();
|
||||||
OCP\JSON::callCheck();
|
OCP\JSON::callCheck();
|
||||||
\OC::$session->close();
|
\OC::$server->getSession()->close();
|
||||||
|
|
||||||
|
|
||||||
// Get data
|
// Get data
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
|
|
||||||
// Check if we are a user
|
// Check if we are a user
|
||||||
OCP\User::checkLoggedIn();
|
OCP\User::checkLoggedIn();
|
||||||
\OC::$session->close();
|
\OC::$server->getSession()->close();
|
||||||
|
|
||||||
$files = $_GET["files"];
|
$files = $_GET["files"];
|
||||||
$dir = $_GET["dir"];
|
$dir = $_GET["dir"];
|
||||||
|
|
|
@ -7,7 +7,7 @@ if (isset($_GET['dir'])) {
|
||||||
}
|
}
|
||||||
|
|
||||||
OCP\JSON::checkLoggedIn();
|
OCP\JSON::checkLoggedIn();
|
||||||
\OC::$session->close();
|
\OC::$server->getSession()->close();
|
||||||
|
|
||||||
// send back json
|
// send back json
|
||||||
OCP\JSON::success(array('data' => \OCA\Files\Helper::buildFileStorageStatistics($dir)));
|
OCP\JSON::success(array('data' => \OCA\Files\Helper::buildFileStorageStatistics($dir)));
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
OCP\JSON::checkLoggedIn();
|
OCP\JSON::checkLoggedIn();
|
||||||
\OC::$session->close();
|
\OC::$server->getSession()->close();
|
||||||
$l = OC_L10N::get('files');
|
$l = OC_L10N::get('files');
|
||||||
|
|
||||||
// Load the files
|
// Load the files
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<?php
|
<?php
|
||||||
\OC::$session->close();
|
\OC::$server->getSession()->close();
|
||||||
|
|
||||||
print OC_Helper::mimetypeIcon($_GET['mime']);
|
print OC_Helper::mimetypeIcon($_GET['mime']);
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
OCP\JSON::checkLoggedIn();
|
OCP\JSON::checkLoggedIn();
|
||||||
OCP\JSON::callCheck();
|
OCP\JSON::callCheck();
|
||||||
\OC::$session->close();
|
\OC::$server->getSession()->close();
|
||||||
|
|
||||||
// Get data
|
// Get data
|
||||||
$dir = stripslashes($_POST["dir"]);
|
$dir = stripslashes($_POST["dir"]);
|
||||||
|
|
|
@ -7,7 +7,7 @@ if(!OC_User::isLoggedIn()) {
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
\OC::$session->close();
|
\OC::$server->getSession()->close();
|
||||||
|
|
||||||
// Get the params
|
// Get the params
|
||||||
$dir = isset( $_REQUEST['dir'] ) ? '/'.trim($_REQUEST['dir'], '/\\') : '';
|
$dir = isset( $_REQUEST['dir'] ) ? '/'.trim($_REQUEST['dir'], '/\\') : '';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
OCP\JSON::checkLoggedIn();
|
OCP\JSON::checkLoggedIn();
|
||||||
OCP\JSON::callCheck();
|
OCP\JSON::callCheck();
|
||||||
\OC::$session->close();
|
\OC::$server->getSession()->close();
|
||||||
|
|
||||||
// Get the params
|
// Get the params
|
||||||
$dir = isset( $_POST['dir'] ) ? stripslashes($_POST['dir']) : '';
|
$dir = isset( $_POST['dir'] ) ? stripslashes($_POST['dir']) : '';
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
|
|
||||||
OCP\JSON::checkLoggedIn();
|
OCP\JSON::checkLoggedIn();
|
||||||
OCP\JSON::callCheck();
|
OCP\JSON::callCheck();
|
||||||
\OC::$session->close();
|
\OC::$server->getSession()->close();
|
||||||
|
|
||||||
$files = new \OCA\Files\App(
|
$files = new \OCA\Files\App(
|
||||||
\OC\Files\Filesystem::getView(),
|
\OC\Files\Filesystem::getView(),
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
set_time_limit(0); //scanning can take ages
|
set_time_limit(0); //scanning can take ages
|
||||||
\OC::$session->close();
|
\OC::$server->getSession()->close();
|
||||||
|
|
||||||
$force = (isset($_GET['force']) and ($_GET['force'] === 'true'));
|
$force = (isset($_GET['force']) and ($_GET['force'] === 'true'));
|
||||||
$dir = isset($_GET['dir']) ? $_GET['dir'] : '';
|
$dir = isset($_GET['dir']) ? $_GET['dir'] : '';
|
||||||
|
|
|
@ -68,7 +68,7 @@ if (empty($_POST['dirToken'])) {
|
||||||
OCP\JSON::callCheck();
|
OCP\JSON::callCheck();
|
||||||
if (!\OCP\App::isEnabled('files_encryption')) {
|
if (!\OCP\App::isEnabled('files_encryption')) {
|
||||||
// encryption app need to create keys later, so can't close too early
|
// encryption app need to create keys later, so can't close too early
|
||||||
\OC::$session->close();
|
\OC::$server->getSession()->close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -117,7 +117,7 @@ class Session {
|
||||||
*/
|
*/
|
||||||
public function setPrivateKey($privateKey) {
|
public function setPrivateKey($privateKey) {
|
||||||
|
|
||||||
\OC::$session->set('privateKey', $privateKey);
|
\OC::$server->getSession()->set('privateKey', $privateKey);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
@ -140,7 +140,7 @@ class Session {
|
||||||
*/
|
*/
|
||||||
public function setInitialized($init) {
|
public function setInitialized($init) {
|
||||||
|
|
||||||
\OC::$session->set('encryptionInitialized', $init);
|
\OC::$server->getSession()->set('encryptionInitialized', $init);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
@ -150,8 +150,8 @@ class Session {
|
||||||
* remove encryption keys and init status from session
|
* remove encryption keys and init status from session
|
||||||
*/
|
*/
|
||||||
public function closeSession() {
|
public function closeSession() {
|
||||||
\OC::$session->remove('encryptionInitialized');
|
\OC::$server->getSession()->remove('encryptionInitialized');
|
||||||
\OC::$session->remove('privateKey');
|
\OC::$server->getSession()->remove('privateKey');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -162,8 +162,8 @@ class Session {
|
||||||
* @note this doesn not indicate of the init was successful, we just remeber the try!
|
* @note this doesn not indicate of the init was successful, we just remeber the try!
|
||||||
*/
|
*/
|
||||||
public function getInitialized() {
|
public function getInitialized() {
|
||||||
if (!is_null(\OC::$session->get('encryptionInitialized'))) {
|
if (!is_null(\OC::$server->getSession()->get('encryptionInitialized'))) {
|
||||||
return \OC::$session->get('encryptionInitialized');
|
return \OC::$server->getSession()->get('encryptionInitialized');
|
||||||
} else {
|
} else {
|
||||||
return self::NOT_INITIALIZED;
|
return self::NOT_INITIALIZED;
|
||||||
}
|
}
|
||||||
|
@ -179,8 +179,8 @@ class Session {
|
||||||
if (\OCA\Encryption\Helper::isPublicAccess()) {
|
if (\OCA\Encryption\Helper::isPublicAccess()) {
|
||||||
return $this->getPublicSharePrivateKey();
|
return $this->getPublicSharePrivateKey();
|
||||||
} else {
|
} else {
|
||||||
if (!is_null(\OC::$session->get('privateKey'))) {
|
if (!is_null(\OC::$server->getSession()->get('privateKey'))) {
|
||||||
return \OC::$session->get('privateKey');
|
return \OC::$server->getSession()->get('privateKey');
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -194,7 +194,7 @@ class Session {
|
||||||
*/
|
*/
|
||||||
public function setPublicSharePrivateKey($privateKey) {
|
public function setPublicSharePrivateKey($privateKey) {
|
||||||
|
|
||||||
\OC::$session->set('publicSharePrivateKey', $privateKey);
|
\OC::$server->getSession()->set('publicSharePrivateKey', $privateKey);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
@ -207,8 +207,8 @@ class Session {
|
||||||
*/
|
*/
|
||||||
public function getPublicSharePrivateKey() {
|
public function getPublicSharePrivateKey() {
|
||||||
|
|
||||||
if (!is_null(\OC::$session->get('publicSharePrivateKey'))) {
|
if (!is_null(\OC::$server->getSession()->get('publicSharePrivateKey'))) {
|
||||||
return \OC::$session->get('publicSharePrivateKey');
|
return \OC::$server->getSession()->get('publicSharePrivateKey');
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,12 +14,12 @@ class SMB_OC extends \OC\Files\Storage\SMB {
|
||||||
private $username_as_share;
|
private $username_as_share;
|
||||||
|
|
||||||
public function __construct($params) {
|
public function __construct($params) {
|
||||||
if (isset($params['host']) && \OC::$session->exists('smb-credentials')) {
|
if (isset($params['host']) && \OC::$server->getSession()->exists('smb-credentials')) {
|
||||||
$host=$params['host'];
|
$host=$params['host'];
|
||||||
$this->username_as_share = ($params['username_as_share'] === 'true');
|
$this->username_as_share = ($params['username_as_share'] === 'true');
|
||||||
|
|
||||||
$params_auth = \OC::$session->get('smb-credentials');
|
$params_auth = \OC::$server->getSession()->get('smb-credentials');
|
||||||
$user = \OC::$session->get('loginname');
|
$user = \OC::$server->getSession()->get('loginname');
|
||||||
$password = $params_auth['password'];
|
$password = $params_auth['password'];
|
||||||
|
|
||||||
$root=isset($params['root'])?$params['root']:'/';
|
$root=isset($params['root'])?$params['root']:'/';
|
||||||
|
@ -45,7 +45,7 @@ class SMB_OC extends \OC\Files\Storage\SMB {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function login( $params ) {
|
public static function login( $params ) {
|
||||||
\OC::$session->set('smb-credentials', $params);
|
\OC::$server->getSession()->set('smb-credentials', $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function isSharable($path) {
|
public function isSharable($path) {
|
||||||
|
|
|
@ -106,7 +106,7 @@ class Helper {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
// Save item id in session for future requests
|
// Save item id in session for future requests
|
||||||
\OC::$session->set('public_link_authenticated', $linkItem['id']);
|
\OC::$server->getSession()->set('public_link_authenticated', $linkItem['id']);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
\OCP\Util::writeLog('share', 'Unknown share type '.$linkItem['share_type']
|
\OCP\Util::writeLog('share', 'Unknown share type '.$linkItem['share_type']
|
||||||
|
@ -117,8 +117,8 @@ class Helper {
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// not authenticated ?
|
// not authenticated ?
|
||||||
if ( ! \OC::$session->exists('public_link_authenticated')
|
if ( ! \OC::$server->getSession()->exists('public_link_authenticated')
|
||||||
|| \OC::$session->get('public_link_authenticated') !== $linkItem['id']) {
|
|| \OC::$server->getSession()->get('public_link_authenticated') !== $linkItem['id']) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,7 +63,7 @@ if (isset($path)) {
|
||||||
exit();
|
exit();
|
||||||
} else {
|
} else {
|
||||||
// Save item id in session for future requests
|
// Save item id in session for future requests
|
||||||
\OC::$session->set('public_link_authenticated', $linkItem['id']);
|
\OC::$server->getSession()->set('public_link_authenticated', $linkItem['id']);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
OCP\Util::writeLog('share', 'Unknown share type '.$linkItem['share_type']
|
OCP\Util::writeLog('share', 'Unknown share type '.$linkItem['share_type']
|
||||||
|
@ -76,8 +76,8 @@ if (isset($path)) {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// Check if item id is set in session
|
// Check if item id is set in session
|
||||||
if ( ! \OC::$session->exists('public_link_authenticated')
|
if ( ! \OC::$server->getSession()->exists('public_link_authenticated')
|
||||||
|| \OC::$session->get('public_link_authenticated') !== $linkItem['id']
|
|| \OC::$server->getSession()->get('public_link_authenticated') !== $linkItem['id']
|
||||||
) {
|
) {
|
||||||
// Prompt for password
|
// Prompt for password
|
||||||
OCP\Util::addStyle('files_sharing', 'authenticate');
|
OCP\Util::addStyle('files_sharing', 'authenticate');
|
||||||
|
|
4
cron.php
4
cron.php
|
@ -56,10 +56,10 @@ try {
|
||||||
// load all apps to get all api routes properly setup
|
// load all apps to get all api routes properly setup
|
||||||
OC_App::loadApps();
|
OC_App::loadApps();
|
||||||
|
|
||||||
\OC::$session->close();
|
\OC::$server->getSession()->close();
|
||||||
|
|
||||||
// initialize a dummy memory session
|
// initialize a dummy memory session
|
||||||
\OC::$session = new \OC\Session\Memory('');
|
\OC::$server->setSession(new \OC\Session\Memory(''));
|
||||||
|
|
||||||
$logger = \OC_Log::$object;
|
$logger = \OC_Log::$object;
|
||||||
|
|
||||||
|
|
39
lib/base.php
39
lib/base.php
|
@ -71,6 +71,7 @@ class OC {
|
||||||
public static $CLI = false;
|
public static $CLI = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @deprecated use \OC::$server->getSession() instead
|
||||||
* @var \OC\Session\Session
|
* @var \OC\Session\Session
|
||||||
*/
|
*/
|
||||||
public static $session = null;
|
public static $session = null;
|
||||||
|
@ -375,19 +376,20 @@ class OC {
|
||||||
$cookie_path = OC::$WEBROOT ? : '/';
|
$cookie_path = OC::$WEBROOT ? : '/';
|
||||||
ini_set('session.cookie_path', $cookie_path);
|
ini_set('session.cookie_path', $cookie_path);
|
||||||
|
|
||||||
//set the session object to a dummy session so code relying on the session existing still works
|
|
||||||
self::$session = new \OC\Session\Memory('');
|
|
||||||
|
|
||||||
// Let the session name be changed in the initSession Hook
|
// Let the session name be changed in the initSession Hook
|
||||||
$sessionName = OC_Util::getInstanceId();
|
$sessionName = OC_Util::getInstanceId();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Allow session apps to create a custom session object
|
// Allow session apps to create a custom session object
|
||||||
$useCustomSession = false;
|
$useCustomSession = false;
|
||||||
OC_Hook::emit('OC', 'initSession', array('session' => &self::$session, 'sessionName' => &$sessionName, 'useCustomSession' => &$useCustomSession));
|
$session = self::$server->getSession();
|
||||||
if(!$useCustomSession) {
|
OC_Hook::emit('OC', 'initSession', array('session' => &$session, 'sessionName' => &$sessionName, 'useCustomSession' => &$useCustomSession));
|
||||||
|
if($useCustomSession) {
|
||||||
|
// use the session reference as the new Session
|
||||||
|
self::$server->setSession($session);
|
||||||
|
} else {
|
||||||
// set the session name to the instance id - which is unique
|
// set the session name to the instance id - which is unique
|
||||||
self::$session = new \OC\Session\Internal($sessionName);
|
self::$server->setSession(new \OC\Session\Internal($sessionName));
|
||||||
}
|
}
|
||||||
// if session cant be started break with http 500 error
|
// if session cant be started break with http 500 error
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
|
@ -398,15 +400,19 @@ class OC {
|
||||||
|
|
||||||
$sessionLifeTime = self::getSessionLifeTime();
|
$sessionLifeTime = self::getSessionLifeTime();
|
||||||
// regenerate session id periodically to avoid session fixation
|
// regenerate session id periodically to avoid session fixation
|
||||||
if (!self::$session->exists('SID_CREATED')) {
|
/**
|
||||||
self::$session->set('SID_CREATED', time());
|
* @var \OCP\ISession $session
|
||||||
} else if (time() - self::$session->get('SID_CREATED') > $sessionLifeTime / 2) {
|
*/
|
||||||
|
$session = self::$server->getSession();
|
||||||
|
if (!$session->exists('SID_CREATED')) {
|
||||||
|
$session->set('SID_CREATED', time());
|
||||||
|
} else if (time() - $session->get('SID_CREATED') > $sessionLifeTime / 2) {
|
||||||
session_regenerate_id(true);
|
session_regenerate_id(true);
|
||||||
self::$session->set('SID_CREATED', time());
|
$session->set('SID_CREATED', time());
|
||||||
}
|
}
|
||||||
|
|
||||||
// session timeout
|
// session timeout
|
||||||
if (self::$session->exists('LAST_ACTIVITY') && (time() - self::$session->get('LAST_ACTIVITY') > $sessionLifeTime)) {
|
if ($session->exists('LAST_ACTIVITY') && (time() - $session->get('LAST_ACTIVITY') > $sessionLifeTime)) {
|
||||||
if (isset($_COOKIE[session_name()])) {
|
if (isset($_COOKIE[session_name()])) {
|
||||||
setcookie(session_name(), '', time() - 42000, $cookie_path);
|
setcookie(session_name(), '', time() - 42000, $cookie_path);
|
||||||
}
|
}
|
||||||
|
@ -415,7 +421,7 @@ class OC {
|
||||||
session_start();
|
session_start();
|
||||||
}
|
}
|
||||||
|
|
||||||
self::$session->set('LAST_ACTIVITY', time());
|
$session->set('LAST_ACTIVITY', time());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -447,9 +453,6 @@ class OC {
|
||||||
self::$loader->registerPrefix('Pimple', '3rdparty/Pimple');
|
self::$loader->registerPrefix('Pimple', '3rdparty/Pimple');
|
||||||
spl_autoload_register(array(self::$loader, 'load'));
|
spl_autoload_register(array(self::$loader, 'load'));
|
||||||
|
|
||||||
// make a dummy session available as early as possible since error pages need it
|
|
||||||
self::$session = new \OC\Session\Memory('');
|
|
||||||
|
|
||||||
// set some stuff
|
// set some stuff
|
||||||
//ob_start();
|
//ob_start();
|
||||||
error_reporting(E_ALL | E_STRICT);
|
error_reporting(E_ALL | E_STRICT);
|
||||||
|
@ -544,7 +547,7 @@ class OC {
|
||||||
|
|
||||||
// User and Groups
|
// User and Groups
|
||||||
if (!OC_Config::getValue("installed", false)) {
|
if (!OC_Config::getValue("installed", false)) {
|
||||||
self::$session->set('user_id', '');
|
self::$server->getSession()->set('user_id', '');
|
||||||
}
|
}
|
||||||
|
|
||||||
OC_User::useBackend(new OC_User_Database());
|
OC_User::useBackend(new OC_User_Database());
|
||||||
|
@ -783,7 +786,7 @@ class OC {
|
||||||
if (isset($_COOKIE['oc_ignore_php_auth_user'])) {
|
if (isset($_COOKIE['oc_ignore_php_auth_user'])) {
|
||||||
// Ignore HTTP Authentication for 5 more mintues.
|
// Ignore HTTP Authentication for 5 more mintues.
|
||||||
setcookie('oc_ignore_php_auth_user', $_SERVER['PHP_AUTH_USER'], time() + 300, OC::$WEBROOT.(empty(OC::$WEBROOT) ? '/' : ''));
|
setcookie('oc_ignore_php_auth_user', $_SERVER['PHP_AUTH_USER'], time() + 300, OC::$WEBROOT.(empty(OC::$WEBROOT) ? '/' : ''));
|
||||||
} elseif ($_SERVER['PHP_AUTH_USER'] === self::$session->get('loginname')) {
|
} elseif ($_SERVER['PHP_AUTH_USER'] === self::$server->getSession()->get('loginname')) {
|
||||||
// Ignore HTTP Authentication to allow a different user to log in.
|
// Ignore HTTP Authentication to allow a different user to log in.
|
||||||
setcookie('oc_ignore_php_auth_user', $_SERVER['PHP_AUTH_USER'], 0, OC::$WEBROOT.(empty(OC::$WEBROOT) ? '/' : ''));
|
setcookie('oc_ignore_php_auth_user', $_SERVER['PHP_AUTH_USER'], 0, OC::$WEBROOT.(empty(OC::$WEBROOT) ? '/' : ''));
|
||||||
}
|
}
|
||||||
|
@ -930,7 +933,7 @@ class OC {
|
||||||
if (OC_User::login($_POST["user"], $_POST["password"])) {
|
if (OC_User::login($_POST["user"], $_POST["password"])) {
|
||||||
// setting up the time zone
|
// setting up the time zone
|
||||||
if (isset($_POST['timezone-offset'])) {
|
if (isset($_POST['timezone-offset'])) {
|
||||||
self::$session->set('timezone', $_POST['timezone-offset']);
|
self::$server->getSession()->set('timezone', $_POST['timezone-offset']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$userid = OC_User::getUser();
|
$userid = OC_User::getUser();
|
||||||
|
|
|
@ -191,7 +191,7 @@ class DIContainer extends SimpleContainer implements IAppContainer{
|
||||||
}
|
}
|
||||||
|
|
||||||
private function getUserId() {
|
private function getUserId() {
|
||||||
return \OC::$session->get('user_id');
|
return \OC::$server->getSession()->get('user_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -78,7 +78,7 @@ class OC_Connector_Sabre_Auth extends \Sabre\DAV\Auth\Backend\AbstractBasic {
|
||||||
$result = $this->auth($server, $realm);
|
$result = $this->auth($server, $realm);
|
||||||
|
|
||||||
// close the session - right after authentication there is not need to write to the session any more
|
// close the session - right after authentication there is not need to write to the session any more
|
||||||
\OC::$session->close();
|
\OC::$server->getSession()->close();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,7 @@ use OC\DB\ConnectionWrapper;
|
||||||
use OC\Files\Node\Root;
|
use OC\Files\Node\Root;
|
||||||
use OC\Files\View;
|
use OC\Files\View;
|
||||||
use OCP\IServerContainer;
|
use OCP\IServerContainer;
|
||||||
|
use OCP\ISession;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class Server
|
* Class Server
|
||||||
|
@ -31,8 +32,8 @@ class Server extends SimpleContainer implements IServerContainer {
|
||||||
$urlParams = array();
|
$urlParams = array();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (\OC::$session->exists('requesttoken')) {
|
if (\OC::$server->getSession()->exists('requesttoken')) {
|
||||||
$requestToken = \OC::$session->get('requesttoken');
|
$requestToken = \OC::$server->getSession()->get('requesttoken');
|
||||||
} else {
|
} else {
|
||||||
$requestToken = false;
|
$requestToken = false;
|
||||||
}
|
}
|
||||||
|
@ -100,7 +101,7 @@ class Server extends SimpleContainer implements IServerContainer {
|
||||||
* @var \OC\User\Manager $manager
|
* @var \OC\User\Manager $manager
|
||||||
*/
|
*/
|
||||||
$manager = $c->query('UserManager');
|
$manager = $c->query('UserManager');
|
||||||
$userSession = new \OC\User\Session($manager, \OC::$session);
|
$userSession = new \OC\User\Session($manager, new \OC\Session\Memory(''));
|
||||||
$userSession->listen('\OC\User', 'preCreateUser', function ($uid, $password) {
|
$userSession->listen('\OC\User', 'preCreateUser', function ($uid, $password) {
|
||||||
\OC_Hook::emit('OC_User', 'pre_createUser', array('run' => true, 'uid' => $uid, 'password' => $password));
|
\OC_Hook::emit('OC_User', 'pre_createUser', array('run' => true, 'uid' => $uid, 'password' => $password));
|
||||||
});
|
});
|
||||||
|
@ -327,6 +328,20 @@ class Server extends SimpleContainer implements IServerContainer {
|
||||||
return $this->query('UserSession');
|
return $this->query('UserSession');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return \OCP\ISession
|
||||||
|
*/
|
||||||
|
function getSession() {
|
||||||
|
return $this->query('UserSession')->getSession();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param \OCP\ISession $session
|
||||||
|
*/
|
||||||
|
function setSession(\OCP\ISession $session) {
|
||||||
|
return $this->query('UserSession')->setSession($session);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return \OC\NavigationManager
|
* @return \OC\NavigationManager
|
||||||
*/
|
*/
|
||||||
|
@ -392,15 +407,6 @@ class Server extends SimpleContainer implements IServerContainer {
|
||||||
return $this->query('MemCacheFactory');
|
return $this->query('MemCacheFactory');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the current session
|
|
||||||
*
|
|
||||||
* @return \OCP\ISession
|
|
||||||
*/
|
|
||||||
function getSession() {
|
|
||||||
return \OC::$session;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the current session
|
* Returns the current session
|
||||||
*
|
*
|
||||||
|
|
|
@ -1855,8 +1855,8 @@ class Share extends \OC\Share\Constants {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( \OC::$session->exists('public_link_authenticated')
|
if ( \OC::$server->getSession()->exists('public_link_authenticated')
|
||||||
&& \OC::$session->get('public_link_authenticated') === $linkItem['id'] ) {
|
&& \OC::$server->getSession()->get('public_link_authenticated') === $linkItem['id'] ) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,7 @@ class OC_Template extends \OC\Template\Base {
|
||||||
// Read the detected formfactor and use the right file name.
|
// Read the detected formfactor and use the right file name.
|
||||||
$fext = self::getFormFactorExtension();
|
$fext = self::getFormFactorExtension();
|
||||||
|
|
||||||
$requesttoken = OC::$session ? OC_Util::callRegister() : '';
|
$requesttoken = OC::$server->getSession() ? OC_Util::callRegister() : '';
|
||||||
|
|
||||||
$parts = explode('/', $app); // fix translation when app is something like core/lostpassword
|
$parts = explode('/', $app); // fix translation when app is something like core/lostpassword
|
||||||
$l10n = OC_L10N::get($parts[0]);
|
$l10n = OC_L10N::get($parts[0]);
|
||||||
|
@ -101,20 +101,20 @@ class OC_Template extends \OC\Template\Base {
|
||||||
*/
|
*/
|
||||||
static public function getFormFactorExtension()
|
static public function getFormFactorExtension()
|
||||||
{
|
{
|
||||||
if (!\OC::$session) {
|
if (!\OC::$server->getSession()) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
// if the formfactor is not yet autodetected do the
|
// if the formfactor is not yet autodetected do the
|
||||||
// autodetection now. For possible formfactors check the
|
// autodetection now. For possible formfactors check the
|
||||||
// detectFormfactor documentation
|
// detectFormfactor documentation
|
||||||
if (!\OC::$session->exists('formfactor')) {
|
if (!\OC::$server->getSession()->exists('formfactor')) {
|
||||||
\OC::$session->set('formfactor', self::detectFormfactor());
|
\OC::$server->getSession()->set('formfactor', self::detectFormfactor());
|
||||||
}
|
}
|
||||||
// allow manual override via GET parameter
|
// allow manual override via GET parameter
|
||||||
if(isset($_GET['formfactor'])) {
|
if(isset($_GET['formfactor'])) {
|
||||||
\OC::$session->set('formfactor', $_GET['formfactor']);
|
\OC::$server->getSession()->set('formfactor', $_GET['formfactor']);
|
||||||
}
|
}
|
||||||
$formfactor = \OC::$session->get('formfactor');
|
$formfactor = \OC::$server->getSession()->get('formfactor');
|
||||||
if($formfactor==='default') {
|
if($formfactor==='default') {
|
||||||
$fext='';
|
$fext='';
|
||||||
}elseif($formfactor==='mobile') {
|
}elseif($formfactor==='mobile') {
|
||||||
|
|
|
@ -300,7 +300,7 @@ class OC_User {
|
||||||
* Sets user id for session and triggers emit
|
* Sets user id for session and triggers emit
|
||||||
*/
|
*/
|
||||||
public static function setUserId($uid) {
|
public static function setUserId($uid) {
|
||||||
OC::$session->set('user_id', $uid);
|
\OC::$server->getSession()->set('user_id', $uid);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -337,8 +337,8 @@ class OC_User {
|
||||||
* Checks if the user is logged in
|
* Checks if the user is logged in
|
||||||
*/
|
*/
|
||||||
public static function isLoggedIn() {
|
public static function isLoggedIn() {
|
||||||
if (\OC::$session->get('user_id') !== null && self::$incognitoMode === false) {
|
if (\OC::$server->getSession()->get('user_id') !== null && self::$incognitoMode === false) {
|
||||||
return self::userExists(\OC::$session->get('user_id'));
|
return self::userExists(\OC::$server->getSession()->get('user_id'));
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -386,7 +386,7 @@ class OC_User {
|
||||||
* @return string uid or false
|
* @return string uid or false
|
||||||
*/
|
*/
|
||||||
public static function getUser() {
|
public static function getUser() {
|
||||||
$uid = OC::$session ? OC::$session->get('user_id') : null;
|
$uid = \OC::$server->getSession() ? \OC::$server->getSession()->get('user_id') : null;
|
||||||
if (!is_null($uid) && self::$incognitoMode === false) {
|
if (!is_null($uid) && self::$incognitoMode === false) {
|
||||||
return $uid;
|
return $uid;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -47,10 +47,10 @@ class Session implements IUserSession, Emitter {
|
||||||
protected $activeUser;
|
protected $activeUser;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param \OC\User\Manager $manager
|
* @param \OCP\IUserManager $manager
|
||||||
* @param \OC\Session\Session $session
|
* @param \OCP\ISession $session
|
||||||
*/
|
*/
|
||||||
public function __construct($manager, $session) {
|
public function __construct(\OCP\IUserManager $manager, \OCP\ISession $session) {
|
||||||
$this->manager = $manager;
|
$this->manager = $manager;
|
||||||
$this->session = $session;
|
$this->session = $session;
|
||||||
}
|
}
|
||||||
|
@ -82,6 +82,44 @@ class Session implements IUserSession, Emitter {
|
||||||
return $this->manager;
|
return $this->manager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get the session object
|
||||||
|
*
|
||||||
|
* @return \OCP\ISession
|
||||||
|
*/
|
||||||
|
public function getSession() {
|
||||||
|
// fetch the deprecated \OC::$session if it changed for backwards compatibility
|
||||||
|
if (isset(\OC::$session) && \OC::$session !== $this->session) {
|
||||||
|
\OC::$server->getLogger()->warning(
|
||||||
|
'One of your installed apps still seems to use the deprecated '.
|
||||||
|
'\OC::$session and has replaced it with a new instance. Please file a bug against it.'.
|
||||||
|
'Closing and replacing session in UserSession instance.'
|
||||||
|
);
|
||||||
|
$this->setSession(\OC::$session);
|
||||||
|
}
|
||||||
|
return $this->session;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set the session object
|
||||||
|
*
|
||||||
|
* @param \OCP\ISession $session
|
||||||
|
*/
|
||||||
|
public function setSession(\OCP\ISession $session) {
|
||||||
|
if ($this->session instanceof \OCP\ISession) {
|
||||||
|
$this->session->close();
|
||||||
|
}
|
||||||
|
$this->session = $session;
|
||||||
|
|
||||||
|
// maintain deprecated \OC::$session
|
||||||
|
if (\OC::$session !== $this->session) {
|
||||||
|
if (\OC::$session instanceof \OCP\ISession) {
|
||||||
|
\OC::$session->close();
|
||||||
|
}
|
||||||
|
\OC::$session = $session;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* set the currently active user
|
* set the currently active user
|
||||||
*
|
*
|
||||||
|
|
|
@ -384,11 +384,11 @@ class OC_Util {
|
||||||
* @return string timestamp
|
* @return string timestamp
|
||||||
* @description adjust to clients timezone if we know it
|
* @description adjust to clients timezone if we know it
|
||||||
*/
|
*/
|
||||||
public static function formatDate($timestamp, $dateOnly = false) {
|
public static function formatDate( $timestamp, $dateOnly = false) {
|
||||||
if (\OC::$session->exists('timezone')) {
|
if(\OC::$server->getSession()->exists('timezone')) {
|
||||||
$systemTimeZone = intval(date('O'));
|
$systemTimeZone = intval(date('O'));
|
||||||
$systemTimeZone = (round($systemTimeZone / 100, 0) * 60) + ($systemTimeZone % 100);
|
$systemTimeZone = (round($systemTimeZone / 100, 0) * 60) + ($systemTimeZone % 100);
|
||||||
$clientTimeZone = \OC::$session->get('timezone') * 60;
|
$clientTimeZone = \OC::$server->getSession()->get('timezone') * 60;
|
||||||
$offset = $clientTimeZone - $systemTimeZone;
|
$offset = $clientTimeZone - $systemTimeZone;
|
||||||
$timestamp = $timestamp + $offset * 60;
|
$timestamp = $timestamp + $offset * 60;
|
||||||
}
|
}
|
||||||
|
@ -412,7 +412,7 @@ class OC_Util {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Assume that if checkServer() succeeded before in this session, then all is fine.
|
// Assume that if checkServer() succeeded before in this session, then all is fine.
|
||||||
if (\OC::$session->exists('checkServer_succeeded') && \OC::$session->get('checkServer_succeeded')) {
|
if (\OC::$server->getSession()->exists('checkServer_succeeded') && \OC::$server->getSession()->get('checkServer_succeeded')) {
|
||||||
return $errors;
|
return $errors;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -615,7 +615,7 @@ class OC_Util {
|
||||||
$errors = array_merge($errors, self::checkDatabaseVersion());
|
$errors = array_merge($errors, self::checkDatabaseVersion());
|
||||||
|
|
||||||
// Cache the result of this function
|
// Cache the result of this function
|
||||||
\OC::$session->set('checkServer_succeeded', count($errors) == 0);
|
\OC::$server->getSession()->set('checkServer_succeeded', count($errors) == 0);
|
||||||
|
|
||||||
return $errors;
|
return $errors;
|
||||||
}
|
}
|
||||||
|
@ -938,13 +938,13 @@ class OC_Util {
|
||||||
*/
|
*/
|
||||||
public static function callRegister() {
|
public static function callRegister() {
|
||||||
// Check if a token exists
|
// Check if a token exists
|
||||||
if (!\OC::$session->exists('requesttoken')) {
|
if (!\OC::$server->getSession()->exists('requesttoken')) {
|
||||||
// No valid token found, generate a new one.
|
// No valid token found, generate a new one.
|
||||||
$requestToken = self::generateRandomBytes(20);
|
$requestToken = self::generateRandomBytes(20);
|
||||||
\OC::$session->set('requesttoken', $requestToken);
|
\OC::$server->getSession()->set('requesttoken', $requestToken);
|
||||||
} else {
|
} else {
|
||||||
// Valid token already exists, send it
|
// Valid token already exists, send it
|
||||||
$requestToken = \OC::$session->get('requesttoken');
|
$requestToken = \OC::$server->getSession()->get('requesttoken');
|
||||||
}
|
}
|
||||||
return ($requestToken);
|
return ($requestToken);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ class Test_OC_OCS_Privatedata extends PHPUnit_Framework_TestCase
|
||||||
private $appKey;
|
private $appKey;
|
||||||
|
|
||||||
public function setUp() {
|
public function setUp() {
|
||||||
\OC::$session->set('user_id', 'user1');
|
\OC::$server->getSession()->set('user_id', 'user1');
|
||||||
$this->appKey = uniqid('app');
|
$this->appKey = uniqid('app');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -740,7 +740,7 @@ class Test_Share extends PHPUnit_Framework_TestCase {
|
||||||
* @param $item
|
* @param $item
|
||||||
*/
|
*/
|
||||||
public function testCheckPasswordProtectedShare($expected, $item) {
|
public function testCheckPasswordProtectedShare($expected, $item) {
|
||||||
\OC::$session->set('public_link_authenticated', 100);
|
\OC::$server->getSession()->set('public_link_authenticated', 100);
|
||||||
$result = \OCP\Share::checkPasswordProtectedShare($item);
|
$result = \OCP\Share::checkPasswordProtectedShare($item);
|
||||||
$this->assertEquals($expected, $result);
|
$this->assertEquals($expected, $result);
|
||||||
}
|
}
|
||||||
|
@ -767,8 +767,8 @@ class Test_Share extends PHPUnit_Framework_TestCase {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( \OC::$session->exists('public_link_authenticated')
|
if ( \OC::$server->getSession()->exists('public_link_authenticated')
|
||||||
&& \OC::$session->get('public_link_authenticated') === $linkItem['id'] ) {
|
&& \OC::$server->getSession()->get('public_link_authenticated') === $linkItem['id'] ) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
* */
|
* */
|
||||||
|
|
|
@ -31,9 +31,9 @@ class StartSessionListener implements PHPUnit_Framework_TestListener {
|
||||||
|
|
||||||
public function endTest(PHPUnit_Framework_Test $test, $time) {
|
public function endTest(PHPUnit_Framework_Test $test, $time) {
|
||||||
// reopen the session - only allowed for memory session
|
// reopen the session - only allowed for memory session
|
||||||
if (\OC::$session instanceof \OC\Session\Memory) {
|
if (\OC::$server->getSession() instanceof \OC\Session\Memory) {
|
||||||
/** @var $session \OC\Session\Memory */
|
/** @var $session \OC\Session\Memory */
|
||||||
$session = \OC::$session;
|
$session = \OC::$server->getSession();
|
||||||
$session->reopen();
|
$session->reopen();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue