Update FederationController

This commit is contained in:
Daniel Supernault 2019-08-29 21:04:10 -06:00
parent 1632d295ef
commit b9acd64543
No known key found for this signature in database
GPG key ID: 0DEF1C662C9033F7

View file

@ -228,6 +228,9 @@ class FederationController extends Controller
$id = Helpers::validateUrl($bodyDecoded['id']); $id = Helpers::validateUrl($bodyDecoded['id']);
$keyDomain = parse_url($keyId, PHP_URL_HOST); $keyDomain = parse_url($keyId, PHP_URL_HOST);
$idDomain = parse_url($id, PHP_URL_HOST); $idDomain = parse_url($id, PHP_URL_HOST);
if($keyDomain == config('pixelfed.domain.app') || $idDomain == config('pixelfed.domain.app')) {
return false;
}
if(isset($bodyDecoded['object']) if(isset($bodyDecoded['object'])
&& is_array($bodyDecoded['object']) && is_array($bodyDecoded['object'])
&& isset($bodyDecoded['object']['attributedTo']) && isset($bodyDecoded['object']['attributedTo'])
@ -248,7 +251,7 @@ class FederationController extends Controller
} }
$pkey = openssl_pkey_get_public($actor->public_key); $pkey = openssl_pkey_get_public($actor->public_key);
$inboxPath = "/users/{$profile->username}/inbox"; $inboxPath = "/users/{$profile->username}/inbox";
list($verified, $headers) = HTTPSignature::verify($pkey, $signatureData, $request->headers->all(), $inboxPath, $body); list($verified, $headers) = HttpSignature::verify($pkey, $signatureData, $request->headers->all(), $inboxPath, $body);
if($verified == 1) { if($verified == 1) {
return true; return true;
} else { } else {