Skip to content

multi: add spam option for test client. #4

Draft
dnldd wants to merge 6 commits intobisoncraft:masterfrom
dnldd:testclient-spam-option
Draft

multi: add spam option for test client. #4
dnldd wants to merge 6 commits intobisoncraft:masterfrom
dnldd:testclient-spam-option

Conversation

@dnldd
Copy link
Contributor

@dnldd dnldd commented Feb 5, 2026

This adds a feature to the test client where it publishes spam for the purposes of testing out broadcast restrictions. The harness has also been updated to allow toggling this feature when needed.

NB: this is based on #3 , it'll be prepared to merge after that.

This implements a ban manager that tracks client ips and their associated infractions. Associated tests have been added.
This adds a broadcast rate limiter for clients to control frequency of broadcasts made by clients.
This updates tatanka handlers to punish clients sending malformed messages, spamming broadcasts or impersonating nodes by posting to
restricted topics like the clients ban and oracle topics. Unauthorized errors now propagate to the client to terminate it.
This restructures infractions by gossiping infractions immediately to the mesh, this way mesh nodes keep an equivalent infractions dataset.
Also connecting nodes on startup request for an infraction snapshot, via the infractions snapshot protocol, from one of the mesh nodes
picked at random. The ban manager ensures infractions are deduplicated by checking if an infraction key exists for an infraction or not.
Associated tests have been updated accordingly and an integration test for new nodes joining a mesh and requesting an infraction snapshot
has been added.
This updates client message publishing to return a response in order to be notified of infractions when publishing messages.
This adds a feature to the test client where it publishes spam for the purposes of testing out broadcast restrictions. The harness has also
been updated to allow toggling this feature when needed.
@dnldd dnldd force-pushed the testclient-spam-option branch from 1224696 to 826bd71 Compare February 10, 2026 21:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant