mirror of
https://gitlab.com/soapbox-pub/ditto.git
synced 2025-12-06 11:29:46 +00:00
Block NIP-70 protected events
This commit is contained in:
parent
e0dee33aec
commit
d32b12c814
1 changed files with 10 additions and 0 deletions
|
|
@ -40,9 +40,14 @@ async function handleEvent(event: DittoEvent, signal: AbortSignal): Promise<void
|
||||||
if (!(await verifyEventWorker(event))) return;
|
if (!(await verifyEventWorker(event))) return;
|
||||||
if (encounterEvent(event)) return;
|
if (encounterEvent(event)) return;
|
||||||
if (await existsInDB(event)) return;
|
if (await existsInDB(event)) return;
|
||||||
|
|
||||||
debug(`NostrEvent<${event.kind}> ${event.id}`);
|
debug(`NostrEvent<${event.kind}> ${event.id}`);
|
||||||
pipelineEventsCounter.inc({ kind: event.kind });
|
pipelineEventsCounter.inc({ kind: event.kind });
|
||||||
|
|
||||||
|
if (isProtectedEvent(event)) {
|
||||||
|
throw new RelayError('invalid', 'protected event');
|
||||||
|
}
|
||||||
|
|
||||||
if (event.kind !== 24133) {
|
if (event.kind !== 24133) {
|
||||||
await policyFilter(event);
|
await policyFilter(event);
|
||||||
}
|
}
|
||||||
|
|
@ -103,6 +108,11 @@ async function existsInDB(event: DittoEvent): Promise<boolean> {
|
||||||
return events.length > 0;
|
return events.length > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Check whether the event has a NIP-70 `-` tag. */
|
||||||
|
function isProtectedEvent(event: NostrEvent): boolean {
|
||||||
|
return event.tags.some(([name]) => name === '-');
|
||||||
|
}
|
||||||
|
|
||||||
/** Hydrate the event with the user, if applicable. */
|
/** Hydrate the event with the user, if applicable. */
|
||||||
async function hydrateEvent(event: DittoEvent, signal: AbortSignal): Promise<void> {
|
async function hydrateEvent(event: DittoEvent, signal: AbortSignal): Promise<void> {
|
||||||
await hydrateEvents({ events: [event], store: await Storages.db(), signal });
|
await hydrateEvents({ events: [event], store: await Storages.db(), signal });
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue