mirror of
https://github.com/friendica/friendica
synced 2025-04-28 11:44:23 +02:00
Prevent endless loops and long running feed processing
This commit is contained in:
parent
7bc4427c09
commit
bc069c8ebf
4 changed files with 16 additions and 4 deletions
|
@ -231,7 +231,7 @@ class ActivityPub
|
|||
$items = $data['orderedItems'];
|
||||
} elseif (!empty($data['first']['orderedItems'])) {
|
||||
$items = $data['first']['orderedItems'];
|
||||
} elseif (!empty($data['first']) && is_string($data['first'])) {
|
||||
} elseif (!empty($data['first']) && is_string($data['first']) && ($data['first'] != $url)) {
|
||||
return self::fetchItems($data['first'], $uid);
|
||||
} else {
|
||||
$items = [];
|
||||
|
|
|
@ -232,8 +232,16 @@ class Feed {
|
|||
}
|
||||
|
||||
$items = [];
|
||||
|
||||
// Limit the number of items that are about to be fetched
|
||||
$total_items = ($entries->length - 1);
|
||||
$max_items = DI::config()->get('system', 'max_feed_items');
|
||||
if (($max_items > 0) && ($total_items > $max_items)) {
|
||||
$total_items = $max_items;
|
||||
}
|
||||
|
||||
// Importing older entries first
|
||||
for ($i = $entries->length - 1; $i >= 0; --$i) {
|
||||
for ($i = $total_items; $i >= 0; --$i) {
|
||||
$entry = $entries->item($i);
|
||||
|
||||
$item = array_merge($header, $author);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue