diff --git a/src/Model/GServer.php b/src/Model/GServer.php index 54e4d7220e..41edb6c8d2 100644 --- a/src/Model/GServer.php +++ b/src/Model/GServer.php @@ -455,22 +455,34 @@ class GServer * Set failed server status * * @param string $url + * @return void */ public static function setFailureByUrl(string $url) { - $gserver = DBA::selectFirst('gserver', [], ['nurl' => Strings::normaliseLink($url)]); + $nurl = Strings::normaliseLink($url); + + $gserver = DBA::selectFirst('gserver', [], ['nurl' => $nurl]); if (DBA::isResult($gserver)) { $next_update = self::getNextUpdateDate(false, $gserver['created'], $gserver['last_contact']); self::update(['url' => $url, 'failed' => true, 'blocked' => Network::isUrlBlocked($url), 'last_failure' => DateTimeFormat::utcNow(), 'next_contact' => $next_update, 'network' => Protocol::PHANTOM, 'detection-method' => null], - ['nurl' => Strings::normaliseLink($url)]); + ['nurl' => $nurl]); Logger::info('Set failed status for existing server', ['url' => $url]); if (self::isDefunct($gserver)) { self::archiveContacts($gserver['id']); } return; } - self::insert(['url' => $url, 'nurl' => Strings::normaliseLink($url), + + if (Network::isUrlBlocked($url)) { + Logger::info('Server domain is blocked', ['url' => $url]); + return; + } elseif (Network::isUrlBlocked($nurl)) { + Logger::info('Server domain is blocked', ['nurl' => $nurl]); + return; + } + + self::insert(['url' => $url, 'nurl' => $nurl, 'network' => Protocol::PHANTOM, 'created' => DateTimeFormat::utcNow(), 'failed' => true, 'last_failure' => DateTimeFormat::utcNow()]); Logger::info('Set failed status for new server', ['url' => $url]); @@ -560,6 +572,9 @@ class GServer self::detect($url, $network, $only_nodeinfo); } return false; + } elseif (Network::isUrlBlocked($url)) { + Logger::info('Server domain is blocked', ['url' => $url]); + return false; } $valid_url = Network::isUrlValid($url); diff --git a/src/Worker/UpdateServerPeers.php b/src/Worker/UpdateServerPeers.php index 85a1b61bf6..51f8b4b767 100644 --- a/src/Worker/UpdateServerPeers.php +++ b/src/Worker/UpdateServerPeers.php @@ -57,13 +57,13 @@ class UpdateServerPeers $total = 0; $added = 0; foreach ($peers as $peer) { - if (Network::isUrlBlocked('http://' . $peer)) { + if (Network::isUrlBlocked('https://' . $peer)) { // Ignore blocked systems as soon as possible in the loop to avoid being slowed down by tar pits continue; } ++$total; - if (DBA::exists('gserver', ['nurl' => Strings::normaliseLink('http://' . $peer)])) { + if (DBA::exists('gserver', ['nurl' => 'http://' . $peer])) { // We already know this server continue; }