X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fhelpers%2Fcustom-validators%2Fwebfinger.ts;h=80a7e4a9d9c46d28baa0aecd9e1434ee751e746d;hb=5cf84858d49f4231cc4efec5e3132f17f65f6cf6;hp=e93115d81701aa06455a5ecc14c75c5db87f0ca5;hpb=350e31d6b64e4973dfa5e9f7b46841cb09aeb1ad;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/helpers/custom-validators/webfinger.ts b/server/helpers/custom-validators/webfinger.ts index e93115d81..80a7e4a9d 100644 --- a/server/helpers/custom-validators/webfinger.ts +++ b/server/helpers/custom-validators/webfinger.ts @@ -1,25 +1,21 @@ -import 'express-validator' -import 'multer' -import { CONFIG } from '../../initializers/constants' +import { CONFIG, REMOTE_SCHEME } from '../../initializers' +import { sanitizeHost } from '../core-utils' import { exists } from './misc' -function isWebfingerResourceValid (value: string) { +function isWebfingerLocalResourceValid (value: string) { if (!exists(value)) return false if (value.startsWith('acct:') === false) return false - const accountWithHost = value.substr(5) - const accountParts = accountWithHost.split('@') - if (accountParts.length !== 2) return false + const actorWithHost = value.substr(5) + const actorParts = actorWithHost.split('@') + if (actorParts.length !== 2) return false - const host = accountParts[1] - - if (host !== CONFIG.WEBSERVER.HOST) return false - - return true + const host = actorParts[1] + return sanitizeHost(host, REMOTE_SCHEME.HTTP) === CONFIG.WEBSERVER.HOST } // --------------------------------------------------------------------------- export { - isWebfingerResourceValid + isWebfingerLocalResourceValid }