mirror of
https://github.com/nextcloud/server.git
synced 2026-04-22 14:50:17 -04:00
fix(session): Fix DAVx5 sync problems by partial reverting session changes
Temporary disabled the short cut again to solve issues with CalDAV/CardDAV clients like DAVx5 that use cookies and need a session. See https://github.com/nextcloud/server/issues/37277#issuecomment-1476366147 and the other comments for further information. Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
parent
07448168dc
commit
705165d3d1
1 changed files with 11 additions and 7 deletions
18
lib/base.php
18
lib/base.php
|
|
@ -411,13 +411,17 @@ class OC {
|
|||
|
||||
public static function initSession(): void {
|
||||
$request = Server::get(IRequest::class);
|
||||
$isDavRequest = strpos($request->getRequestUri(), '/remote.php/dav') === 0 || strpos($request->getRequestUri(), '/remote.php/webdav') === 0;
|
||||
if ($request->getHeader('Authorization') !== '' && is_null($request->getCookie('cookie_test')) && $isDavRequest && !isset($_COOKIE['nc_session_id'])) {
|
||||
setcookie('cookie_test', 'test', time() + 3600);
|
||||
// Do not initialize the session if a request is authenticated directly
|
||||
// unless there is a session cookie already sent along
|
||||
return;
|
||||
}
|
||||
|
||||
// TODO: Temporary disabled again to solve issues with CalDAV/CardDAV clients like DAVx5 that use cookies
|
||||
// TODO: See https://github.com/nextcloud/server/issues/37277#issuecomment-1476366147 and the other comments
|
||||
// TODO: for further information.
|
||||
// $isDavRequest = strpos($request->getRequestUri(), '/remote.php/dav') === 0 || strpos($request->getRequestUri(), '/remote.php/webdav') === 0;
|
||||
// if ($request->getHeader('Authorization') !== '' && is_null($request->getCookie('cookie_test')) && $isDavRequest && !isset($_COOKIE['nc_session_id'])) {
|
||||
// setcookie('cookie_test', 'test', time() + 3600);
|
||||
// // Do not initialize the session if a request is authenticated directly
|
||||
// // unless there is a session cookie already sent along
|
||||
// return;
|
||||
// }
|
||||
|
||||
if ($request->getServerProtocol() === 'https') {
|
||||
ini_set('session.cookie_secure', 'true');
|
||||
|
|
|
|||
Loading…
Reference in a new issue