summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2024-03-30 11:05:58 +0000
committerAmelia Yukii <amelia.yukii@shourai.de>2024-03-30 11:05:58 +0000
commit074de82bf72161528911283de7fd68dde119d251 (patch)
tree44b519f0ccc9537057adad4fb658cf186d301028 /packages/backend/src/server/api
parentmerge: always align code to the left - fixes #436 (!453) (diff)
downloadsharkey-074de82bf72161528911283de7fd68dde119d251.tar.gz
sharkey-074de82bf72161528911283de7fd68dde119d251.tar.bz2
sharkey-074de82bf72161528911283de7fd68dde119d251.zip
some validation fixes
Diffstat (limited to 'packages/backend/src/server/api')
-rw-r--r--packages/backend/src/server/api/endpoints/ap/show.ts6
1 files changed, 5 insertions, 1 deletions
diff --git a/packages/backend/src/server/api/endpoints/ap/show.ts b/packages/backend/src/server/api/endpoints/ap/show.ts
index 364a4826e3..ca6789a464 100644
--- a/packages/backend/src/server/api/endpoints/ap/show.ts
+++ b/packages/backend/src/server/api/endpoints/ap/show.ts
@@ -113,8 +113,9 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
@bindThis
private async fetchAny(uri: string, me: MiLocalUser | null | undefined): Promise<SchemaType<typeof meta['res']> | null> {
// ブロックしてたら中断
+ const host = this.utilityService.extractDbHost(uri);
const fetchedMeta = await this.metaService.fetch();
- if (this.utilityService.isBlockedHost(fetchedMeta.blockedHosts, this.utilityService.extractDbHost(uri))) return null;
+ if (this.utilityService.isBlockedHost(fetchedMeta.blockedHosts, host)) return null;
let local = await this.mergePack(me, ...await Promise.all([
this.apDbResolverService.getUserFromApId(uri),
@@ -122,6 +123,9 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
]));
if (local != null) return local;
+ // local object, not found in db? fail
+ if (this.utilityService.isSelfHost(host)) return null;
+
// リモートから一旦オブジェクトフェッチ
const resolver = this.apResolverService.createResolver();
const object = await resolver.resolve(uri) as any;