From e959799c95b4d6e33f6b95d4c38a5386cc1dcf02 Mon Sep 17 00:00:00 2001 From: tv Date: Sun, 8 Nov 2026 09:39:08 +0000 Subject: access: maps made on the way judged by what they hold A write makes the maps on its way where there are none (store::write_path); the rules judged each made map as a write at its own path, so a user whose capability lies below a map not made yet (write on servers/eu, a first PUT at servers/eu/0) had its first write taken by its node and refused by every other. A map made where there was none, in a change writing within it, is now judged by what is written within it. Review finding 3 (parent maps created on the way). --- docs/access.md | 2 ++ 1 file changed, 2 insertions(+) (limited to 'docs') diff --git a/docs/access.md b/docs/access.md index f1ed1c3..d46627a 100644 --- a/docs/access.md +++ b/docs/access.md @@ -228,6 +228,8 @@ stays as it is, wherever it comes from later (a joining node catching up, say). * A user's tokens revoked by that user too (logging out). * A member's forget record cancelled by that member too (forgotten while alive). * Everything else, protocol data or not, by a user the registry lets write there. +* A map made on the way to what a change writes, where there was none (`servers`, for a + first write at `servers/eu/0`), as what it writes within it. * A node that isn't a member may only register itself; a banned node nothing (Banning a node, below). So a node registers before anything else it writes, through the API or its own: a change refused stays out with every change built on it. -- cgit v1.3.1