use common Valid library methods to check URL and addresses

This commit is contained in:
ghost 2023-09-15 22:12:18 +03:00
parent eb43fb4b18
commit 43c617e893
13 changed files with 225 additions and 236 deletions

View file

@ -269,7 +269,7 @@ try
$uri = $db->getUri($addressTracker->uriId);
// Yggdrasil host only
if (!preg_match(YGGDRASIL_HOST_REGEX, str_replace(['[',']'], false, $host->value)))
if (!Valid::host($host->value))
{
continue;
}
@ -295,7 +295,7 @@ try
$uri = $db->getUri($acceptableSource->uriId);
// Yggdrasil host only
if (!preg_match(YGGDRASIL_HOST_REGEX, str_replace(['[',']'], false, $host->value)))
if (!Valid::host($host->value))
{
continue;
}
@ -321,7 +321,7 @@ try
$uri = $db->getUri($eXactSource->uriId);
// Yggdrasil host only
if (!preg_match(YGGDRASIL_HOST_REGEX, str_replace(['[',']'], false, $host->value)))
if (!Valid::host($host->value))
{
continue;
}

View file

@ -103,7 +103,7 @@ if (API_EXPORT_PUSH_ENABLED)
$uri = $db->getUri($addressTracker->uriId);
// Yggdrasil host only
if (!preg_match(YGGDRASIL_HOST_REGEX, str_replace(['[',']'], false, $host->value)))
if (!Valid::host($host->value))
{
continue;
}
@ -129,7 +129,7 @@ if (API_EXPORT_PUSH_ENABLED)
$uri = $db->getUri($acceptableSource->uriId);
// Yggdrasil host only
if (!preg_match(YGGDRASIL_HOST_REGEX, str_replace(['[',']'], false, $host->value)))
if (!Valid::host($host->value))
{
continue;
}
@ -155,7 +155,7 @@ if (API_EXPORT_PUSH_ENABLED)
$uri = $db->getUri($eXactSource->uriId);
// Yggdrasil host only
if (!preg_match(YGGDRASIL_HOST_REGEX, str_replace(['[',']'], false, $host->value)))
if (!Valid::host($host->value))
{
continue;
}
@ -310,12 +310,9 @@ if (API_EXPORT_PUSH_ENABLED)
}
// Skip sending to non-condition addresses
if ($pushUrl = Yggverse\Parser\Url::parse($manifest->import->push))
if (!Valid::url($manifest->import->push))
{
if (!preg_match(YGGDRASIL_HOST_REGEX, str_replace(['[',']'], false, $pushUrl->host->name)))
{
continue;
}
continue;
}
else

View file

@ -35,31 +35,19 @@ try
file_get_contents(__DIR__ . '/../../config/nodes.json')
) as $node)
{
// Skip reading to non-condition addresses
if ($manifestUrl = Yggverse\Parser\Url::parse($node->manifest))
{
if (!preg_match(YGGDRASIL_HOST_REGEX, str_replace(['[',']'], false, $manifestUrl->host->name)))
{
continue;
}
}
else
// Skip non-condition addresses
if (!Valid::url($node->manifest))
{
continue;
}
// Skip reading current host
if ($thisUrl = Yggverse\Parser\Url::parse(WEBSITE_URL))
{
if ($manifestUrl->host->name == $thisUrl->host->name) // @TODO some mirrors could be available, improve condition
{
continue;
}
}
// Skip current host
$thisUrl = Yggverse\Parser\Url::parse(WEBSITE_URL);
$manifestUrl = Yggverse\Parser\Url::parse($node->manifest);
else
if (empty($manifestUrl->host->name) ||
empty($manifestUrl->host->name) ||
$manifestUrl->host->name == $thisUrl->host->name) // @TODO some mirrors could be available, improve condition
{
continue;
}