Our Personal Data Server from scratch! tranquil.farm

Validate and reject oversized commit batches #655

Merged jola.dev
targeting main from jola.dev/tranquil-pds:johanna/validate-commit-size
Merged opened by and assigned to jola.dev
targeting main from jola.dev/tranquil-pds:johanna/validate-commit-size

The spec allows for a maximum of 2MB of total record block bytes in a commit event. In indigo-relay, a commit between 2MB and 2MiB results in the commit being silently dropped. Over 2MiB the commit is rejected, the connection closed and then immediately re-opened and the same commit read again. This leads to the relays essentially DDoSing the server by reading the same commit over and over again.

Once indigo-relay implements backoff, the effect will instead be that the relay can't progress and your account goes dark.

Commits 0