From 7fecb4567b9173e8c7eb46db5cb170d685016a58 Mon Sep 17 00:00:00 2001 From: tv Date: Sun, 8 Nov 2026 21:57:17 +0000 Subject: roots: a peer contradicting --genesis-root refused at the handshake Review 3, R5: a node given its root (--genesis-root) refused a peer naming another only change by change while its document was empty, each with an entry among the refused; the handshake went through, as there was no root of its own yet to compare with. The root given is now compared too: a peer naming another is refused at the handshake, logged once, as one whose document starts from another root. --- docs/access.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'docs/access.md') diff --git a/docs/access.md b/docs/access.md index 034b9fa..4c41e3d 100644 --- a/docs/access.md +++ b/docs/access.md @@ -330,8 +330,9 @@ is judged as one that never had one). An epoch's root is pinned. A remake's is its epoch's ID, the hash of its snapshot. The first epoch's is its genesis change, which its genesis node logs (`The swarm's root`) and `GET /admin/epochs` shows (`root`). Every node names its root in its handshakes: a -node whose document starts from another root of the same epoch refuses the handshake -(another history under the swarm's ID: a forged root, or a genesis started again). +node whose document starts from another root of the same epoch, or that was given +another (`--genesis-root`), refuses the handshake (another history under the swarm's +ID: a forged root, or a genesis started again). A node joining with an empty document takes as its root only the one it was given (`--genesis-root`), or else the one its peers name, and none while they name different ones; and none before each of its seeds named one, or ten seconds passed since the -- cgit v1.3.1