summaryrefslogtreecommitdiff
path: root/src/remote/resolve-user.ts
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2019-04-10 00:59:41 +0900
committersyuilo <syuilotan@yahoo.co.jp>2019-04-10 00:59:41 +0900
commit236d72685dfec013135fc1450b890e33ec377de1 (patch)
treeb4d06e3587da7de4b35a822d6dcfe74367bdfa38 /src/remote/resolve-user.ts
parentFix bug (diff)
downloadsharkey-236d72685dfec013135fc1450b890e33ec377de1.tar.gz
sharkey-236d72685dfec013135fc1450b890e33ec377de1.tar.bz2
sharkey-236d72685dfec013135fc1450b890e33ec377de1.zip
More puny
Diffstat (limited to 'src/remote/resolve-user.ts')
-rw-r--r--src/remote/resolve-user.ts19
1 files changed, 7 insertions, 12 deletions
diff --git a/src/remote/resolve-user.ts b/src/remote/resolve-user.ts
index a10d3c2d84..e6a11bc0da 100644
--- a/src/remote/resolve-user.ts
+++ b/src/remote/resolve-user.ts
@@ -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`);
}