1
1
Fork 0

"gprobe" removed

This commit is contained in:
Michael 2019-12-20 06:47:18 +00:00
parent 85ae12a873
commit 88a39ea999
3 changed files with 0 additions and 88 deletions

View file

@ -580,9 +580,6 @@ class GContact
public static function getId($contact) public static function getId($contact)
{ {
$gcontact_id = 0; $gcontact_id = 0;
$doprobing = false;
$last_failure_str = '';
$last_contact_str = '';
if (empty($contact['network'])) { if (empty($contact['network'])) {
Logger::notice('Empty network', ['url' => $contact['url'], 'callstack' => System::callstack()]); 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'])]); $gcnt = DBA::selectFirst('gcontact', $fields, ['nurl' => Strings::normaliseLink($contact['url'])]);
if (DBA::isResult($gcnt)) { if (DBA::isResult($gcnt)) {
$gcontact_id = $gcnt['id']; $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 { } else {
$contact['location'] = $contact['location'] ?? ''; $contact['location'] = $contact['location'] ?? '';
$contact['about'] = $contact['about'] ?? ''; $contact['about'] = $contact['about'] ?? '';
@ -638,16 +626,10 @@ class GContact
$cnt = DBA::selectFirst('gcontact', ['id', 'network'], $condition, ['order' => ['id']]); $cnt = DBA::selectFirst('gcontact', ['id', 'network'], $condition, ['order' => ['id']]);
if (DBA::isResult($cnt)) { if (DBA::isResult($cnt)) {
$gcontact_id = $cnt['id']; $gcontact_id = $cnt['id'];
$doprobing = (empty($cnt['network']) || in_array($cnt['network'], Protocol::FEDERATED));
} }
} }
DBA::unlock(); 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; return $gcontact_id;
} }

View file

@ -1074,8 +1074,6 @@ class Profile
Logger::log('Not authenticated. Invoking reverse magic-auth for ' . $my_url, Logger::DEBUG); 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. // Remove the "addr" parameter from the destination. It is later added as separate parameter again.
$addr_request = 'addr=' . urlencode($addr); $addr_request = 'addr=' . urlencode($addr);
$query = rtrim(str_replace($addr_request, '', $a->query_string), '?&'); $query = rtrim(str_replace($addr_request, '', $a->query_string), '?&');

View file

@ -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;
}
}