diff options
| author | tv <tv@krebsco.de> | 2026-10-26 22:16:34 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-10-26 22:16:34 +0100 |
| commit | 282eda719a303b4f5ae8ae05f0c11cac7b4a52ea (patch) | |
| tree | d0dc38b16feb36e080b5dd224c5f11d684d76fec /src/swarm/sync.rs | |
| parent | 5a32e746cf7aec3e4ca76616b6b66f023de53988 (diff) | |
reject and warn about too large delta blobs
Diffstat (limited to 'src/swarm/sync.rs')
| -rw-r--r-- | src/swarm/sync.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/swarm/sync.rs b/src/swarm/sync.rs index 70ce28e..4e382ec 100644 --- a/src/swarm/sync.rs +++ b/src/swarm/sync.rs @@ -346,6 +346,11 @@ pub(crate) async fn handle_sync( return Ok(()); } }; + if payload.0.len() > crate::swarm::blob::MAX_SYNC_MESSAGE { + // Not decoded: a node of this version sends a delta instead. + warn!(peer = %peer, bytes = payload.0.len(), "Dropping a sync message larger than any sender should send"); + return Ok(()); + } state.stats.sync_received(payload.0.len()); let applied = { |
