Merge pull request #61349 from nextcloud/backport/61308/stable32

[stable32] fix(team-manager): ensure team resources are only retrived for members
This commit is contained in:
Andy Scherzinger 2026-06-17 01:04:36 +02:00 committed by GitHub
commit b7c8cf47f2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 3 deletions

View file

@ -12,6 +12,7 @@ use OCA\Circles\CirclesManager;
use OCA\Circles\Exceptions\CircleNotFoundException;
use OCA\Circles\Model\Circle;
use OCA\Circles\Model\Member;
use OCA\Circles\Model\Probes\CircleProbe;
use OCP\IURLGenerator;
use OCP\Server;
use OCP\Teams\ITeamManager;
@ -71,7 +72,10 @@ class TeamManager implements ITeamManager {
return [];
}
if ($this->getTeam($teamId, $userId) === null) {
$probe = new CircleProbe();
$probe->mustBeMember();
if ($this->getTeam($teamId, $userId, $probe) === null) {
return [];
}
@ -118,7 +122,7 @@ class TeamManager implements ITeamManager {
}, $this->getTeams($provider->getTeamsForResource($resourceId), $userId));
}
private function getTeam(string $teamId, string $userId): ?Circle {
private function getTeam(string $teamId, string $userId, ?CircleProbe $probe = null): ?Circle {
if (!$this->hasTeamSupport()) {
return null;
}
@ -126,7 +130,7 @@ class TeamManager implements ITeamManager {
try {
$federatedUser = $this->circlesManager->getFederatedUser($userId, Member::TYPE_USER);
$this->circlesManager->startSession($federatedUser);
return $this->circlesManager->getCircle($teamId);
return $this->circlesManager->getCircle($teamId, $probe);
} catch (CircleNotFoundException) {
return null;
}

View file

@ -104,6 +104,7 @@
<referencedClass name="OCA\Circles\Exceptions\CircleNotFoundException"/>
<referencedClass name="OCA\Circles\Model\Circle"/>
<referencedClass name="OCA\Circles\Model\Member"/>
<referencedClass name="OCA\Circles\Model\Probes\CircleProbe"/>
<referencedClass name="OCA\ContextChat\Public\ContentManager"/>
<referencedClass name="OCA\GroupFolders\Mount\GroupFolderStorage"/>
<referencedClass name="OCA\TwoFactorNextcloudNotification\Controller\APIController"/>