This commit is contained in:
Arthur Schiwon 2026-02-03 19:58:34 -01:00 committed by GitHub
commit 62f886259f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -7,6 +7,7 @@
*/
namespace OCA\Federation\Controller;
use OCA\Federation\BackgroundJob\RequestSharedSecret;
use OCA\Federation\DbHandler;
use OCA\Federation\TrustedServers;
use OCP\AppFramework\Http;
@ -109,6 +110,25 @@ class OCSAuthAPIController extends OCSController {
$this->logger->info(
'remote server (' . $url . ') presented lower token. We will initiate the exchange of the shared secret.'
);
$hasJob = false;
foreach ($this->jobList->getJobsIterator(RequestSharedSecret::class, null, 0) as $job) {
$arg = $job->getArgument();
if (is_array($arg) && isset($arg['url']) && $arg['url'] === $url) {
$hasJob = true;
break;
}
}
if (!$hasJob) {
$this->jobList->add(
RequestSharedSecret::class,
[
'url' => $url,
'token' => $this->dbHandler->getToken($url),
'created' => $this->timeFactory->getTime()
]
);
}
throw new OCSForbiddenException();
}