From fac4b143587188d283578bc51e13ca44bcfc6382 Mon Sep 17 00:00:00 2001 From: tv Date: Sun, 8 Nov 2026 14:15:26 +0000 Subject: token: a banned node's tokens aren't taken Review finding 11: token::verify checked only that the issuer is a member, and a ban leaves the member entry. A compromised node's tokens stayed valid after it was banned, until it was forgotten too. A token issued by a banned node is now refused (BannedIssuer), as soon as the ban reaches the node judging it. --- src/access/bans.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/access/bans.rs') diff --git a/src/access/bans.rs b/src/access/bans.rs index c4fad1f..a314f49 100644 --- a/src/access/bans.rs +++ b/src/access/bans.rs @@ -2,8 +2,8 @@ //! user who may write there, as any protocol data: a node refuses a banned node's //! handshake, so it neither syncs with it nor counts it a member (`swarm::peer`), and //! with the swarm's policy every node refuses the changes a banned node commits -//! (`access::rules`, judged as the ban stood when they were made). Deleting the entry -//! lifts the ban. +//! (`access::rules`, judged as the ban stood when they were made), and the tokens it +//! issued (`access::token`). Deleting the entry lifts the ban. use crate::document::{ReadDoc, meta, store}; -- cgit v1.3.1