Return 400 error code on malformed request. Fixes #14281

This commit is contained in:
Matthew Exon 2024-07-08 19:23:20 +02:00
parent 491a5cab53
commit 1701156a18

View file

@ -26,6 +26,7 @@ use Friendica\Core\System;
use Friendica\DI;
use Friendica\Model\Photo;
use Friendica\Model\User;
use Friendica\Network\HTTPException\BadRequestException;
use Friendica\Network\HTTPException\NotFoundException;
use Friendica\Protocol\ActivityNamespace;
use Friendica\Protocol\Salmon;
@ -68,13 +69,15 @@ class Xrd extends BaseModule
if (substr($uri, 0, 4) === 'http') {
$name = ltrim(basename($uri), '~');
$host = parse_url($uri, PHP_URL_HOST);
} else {
} else if (substr($uri, 0, 4) === 'acct') {
$local = str_replace('acct:', '', $uri);
if (substr($local, 0, 2) == '//') {
$local = substr($local, 2);
}
list($name, $host) = explode('@', $local);
} else {
throw new BadRequestException();
}
if (!empty($host) && $host !== DI::baseUrl()->getHost()) {