figcraft/crates/format/src
bflatastic 7edc61b8d2 M9: harden open hosting against resource exhaustion
Fixes from the security review of the public server:
- team libraries only in key-published files on open servers; unpacking
  bounded by the file cap (zip bombs refused)
- byte-bounded send queues per connection and in all, a bound on bytes
  waiting for the hub, per-address and global download budgets
- batches checked against the file, per-address and total caps as files
  grow (refused with a Reject the app rolls back); the core's recent-batch
  memory bounded in bytes; nothing confirmed when a log can't be written
- usage reports kept in memory; per-kind message caps checked while read
- layered IPv6 limits (/64, /56, /48), a global publish rate, connections
  reserved for sessions, short idle timeout for one-shot requests
- revoked links and removed files cut library connections
- data directory 0700, server key 0600 from creation
- install.sh: SSH ports from sshd, ufw left off when other services
  listen, unprivileged builds of the latest tag, settings checked before
  use, own Caddy snippet; systemd memory and network caps; backups check
  free space and say they hold the key
- linger reads raw bytes after an oversized frame (tungstenite asserted)
2026-10-12 11:40:03 +07:00
..
fig M6: experimental .fig export 2026-10-12 07:19:57 +07:00
rest M6: experimental .fig export 2026-10-12 07:19:57 +07:00
branch_tests.rs M8: branch version history and finer list merges 2026-10-12 02:30:25 +07:00
large_tests.rs M8: 50k-layer zoomed-out renders and faster save/load (#63) 2026-10-10 10:27:51 +07:00
lib.rs M9: harden open hosting against resource exhaustion 2026-10-12 11:40:03 +07:00
library.rs M9: harden open hosting against resource exhaustion 2026-10-12 11:40:03 +07:00
library_tests.rs M4: local libraries: publish, enable, place and apply, updates with overrides kept (#32) 2026-10-10 05:24:46 +07:00
version_tests.rs M6: version history: versions saved in the .figcraft file, version commands and panel (#21) 2026-10-10 04:16:18 +07:00