diff options
author | Björn Schießle <bjoern@schiessle.org> | 2018-08-15 17:08:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-15 17:08:27 +0200 |
commit | 78ca6f9f877c779525ed2d22ed435755dcae007c (patch) | |
tree | 7d18663be5d781d5d1a152c83b1335e152f2c4d9 /core | |
parent | f7ae4771c8b056c72dc0a68e0d62be7d2407c0d2 (diff) | |
parent | 3c5fb2b52b5f84fd6562da10f22c7ab7f6bf7a67 (diff) | |
download | nextcloud-server-78ca6f9f877c779525ed2d22ed435755dcae007c.tar.gz nextcloud-server-78ca6f9f877c779525ed2d22ed435755dcae007c.zip |
Merge pull request #10645 from nextcloud/fix-password-reset
only warn about data lose on password reset if per-user keys are used
Diffstat (limited to 'core')
-rw-r--r-- | core/Controller/LostController.php | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/core/Controller/LostController.php b/core/Controller/LostController.php index d0ed432f03f..eacd5847c6c 100644 --- a/core/Controller/LostController.php +++ b/core/Controller/LostController.php @@ -37,6 +37,7 @@ use OCP\AppFramework\Http\JSONResponse; use \OCP\AppFramework\Http\TemplateResponse; use OCP\AppFramework\Utility\ITimeFactory; use OCP\Defaults; +use OCP\Encryption\IEncryptionModule; use OCP\Encryption\IManager; use \OCP\IURLGenerator; use \OCP\IRequest; @@ -260,7 +261,15 @@ class LostController extends Controller { } if ($this->encryptionManager->isEnabled() && !$proceed) { - return $this->error('', array('encryption' => true)); + $encryptionModules = $this->encryptionManager->getEncryptionModules(); + foreach ($encryptionModules as $module) { + /** @var IEncryptionModule $instance */ + $instance = call_user_func($module['callback']); + // this way we can find out whether per-user keys are used or a system wide encryption key + if ($instance->needDetailedAccessList()) { + return $this->error('', array('encryption' => true)); + } + } } try { |