Issue 14879: Fix activity trust check

This commit is contained in:
Michael 2025-06-01 17:49:21 +00:00
commit 9bef0c2057
2 changed files with 6 additions and 3 deletions

View file

@ -644,16 +644,19 @@ class Receiver
return true;
}
} else {
$attributed_to = '';
$attributed_to = null;
}
// Test the provided signatures against the actor and "attributedTo"
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));
} else {
$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.

View file

@ -286,7 +286,7 @@ class JsonLD
* @param $type
* @param $type_value
*
* @return string|null fetched element
* @return mixed|null fetched element. If the element is not found, null is returned.
*/
public static function fetchElement($array, $element, $key = '@id', $type = null, $type_value = null)
{