X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fhelpers%2Fcustom-validators%2Fwebfinger.ts;h=dd914341e8364c8d5020953ad296c2757c2f2056;hb=fd822c1c699fb89bb1c3218e047e1d842bc1ba1a;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..dd914341e 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 { REMOTE_SCHEME, WEBSERVER } from '../../initializers/constants' +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) === WEBSERVER.HOST } // --------------------------------------------------------------------------- export { - isWebfingerResourceValid + isWebfingerLocalResourceValid }