mounts: name a malformed entry of sources by its position, never by its name
mesh/merge-gate pass: builds mounts → shanks; no bus step; every machine composes with the change as it did without (4 of 4 compose)
mesh/repo-check pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)
mesh/delivery delivered

A password holding '=' and a space or comma splits the entry, and the tail
read as name=... was said as "the source <tail>", carrying part of the
secret into the health answer and the operator's conditions (review of
mesh-catalog#190, issue 386).
This commit is contained in:
jochen
2026-10-10 21:38:17 +02:00
parent 58ec352b8c
commit a12b5908aa
3 changed files with 24 additions and 14 deletions
+2 -2
View File
@@ -70,8 +70,8 @@ Both are preferences whose default, `none`, names nothing (ADR 0262 allows no em
source's username is in its entry: it is not a secret (novox/hq ADR 0283). It is percent-decoded, so a device that needs a domain takes it as
`WORKGROUP%5Cuser` (for `WORKGROUP\user`), and an `@` in it is written `%40`; it holds no space, comma or
`=`. A password never goes in the entry: `user:password@` is refused, saying so and never what was
written. An entry that cannot be read is said by its source's name, or by its position when even the name
cannot be read, and never with what it holds.
written. An entry that cannot be read whole is said as malformed by its position alone ("entry 2 of sources
is malformed: …"), never with its name or anything else it holds.
A mount point is an absolute, plainly written path, not a directory of the system's own (`/etc`, `/usr`,
`/run`, …). An entry that cannot be read is said, and only that entry is left out.