parent
78d6137ee3
commit
d771c50d63
1 changed files with 10 additions and 1 deletions
|
@ -339,7 +339,7 @@ class GServer
|
|||
* @param string $server_url address of the server
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
private static function discoverRelay(string $server_url)
|
||||
public static function discoverRelay(string $server_url)
|
||||
{
|
||||
Logger::info('Discover relay data', ['server' => $server_url]);
|
||||
|
||||
|
@ -353,6 +353,15 @@ class GServer
|
|||
return;
|
||||
}
|
||||
|
||||
// Sanitize incoming data, see https://github.com/friendica/friendica/issues/8565
|
||||
$data['subscribe'] = (bool)$data['subscribe'] ?? false;
|
||||
|
||||
if (!$data['subscribe'] || empty($data['scope']) || !in_array(strtolower($data['scope']), ['all', 'tags'])) {
|
||||
$data['scope'] = '';
|
||||
$data['subscribe'] = false;
|
||||
$data['tags'] = [];
|
||||
}
|
||||
|
||||
$gserver = DBA::selectFirst('gserver', ['id', 'relay-subscribe', 'relay-scope'], ['nurl' => Strings::normaliseLink($server_url)]);
|
||||
if (!DBA::isResult($gserver)) {
|
||||
return;
|
||||
|
|
Loading…
Reference in a new issue