fix(network): typed packets reach server listeners unvalidated by default
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 48/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- node.js, typescript
- Bereich
- backend-api-design, networking
Rechercherichtung
Read modules/network/src/shared/packet.ts around lines 261-263 and the guidance in modules/network/README.md around line 221; trace how server listeners register packet definitions and how received values are validated. Decide how missing validation should be handled on the server, then update the relevant documentation. Done means unvalidated server packets cannot reach listeners silently and the docs explain the rule.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Which package is this bug report for?
network
Issue description
The repo rule is to validate peer messages on the server side, but validate is optional: without it, the raw JSON.parse result from a peer is passed to packets.on(Def, …) typed as T, for example { key: { toString: 1 } } for a "up" | "down" field. The docs only recommend validate (README.md:221, docs/docs/network/network-peer.mdx:111).
Where:
Evidence:
const validate = this._definitions.get(received.name)?.validate;
received.valid = !validate || validate(received.value);
Suggested fix: On the server, warn once (or throw) when a packet with no validate is registered, or require validate in the server-side signature. Document it.
Found during a code audit of main at be72076.
Code sample
No response
Versions
- Engine
mainat be72076 - pnpm 12.0.0, Node.js 26, Bun 1.3.14
Issue priority
High (immediate attention needed)
I have tested this issue on a development release
be72076
- Vorherrschende Sprache
- TypeScript
- Sterne
- 7
- Forks
- 2
- Ø Merge
- 1 T. 17 Std.
- Gemergte PRs (30 T.)
- 17
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus NanoForge-dev/Engine
-
dependencies enhancement good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
NanoForge-dev/Engine#513 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug chore tests
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 77/100
NanoForge-dev/Engine#511 ·
Maintainer antworten meist innerhalb von 1 Tag
-
docs(network): TSDoc says ICE_SERVERS defaults to an empty list, the code uses public STUN serversOffendocumentation good first issue modules:network
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
NanoForge-dev/Engine#509 ·
Maintainer antworten meist innerhalb von 1 Tag
-
documentation modules:ecs packages:asset packages:core
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
NanoForge-dev/Engine#508 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug good first issue modules:music modules:sound
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
NanoForge-dev/Engine#505 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in NanoForge-dev/Engine
Ähnliche Issues
-
Mend: dependency security vulnerability
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 65/100
fdm-monster/fdm-monster#5563 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
be-BOP-io-SA/be-BOP#2849 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 79/100
Maintainer antworten meist innerhalb von 1 Tag
-
1️⃣ phase/under-investigation flaky/confirmed flaky/needs-decision type/bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
growilabs/growi#12246 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
🐛 The Rulekeeper - An index run that gives up on the lock ends SucceededEvtl. vergeben @github-actions hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
SSWConsulting/SSW.Rules#2809 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag