From f91604095e6f0978c61f66d0b937e36271637e6b Mon Sep 17 00:00:00 2001 From: tv Date: Sun, 8 Nov 2026 17:07:03 +0000 Subject: remake: no --follow-strict-remakes; a strict remake failing says who A strict remake takes a majority of members whose --strict-keys take its manifest's signer: no node votes for one without, so --follow-strict-remakes (1173) goes. A node that doesn't vote still switches once the others commit, as with any remake. So that an operator can tell why one fails: a strict remake aborted for want of a majority (the voting period over, or a majority out of reach) says in its reason (GET /admin/remakes/{id}, and the coordinator's log) which members didn't vote, and that a member votes for one only with its manifest signed by a key of its --strict-keys. Each of those logs why itself (`Not voting for a strict remake`). The sim a_strict_remake_too_few_take: only a takes the manifest; the remake aborts, naming b and c. --- src/remake/vote.rs | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'src/remake/vote.rs') diff --git a/src/remake/vote.rs b/src/remake/vote.rs index c231afa..073fcda 100644 --- a/src/remake/vote.rs +++ b/src/remake/vote.rs @@ -375,8 +375,7 @@ pub(super) async fn cast(host: &H) { } /// Whether this node takes a strict remake's manifest (`content`, for `swarm`): signed -/// by one of its `--strict-keys`; without any, if it follows strict remakes all the same -/// (`--follow-strict-remakes`). Why not, if not. +/// by one of its `--strict-keys`. Why not, if not. pub(super) fn strict_taken( host: &H, content: Option<&[u8]>, @@ -386,11 +385,7 @@ pub(super) fn strict_taken( .and_then(|bytes| std::str::from_utf8(bytes).ok()) .ok_or("no manifest")?; if host.strict_keys().is_empty() { - return if host.follows_strict_remakes() { - crate::access::strict::read(text).map(|_| ()) - } else { - Err("this node has no --strict-keys (nor --follow-strict-remakes)".to_owned()) - }; + return Err("this node has no --strict-keys".to_owned()); } crate::access::strict::verify(text, host.strict_keys(), swarm).map(|_| ()) } -- cgit v1.3.1