More puny
This commit is contained in:
@ -1,4 +1,3 @@
|
||||
import { toUnicode, toASCII } from 'punycode';
|
||||
import webFinger from './webfinger';
|
||||
import config from '../config';
|
||||
import { createPerson, updatePerson } from './activitypub/models/person';
|
||||
@ -7,31 +6,27 @@ import { remoteLogger } from './logger';
|
||||
import chalk from 'chalk';
|
||||
import { User, IRemoteUser } from '../models/entities/user';
|
||||
import { Users } from '../models';
|
||||
import { toPuny } from '../misc/convert-host';
|
||||
|
||||
const logger = remoteLogger.createSubLogger('resolve-user');
|
||||
|
||||
export async function resolveUser(username: string, _host: string, option?: any, resync = false): Promise<User> {
|
||||
export async function resolveUser(username: string, host: string, option?: any, resync = false): Promise<User> {
|
||||
const usernameLower = username.toLowerCase();
|
||||
host = toPuny(host);
|
||||
|
||||
if (_host == null) {
|
||||
if (host == null) {
|
||||
logger.info(`return local user: ${usernameLower}`);
|
||||
return await Users.findOne({ usernameLower, host: null });
|
||||
}
|
||||
|
||||
const configHostAscii = toASCII(config.host).toLowerCase();
|
||||
const configHost = toUnicode(configHostAscii);
|
||||
|
||||
const hostAscii = toASCII(_host).toLowerCase();
|
||||
const host = toUnicode(hostAscii);
|
||||
|
||||
if (configHost == host) {
|
||||
if (config.host == host) {
|
||||
logger.info(`return local user: ${usernameLower}`);
|
||||
return await Users.findOne({ usernameLower, host: null });
|
||||
}
|
||||
|
||||
const user = await Users.findOne({ usernameLower, host }, option);
|
||||
|
||||
const acctLower = `${usernameLower}@${hostAscii}`;
|
||||
const acctLower = `${usernameLower}@${host}`;
|
||||
|
||||
if (user == null) {
|
||||
const self = await resolveSelf(acctLower);
|
||||
@ -51,7 +46,7 @@ export async function resolveUser(username: string, _host: string, option?: any,
|
||||
|
||||
// validate uri
|
||||
const uri = new URL(self.href);
|
||||
if (uri.hostname !== hostAscii) {
|
||||
if (uri.hostname !== host) {
|
||||
throw new Error(`Invalied uri`);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user