summaryrefslogtreecommitdiff
path: root/src/remote/activitypub/kernel
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2019-03-13 11:21:16 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2019-03-13 11:21:16 +0900
commit69a0d9034f3f6006444b936b41bb32abf24a0288 (patch)
treedce854b02fe423c5f6ca6a329f841f8bfb6a600a /src/remote/activitypub/kernel
parent10.93.1 (diff)
downloadsharkey-69a0d9034f3f6006444b936b41bb32abf24a0288.tar.gz
sharkey-69a0d9034f3f6006444b936b41bb32abf24a0288.tar.bz2
sharkey-69a0d9034f3f6006444b936b41bb32abf24a0288.zip
Fix #4486 (#4487)
Diffstat (limited to 'src/remote/activitypub/kernel')
-rw-r--r--src/remote/activitypub/kernel/announce/note.ts7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/remote/activitypub/kernel/announce/note.ts b/src/remote/activitypub/kernel/announce/note.ts
index 8d090902c0..912936bef8 100644
--- a/src/remote/activitypub/kernel/announce/note.ts
+++ b/src/remote/activitypub/kernel/announce/note.ts
@@ -5,6 +5,8 @@ import { IAnnounce, INote } from '../../type';
import { fetchNote, resolveNote } from '../../models/note';
import { resolvePerson } from '../../models/person';
import { apLogger } from '../../logger';
+import { extractDbHost } from '../../../../misc/convert-host';
+import Instance from '../../../../models/instance';
const logger = apLogger;
@@ -23,6 +25,11 @@ export default async function(resolver: Resolver, actor: IRemoteUser, activity:
throw new Error('invalid announce');
}
+ // アナウンス先をブロックしてたら中断
+ // TODO: いちいちデータベースにアクセスするのはコスト高そうなのでどっかにキャッシュしておく
+ const instance = await Instance.findOne({ host: extractDbHost(uri) });
+ if (instance && instance.isBlocked) return;
+
// 既に同じURIを持つものが登録されていないかチェック
const exist = await fetchNote(uri);
if (exist) {