インスタンスブロックチェック時のhostのnormalizeを統一 (#4669)

This commit is contained in:
MeiMei 2019-04-12 20:54:50 +09:00 committed by syuilo
parent 81006566a5
commit 4db972318f
2 changed files with 5 additions and 4 deletions

View file

@ -12,6 +12,7 @@ import { registerOrFetchInstanceDoc } from '../../services/register-or-fetch-ins
import Instance from '../../models/instance'; import Instance from '../../models/instance';
import instanceChart from '../../services/chart/instance'; import instanceChart from '../../services/chart/instance';
import { validActor } from '../../remote/activitypub/type'; import { validActor } from '../../remote/activitypub/type';
import { toDbHost } from '../../misc/convert-host';
const logger = new Logger('inbox'); const logger = new Logger('inbox');
@ -47,7 +48,7 @@ export default async (job: Bull.Job): Promise<void> => {
// ブロックしてたら中断 // ブロックしてたら中断
// TODO: いちいちデータベースにアクセスするのはコスト高そうなのでどっかにキャッシュしておく // TODO: いちいちデータベースにアクセスするのはコスト高そうなのでどっかにキャッシュしておく
const instance = await Instance.findOne({ host: host.toLowerCase() }); const instance = await Instance.findOne({ host: toDbHost(host) });
if (instance && instance.isBlocked) { if (instance && instance.isBlocked) {
logger.info(`Blocked request: ${host}`); logger.info(`Blocked request: ${host}`);
return; return;
@ -66,7 +67,7 @@ export default async (job: Bull.Job): Promise<void> => {
// ブロックしてたら中断 // ブロックしてたら中断
// TODO: いちいちデータベースにアクセスするのはコスト高そうなのでどっかにキャッシュしておく // TODO: いちいちデータベースにアクセスするのはコスト高そうなのでどっかにキャッシュしておく
const instance = await Instance.findOne({ host: host.toLowerCase() }); const instance = await Instance.findOne({ host: toDbHost(host) });
if (instance && instance.isBlocked) { if (instance && instance.isBlocked) {
logger.warn(`Blocked request: ${host}`); logger.warn(`Blocked request: ${host}`);
return; return;

View file

@ -4,13 +4,13 @@ import { URL } from 'url';
import * as crypto from 'crypto'; import * as crypto from 'crypto';
import { lookup, IRunOptions } from 'lookup-dns-cache'; import { lookup, IRunOptions } from 'lookup-dns-cache';
import * as promiseAny from 'promise-any'; import * as promiseAny from 'promise-any';
import { toUnicode } from 'punycode';
import config from '../../config'; import config from '../../config';
import { ILocalUser } from '../../models/user'; import { ILocalUser } from '../../models/user';
import { publishApLogStream } from '../../services/stream'; import { publishApLogStream } from '../../services/stream';
import { apLogger } from './logger'; import { apLogger } from './logger';
import Instance from '../../models/instance'; import Instance from '../../models/instance';
import { toDbHost } from '../../misc/convert-host';
export const logger = apLogger.createSubLogger('deliver'); export const logger = apLogger.createSubLogger('deliver');
@ -23,7 +23,7 @@ export default async (user: ILocalUser, url: string, object: any) => {
// ブロックしてたら中断 // ブロックしてたら中断
// TODO: いちいちデータベースにアクセスするのはコスト高そうなのでどっかにキャッシュしておく // TODO: いちいちデータベースにアクセスするのはコスト高そうなのでどっかにキャッシュしておく
const instance = await Instance.findOne({ host: toUnicode(host) }); const instance = await Instance.findOne({ host: toDbHost(host) });
if (instance && instance.isBlocked) return; if (instance && instance.isBlocked) return;
const data = JSON.stringify(object); const data = JSON.stringify(object);