diff options
author | Kate <26026535+provokateurin@users.noreply.github.com> | 2024-08-14 09:40:41 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-14 09:40:41 +0200 |
commit | 1f1cb6da4843e2d16bf0e1cb48821a0d7d70a84e (patch) | |
tree | 28ea47db740d5f70db61daaddcb9b9ad6c712cf2 /apps/federation | |
parent | ca9752482c8d36a4528972ef82ad87004034cdc8 (diff) | |
parent | dc1c2c3bed10d5743d054779d63dd38bc976b97a (diff) | |
download | nextcloud-server-1f1cb6da4843e2d16bf0e1cb48821a0d7d70a84e.tar.gz nextcloud-server-1f1cb6da4843e2d16bf0e1cb48821a0d7d70a84e.zip |
Merge pull request #46806 from nextcloud/refactor/federation/security-attributes
Diffstat (limited to 'apps/federation')
-rw-r--r-- | apps/federation/lib/Controller/OCSAuthAPIController.php | 31 | ||||
-rw-r--r-- | apps/federation/lib/Controller/SettingsController.php | 9 |
2 files changed, 20 insertions, 20 deletions
diff --git a/apps/federation/lib/Controller/OCSAuthAPIController.php b/apps/federation/lib/Controller/OCSAuthAPIController.php index b4849b274b8..8412868da42 100644 --- a/apps/federation/lib/Controller/OCSAuthAPIController.php +++ b/apps/federation/lib/Controller/OCSAuthAPIController.php @@ -10,7 +10,10 @@ namespace OCA\Federation\Controller; use OCA\Federation\DbHandler; use OCA\Federation\TrustedServers; use OCP\AppFramework\Http; +use OCP\AppFramework\Http\Attribute\BruteForceProtection; +use OCP\AppFramework\Http\Attribute\NoCSRFRequired; use OCP\AppFramework\Http\Attribute\OpenAPI; +use OCP\AppFramework\Http\Attribute\PublicPage; use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\OCS\OCSForbiddenException; use OCP\AppFramework\OCSController; @@ -63,10 +66,6 @@ class OCSAuthAPIController extends OCSController { /** * Request received to ask remote server for a shared secret, for legacy end-points * - * @NoCSRFRequired - * @PublicPage - * @BruteForceProtection(action=federationSharedSecret) - * * @param string $url URL of the server * @param string $token Token of the server * @return DataResponse<Http::STATUS_OK, array<empty>, array{}> @@ -74,6 +73,9 @@ class OCSAuthAPIController extends OCSController { * * 200: Shared secret requested successfully */ + #[NoCSRFRequired] + #[PublicPage] + #[BruteForceProtection(action: 'federationSharedSecret')] public function requestSharedSecretLegacy(string $url, string $token): DataResponse { return $this->requestSharedSecret($url, $token); } @@ -82,10 +84,6 @@ class OCSAuthAPIController extends OCSController { /** * Create shared secret and return it, for legacy end-points * - * @NoCSRFRequired - * @PublicPage - * @BruteForceProtection(action=federationSharedSecret) - * * @param string $url URL of the server * @param string $token Token of the server * @return DataResponse<Http::STATUS_OK, array{sharedSecret: string}, array{}> @@ -93,6 +91,9 @@ class OCSAuthAPIController extends OCSController { * * 200: Shared secret returned */ + #[NoCSRFRequired] + #[PublicPage] + #[BruteForceProtection(action: 'federationSharedSecret')] public function getSharedSecretLegacy(string $url, string $token): DataResponse { return $this->getSharedSecret($url, $token); } @@ -100,10 +101,6 @@ class OCSAuthAPIController extends OCSController { /** * Request received to ask remote server for a shared secret * - * @NoCSRFRequired - * @PublicPage - * @BruteForceProtection(action=federationSharedSecret) - * * @param string $url URL of the server * @param string $token Token of the server * @return DataResponse<Http::STATUS_OK, array<empty>, array{}> @@ -111,6 +108,9 @@ class OCSAuthAPIController extends OCSController { * * 200: Shared secret requested successfully */ + #[NoCSRFRequired] + #[PublicPage] + #[BruteForceProtection(action: 'federationSharedSecret')] public function requestSharedSecret(string $url, string $token): DataResponse { if ($this->trustedServers->isTrustedServer($url) === false) { $this->throttler->registerAttempt('federationSharedSecret', $this->request->getRemoteAddress()); @@ -144,10 +144,6 @@ class OCSAuthAPIController extends OCSController { /** * Create shared secret and return it * - * @NoCSRFRequired - * @PublicPage - * @BruteForceProtection(action=federationSharedSecret) - * * @param string $url URL of the server * @param string $token Token of the server * @return DataResponse<Http::STATUS_OK, array{sharedSecret: string}, array{}> @@ -155,6 +151,9 @@ class OCSAuthAPIController extends OCSController { * * 200: Shared secret returned */ + #[NoCSRFRequired] + #[PublicPage] + #[BruteForceProtection(action: 'federationSharedSecret')] public function getSharedSecret(string $url, string $token): DataResponse { if ($this->trustedServers->isTrustedServer($url) === false) { $this->throttler->registerAttempt('federationSharedSecret', $this->request->getRemoteAddress()); diff --git a/apps/federation/lib/Controller/SettingsController.php b/apps/federation/lib/Controller/SettingsController.php index f5cc7eae8ba..f5131581d94 100644 --- a/apps/federation/lib/Controller/SettingsController.php +++ b/apps/federation/lib/Controller/SettingsController.php @@ -7,8 +7,10 @@ */ namespace OCA\Federation\Controller; +use OCA\Federation\Settings\Admin; use OCA\Federation\TrustedServers; use OCP\AppFramework\Controller; +use OCP\AppFramework\Http\Attribute\AuthorizedAdminSetting; use OCP\AppFramework\Http\DataResponse; use OCP\HintException; use OCP\IL10N; @@ -32,9 +34,9 @@ class SettingsController extends Controller { /** * Add server to the list of trusted Nextclouds. * - * @AuthorizedAdminSetting(settings=OCA\Federation\Settings\Admin) * @throws HintException */ + #[AuthorizedAdminSetting(settings: Admin::class)] public function addServer(string $url): DataResponse { $this->checkServer($url); $id = $this->trustedServers->addServer($url); @@ -48,9 +50,8 @@ class SettingsController extends Controller { /** * Add server to the list of trusted Nextclouds. - * - * @AuthorizedAdminSetting(settings=OCA\Federation\Settings\Admin) */ + #[AuthorizedAdminSetting(settings: Admin::class)] public function removeServer(int $id): DataResponse { $this->trustedServers->removeServer($id); return new DataResponse(); @@ -59,9 +60,9 @@ class SettingsController extends Controller { /** * Check if the server should be added to the list of trusted servers or not. * - * @AuthorizedAdminSetting(settings=OCA\Federation\Settings\Admin) * @throws HintException */ + #[AuthorizedAdminSetting(settings: Admin::class)] protected function checkServer(string $url): bool { if ($this->trustedServers->isTrustedServer($url) === true) { $message = 'Server is already in the list of trusted servers.'; |