|
|
|
|
@ -26,6 +26,7 @@ namespace OCA\Encryption\Controller; |
|
|
|
|
|
|
|
|
|
use OCA\Encryption\Recovery; |
|
|
|
|
use OCP\AppFramework\Controller; |
|
|
|
|
use OCP\AppFramework\Http; |
|
|
|
|
use OCP\IConfig; |
|
|
|
|
use OCP\IL10N; |
|
|
|
|
use OCP\IRequest; |
|
|
|
|
@ -74,34 +75,34 @@ class RecoveryController extends Controller { |
|
|
|
|
if (empty($recoveryPassword)) { |
|
|
|
|
$errorMessage = (string)$this->l->t('Missing recovery key password'); |
|
|
|
|
return new DataResponse(['data' => ['message' => $errorMessage]], |
|
|
|
|
500); |
|
|
|
|
Http::STATUS_INTERNAL_SERVER_ERROR); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (empty($confirmPassword)) { |
|
|
|
|
$errorMessage = (string)$this->l->t('Please repeat the recovery key password'); |
|
|
|
|
return new DataResponse(['data' => ['message' => $errorMessage]], |
|
|
|
|
500); |
|
|
|
|
Http::STATUS_INTERNAL_SERVER_ERROR); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ($recoveryPassword !== $confirmPassword) { |
|
|
|
|
$errorMessage = (string)$this->l->t('Repeated recovery key password does not match the provided recovery key password'); |
|
|
|
|
return new DataResponse(['data' => ['message' => $errorMessage]], |
|
|
|
|
500); |
|
|
|
|
Http::STATUS_INTERNAL_SERVER_ERROR); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (isset($adminEnableRecovery) && $adminEnableRecovery === '1') { |
|
|
|
|
if ($this->recovery->enableAdminRecovery($recoveryPassword)) { |
|
|
|
|
return new DataResponse(['data' => ['message' => (string)$this->l->t('Recovery key successfully enabled')]]); |
|
|
|
|
} |
|
|
|
|
return new DataResponse(['data' => ['message' => (string)$this->l->t('Could not enable recovery key. Please check your recovery key password!')]], 500); |
|
|
|
|
return new DataResponse(['data' => ['message' => (string)$this->l->t('Could not enable recovery key. Please check your recovery key password!')]], Http::STATUS_INTERNAL_SERVER_ERROR); |
|
|
|
|
} elseif (isset($adminEnableRecovery) && $adminEnableRecovery === '0') { |
|
|
|
|
if ($this->recovery->disableAdminRecovery($recoveryPassword)) { |
|
|
|
|
return new DataResponse(['data' => ['message' => (string)$this->l->t('Recovery key successfully disabled')]]); |
|
|
|
|
} |
|
|
|
|
return new DataResponse(['data' => ['message' => (string)$this->l->t('Could not disable recovery key. Please check your recovery key password!')]], 500); |
|
|
|
|
return new DataResponse(['data' => ['message' => (string)$this->l->t('Could not disable recovery key. Please check your recovery key password!')]], Http::STATUS_INTERNAL_SERVER_ERROR); |
|
|
|
|
} |
|
|
|
|
// this response should never be sent but just in case. |
|
|
|
|
return new DataResponse(['data' => ['message' => (string)$this->l->t('Missing parameters')]], 500); |
|
|
|
|
return new DataResponse(['data' => ['message' => (string)$this->l->t('Missing parameters')]], Http::STATUS_INTERNAL_SERVER_ERROR); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
@ -114,22 +115,22 @@ class RecoveryController extends Controller { |
|
|
|
|
//check if both passwords are the same |
|
|
|
|
if (empty($oldPassword)) { |
|
|
|
|
$errorMessage = (string)$this->l->t('Please provide the old recovery password'); |
|
|
|
|
return new DataResponse(['data' => ['message' => $errorMessage]], 500); |
|
|
|
|
return new DataResponse(['data' => ['message' => $errorMessage]], Http::STATUS_INTERNAL_SERVER_ERROR); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (empty($newPassword)) { |
|
|
|
|
$errorMessage = (string)$this->l->t('Please provide a new recovery password'); |
|
|
|
|
return new DataResponse (['data' => ['message' => $errorMessage]], 500); |
|
|
|
|
return new DataResponse (['data' => ['message' => $errorMessage]], Http::STATUS_INTERNAL_SERVER_ERROR); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (empty($confirmPassword)) { |
|
|
|
|
$errorMessage = (string)$this->l->t('Please repeat the new recovery password'); |
|
|
|
|
return new DataResponse(['data' => ['message' => $errorMessage]], 500); |
|
|
|
|
return new DataResponse(['data' => ['message' => $errorMessage]], Http::STATUS_INTERNAL_SERVER_ERROR); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ($newPassword !== $confirmPassword) { |
|
|
|
|
$errorMessage = (string)$this->l->t('Repeated recovery key password does not match the provided recovery key password'); |
|
|
|
|
return new DataResponse(['data' => ['message' => $errorMessage]], 500); |
|
|
|
|
return new DataResponse(['data' => ['message' => $errorMessage]], Http::STATUS_INTERNAL_SERVER_ERROR); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$result = $this->recovery->changeRecoveryKeyPassword($newPassword, |
|
|
|
|
@ -148,7 +149,7 @@ class RecoveryController extends Controller { |
|
|
|
|
'data' => [ |
|
|
|
|
'message' => (string)$this->l->t('Could not change the password. Maybe the old password was not correct.') |
|
|
|
|
] |
|
|
|
|
], 500); |
|
|
|
|
], Http::STATUS_INTERNAL_SERVER_ERROR); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
@ -185,7 +186,7 @@ class RecoveryController extends Controller { |
|
|
|
|
'data' => [ |
|
|
|
|
'message' => (string)$this->l->t('Could not enable the recovery key, please try again or contact your administrator') |
|
|
|
|
] |
|
|
|
|
], 500); |
|
|
|
|
], Http::STATUS_INTERNAL_SERVER_ERROR); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|