"gprobe" removed
This commit is contained in:
parent
85ae12a873
commit
88a39ea999
|
@ -580,9 +580,6 @@ class GContact
|
|||
public static function getId($contact)
|
||||
{
|
||||
$gcontact_id = 0;
|
||||
$doprobing = false;
|
||||
$last_failure_str = '';
|
||||
$last_contact_str = '';
|
||||
|
||||
if (empty($contact['network'])) {
|
||||
Logger::notice('Empty network', ['url' => $contact['url'], 'callstack' => System::callstack()]);
|
||||
|
@ -613,15 +610,6 @@ class GContact
|
|||
$gcnt = DBA::selectFirst('gcontact', $fields, ['nurl' => Strings::normaliseLink($contact['url'])]);
|
||||
if (DBA::isResult($gcnt)) {
|
||||
$gcontact_id = $gcnt['id'];
|
||||
|
||||
// Update every 90 days
|
||||
if (empty($gcnt['network']) || in_array($gcnt['network'], Protocol::FEDERATED)) {
|
||||
$last_failure_str = $gcnt['last_failure'];
|
||||
$last_failure = strtotime($gcnt['last_failure']);
|
||||
$last_contact_str = $gcnt['last_contact'];
|
||||
$last_contact = strtotime($gcnt['last_contact']);
|
||||
$doprobing = (((time() - $last_contact) > (90 * 86400)) && ((time() - $last_failure) > (90 * 86400)));
|
||||
}
|
||||
} else {
|
||||
$contact['location'] = $contact['location'] ?? '';
|
||||
$contact['about'] = $contact['about'] ?? '';
|
||||
|
@ -638,16 +626,10 @@ class GContact
|
|||
$cnt = DBA::selectFirst('gcontact', ['id', 'network'], $condition, ['order' => ['id']]);
|
||||
if (DBA::isResult($cnt)) {
|
||||
$gcontact_id = $cnt['id'];
|
||||
$doprobing = (empty($cnt['network']) || in_array($cnt['network'], Protocol::FEDERATED));
|
||||
}
|
||||
}
|
||||
DBA::unlock();
|
||||
|
||||
if ($doprobing) {
|
||||
Logger::notice('Probing', ['contact' => $last_contact_str, "failure" => $last_failure_str, "checking" => $contact['url']]);
|
||||
Worker::add(PRIORITY_LOW, 'GProbe', $contact['url']);
|
||||
}
|
||||
|
||||
return $gcontact_id;
|
||||
}
|
||||
|
||||
|
|
|
@ -1074,8 +1074,6 @@ class Profile
|
|||
|
||||
Logger::log('Not authenticated. Invoking reverse magic-auth for ' . $my_url, Logger::DEBUG);
|
||||
|
||||
Worker::add(PRIORITY_LOW, 'GProbe', $my_url);
|
||||
|
||||
// Remove the "addr" parameter from the destination. It is later added as separate parameter again.
|
||||
$addr_request = 'addr=' . urlencode($addr);
|
||||
$query = rtrim(str_replace($addr_request, '', $a->query_string), '?&');
|
||||
|
|
|
@ -1,68 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* @file src/Worker/GProbe.php
|
||||
*/
|
||||
|
||||
namespace Friendica\Worker;
|
||||
|
||||
use Friendica\Core\Cache;
|
||||
use Friendica\Core\Logger;
|
||||
use Friendica\Core\Protocol;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\Model\GContact;
|
||||
use Friendica\Network\Probe;
|
||||
use Friendica\Protocol\PortableContact;
|
||||
use Friendica\Util\Strings;
|
||||
|
||||
class GProbe {
|
||||
public static function execute($url = '')
|
||||
{
|
||||
if (empty($url)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$r = q(
|
||||
"SELECT `id`, `url`, `network` FROM `gcontact` WHERE `nurl` = '%s' ORDER BY `id` LIMIT 1",
|
||||
DBA::escape(Strings::normaliseLink($url))
|
||||
);
|
||||
|
||||
Logger::log("gprobe start for ".Strings::normaliseLink($url), Logger::DEBUG);
|
||||
|
||||
if (!DBA::isResult($r)) {
|
||||
// Is it a DDoS attempt?
|
||||
$urlparts = parse_url($url);
|
||||
|
||||
$result = Cache::get("gprobe:".$urlparts["host"]);
|
||||
if (!is_null($result)) {
|
||||
if (in_array($result["network"], [Protocol::FEED, Protocol::PHANTOM])) {
|
||||
Logger::debug("DDoS attempt detected for " . $urlparts["host"] . " by " . ($_SERVER["REMOTE_ADDR"] ?? ''), ['$_SERVER' => $_SERVER]);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
$arr = Probe::uri($url);
|
||||
|
||||
if (is_null($result)) {
|
||||
Cache::set("gprobe:".$urlparts["host"], $arr);
|
||||
}
|
||||
|
||||
if (!in_array($arr["network"], [Protocol::FEED, Protocol::PHANTOM])) {
|
||||
GContact::update($arr);
|
||||
}
|
||||
|
||||
$r = q(
|
||||
"SELECT `id`, `url`, `network` FROM `gcontact` WHERE `nurl` = '%s' ORDER BY `id` LIMIT 1",
|
||||
DBA::escape(Strings::normaliseLink($url))
|
||||
);
|
||||
}
|
||||
if (DBA::isResult($r)) {
|
||||
// Check for accessibility and do a poco discovery
|
||||
if (GContact::updateFromProbe($r[0]['url'], true) && ($r[0]["network"] == Protocol::DFRN)) {
|
||||
PortableContact::loadWorker(0, 0, $r[0]['id'], str_replace('/profile/', '/poco/', $r[0]['url']));
|
||||
}
|
||||
}
|
||||
|
||||
Logger::log("gprobe end for ".Strings::normaliseLink($url), Logger::DEBUG);
|
||||
return;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user