Merge pull request #8936 from annando/ap-probing

Selective probing for AP
This commit is contained in:
Hypolite Petovan 2020-07-27 16:24:11 -04:00 committed by GitHub
commit aed879a086
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -22,6 +22,7 @@
namespace Friendica\Model; namespace Friendica\Model;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
use Friendica\Protocol\ActivityPub; use Friendica\Protocol\ActivityPub;
@ -100,7 +101,13 @@ class ContactRelation
return; return;
} }
$apcontact = APContact::getByURL($url); if (in_array($contact['network'], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::OSTATUS])) {
// The contact is (most likely) speaking AP, so updating is allowed
$apcontact = APContact::getByURL($url);
} else {
// The contact isn't obviously speaking AP, so we don't allow updating
$apcontact = APContact::getByURL($url, false);
}
if (!empty($apcontact['followers']) && is_string($apcontact['followers'])) { if (!empty($apcontact['followers']) && is_string($apcontact['followers'])) {
$followers = ActivityPub::fetchItems($apcontact['followers']); $followers = ActivityPub::fetchItems($apcontact['followers']);