Skip to content

Dep updates and fixes - #78

Merged
buffrr merged 7 commits into
mainfrom
updates
Jul 26, 2026
Merged

Dep updates and fixes#78
buffrr merged 7 commits into
mainfrom
updates

Conversation

@buffrr

@buffrr buffrr commented Jul 23, 2026

Copy link
Copy Markdown
Member

No description provided.

spacesops added a commit to spacesops/certrelay that referenced this pull request Jul 24, 2026
Propagation is now pull-based: relays page GET /sync (borsh rows ordered
by a strictly-increasing per-relay write counter) from verified peers,
track persistent per-peer watermarks, and re-verify everything locally
(rebuild message per space + chain proof from own spaced + the same
handle_message admission as client publishes). POST /poke gives
seconds-level propagation: a content-free "pull me" acted on only for
verified peers with a fresh cursor, debounced on send and cooled down on
receive. /message no longer forwards anything, deleting the gossip
amplification problem by construction. Fresh relays bootstrap through
the same path; existing DBs are migrated in place (sync_seq backfill).

Also lands the reliability/security overhaul from the relay audit:

- Rate buckets split read (120/min) / proof (30/min), message 60/min;
  churn-only content limits (first insert free, replacement charged,
  burst 3); per-IP limiter maps periodically evicted; rightmost-XFF
  client IP extraction
- Global proof (6) and verify (4) semaphores; HTTP sheds with 503;
  verification on the blocking pool; veritas behind RwLock
- Outbound hardening: connect/total timeouts, no redirect following,
  peer address policy (http and bare public IPs allowed by design;
  private/reserved ranges rejected) with DNS results pinned into the
  connection to close the rebind TOCTOU; bounded /peers and /sync bodies
- TOML config (--config / CERTRELAY_CONFIG) for all limits and tuning
- GET /stats counters (incl. last sync per peer), unmetered /health,
  graceful shutdown

- storage retention with entitlement-weighted eviction
@buffrr
buffrr merged commit 30f6b2f into main Jul 26, 2026
3 checks passed
@buffrr
buffrr deleted the updates branch July 26, 2026 16:25
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