aboutsummaryrefslogtreecommitdiffstats
path: root/src/access/bans.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-08 14:15:26 +0000
committertv <tv@krebsco.de>2026-11-08 15:32:02 +0100
commitfac4b143587188d283578bc51e13ca44bcfc6382 (patch)
tree9ddaef363ca7e936c26744e218b12302b41709e5 /src/access/bans.rs
parent075ee0be09be7ebce846043e5230ffb67a7f9a5c (diff)
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.
Diffstat (limited to 'src/access/bans.rs')
-rw-r--r--src/access/bans.rs4
1 files changed, 2 insertions, 2 deletions
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};