Browse Source
fix(session): Log when crypto session data is lost
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
pull/40879/head
Christoph Wurst
2 years ago
No known key found for this signature in database
GPG Key ID: CC42AC2A7F0E56D8
1 changed files with
7 additions and
1 deletions
-
lib/private/Session/CryptoSessionData.php
|
|
|
@ -32,6 +32,7 @@ namespace OC\Session; |
|
|
|
use OCP\ISession; |
|
|
|
use OCP\Security\ICrypto; |
|
|
|
use OCP\Session\Exceptions\SessionNotAvailableException; |
|
|
|
use function OCP\Log\logger; |
|
|
|
|
|
|
|
/** |
|
|
|
* Class CryptoSessionData |
|
|
|
@ -82,9 +83,14 @@ class CryptoSessionData implements \ArrayAccess, ISession { |
|
|
|
try { |
|
|
|
$this->sessionValues = json_decode( |
|
|
|
$this->crypto->decrypt($encryptedSessionData, $this->passphrase), |
|
|
|
true |
|
|
|
true, |
|
|
|
512, |
|
|
|
JSON_THROW_ON_ERROR, |
|
|
|
); |
|
|
|
} catch (\Exception $e) { |
|
|
|
logger('core')->critical('Could not decrypt or decode encrypted session data', [ |
|
|
|
'exception' => $e, |
|
|
|
]); |
|
|
|
$this->sessionValues = []; |
|
|
|
$this->regenerateId(true, false); |
|
|
|
} |
|
|
|
|