aboutsummaryrefslogtreecommitdiffstats
path: root/src/api
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-10-25 11:30:15 +0100
committertv <tv@krebsco.de>2026-10-25 11:30:15 +0100
commit38f3ef952cf4cdd7cf5e9acbc8d9b64eeca86d81 (patch)
treefc5f1cd093ea9c7bfd15a0648f567fcf79605f0e /src/api
parentc15d738c70a9e0dbedd214c468837a3cc701768a (diff)
put swarm ID into the document
Diffstat (limited to 'src/api')
-rw-r--r--src/api/mod.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/api/mod.rs b/src/api/mod.rs
index 1fba48b..affb9ef 100644
--- a/src/api/mod.rs
+++ b/src/api/mod.rs
@@ -120,8 +120,11 @@ fn parse_write_path(
if path.first().map(String::as_str) != Some(crate::remake::snapshot::META_ROOT) {
return Ok(path);
}
- let epochs = path.len() < 2 || path[1] == crate::remake::snapshot::EPOCHS;
- if epochs || !state.protocol_writers.contains(&user.0) {
+ // `_continuum` itself, epoch metadata and the swarm ID: nobody.
+ let fixed = path.len() < 2
+ || path[1] == crate::remake::snapshot::EPOCHS
+ || path[1] == crate::remake::snapshot::SWARM;
+ if fixed || !state.protocol_writers.contains(&user.0) {
warn!(user = %user.0, method, path = %key, "Refused a write to protocol data");
return Err(StatusCode::FORBIDDEN);
}