The vault holds no value for the controller's own account, the node accounts and the enrolled devices, so it cannot hash them, and take-over waits on their hashes. The bus node's engine is the one part that has them, in the list the bus loaded. Its follower of the user list now puts every loaded user's bcrypt hash in the bus module's have, sealed to the vault's own key (mesh-sdk delivery.AccountsHanded), so of every reader of the have bucket the vault alone opens it; the clear part says only the list's digest, the key's fingerprint and how many users. The vault's key is heard from its answer to node-key, which the engine already asks at start; a first or changed key looks at the list again. It is sealed again only when the list on the machine or the vault's key changes; a refused list hands the list kept on the machine. The vault takes from it only the users it holds no value for. Also: the user list follower's test sent its later puts before the watch had handed the keys there before it, so two of its cases failed on main whenever the goroutine started late; the feed now says when the watch began.
23 lines
672 B
AMPL
23 lines
672 B
AMPL
module github.com/novox/mesh-host
|
|
|
|
go 1.26.0
|
|
|
|
require (
|
|
git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261026102838-174789941936
|
|
github.com/nats-io/nats-server/v2 v2.11.17
|
|
github.com/nats-io/nats.go v1.54.0
|
|
golang.org/x/crypto v0.57.0
|
|
golang.org/x/sys v0.48.0
|
|
)
|
|
|
|
require (
|
|
github.com/antithesishq/antithesis-sdk-go v0.7.0-default-no-op // indirect
|
|
github.com/google/go-tpm v0.9.8 // indirect
|
|
github.com/klauspost/compress v1.20.0 // indirect
|
|
github.com/minio/highwayhash v1.0.4 // indirect
|
|
github.com/nats-io/jwt/v2 v2.8.1 // indirect
|
|
github.com/nats-io/nkeys v0.4.16 // indirect
|
|
github.com/nats-io/nuid v1.0.1 // indirect
|
|
golang.org/x/time v0.15.0 // indirect
|
|
)
|