Issue 14879: Fix activity trust check

This commit is contained in:
Michael 2025-06-01 17:49:21 +00:00
parent f32cb5c0dc
commit a0326f3b40

View file

@ -644,16 +644,19 @@ class Receiver
return true; return true;
} }
} else { } else {
$attributed_to = ''; $attributed_to = null;
} }
// Test the provided signatures against the actor and "attributedTo" // Test the provided signatures against the actor and "attributedTo"
if ($trust_source) { if ($trust_source) {
if ($attributed_to !== false && $attributed_to !== '') { if (!is_null($attributed_to)) {
$trust_source = (in_array($actor, $signer) && in_array($attributed_to, $signer)); $trust_source = (in_array($actor, $signer) && in_array($attributed_to, $signer));
} else { } else {
$trust_source = in_array($actor, $signer); $trust_source = in_array($actor, $signer);
} }
if (!$trust_source) {
DI::logger()->info('Actor missmatch. Activity trust could not be achieved.', ['type' => $type, 'signer' => $signer, 'actor' => $actor, 'attributedTo' => $attributed_to]);
}
} }
// Lemmy announces activities. // Lemmy announces activities.