diff options
| author | tv <tv@krebsco.de> | 2026-11-07 22:35:21 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-11-07 22:35:21 +0100 |
| commit | 8523e9c67e375747147a0b05ec191ad81ce2e318 (patch) | |
| tree | 5263ee759296f08a38091890b743f8d64b557c30 /src/document/replica.rs | |
| parent | 8f3f7b24f5a4e7cce4a006ec45b8061fe5cdd87c (diff) | |
signatures: changes signed by their node
Every node signs the changes it commits with its node key, an Ed25519
signature over the change's hash, kept beside the document. One
signature on an actor's latest change vouches for its earlier ones.
Protocol data and paths listed in _continuum/access/signed are signed,
and writes with ?signed=true.
Auth plan M5.
Diffstat (limited to 'src/document/replica.rs')
| -rw-r--r-- | src/document/replica.rs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/document/replica.rs b/src/document/replica.rs index 03325eb..ead42f6 100644 --- a/src/document/replica.rs +++ b/src/document/replica.rs @@ -124,6 +124,8 @@ pub(crate) struct Replica { /// What local writes and sync changed since the change publisher last looked /// (`changed_since`), so it needn't diff the document for it. log: std::sync::Mutex<Log>, + /// The signatures of the document's changes this node has (`document::signatures`). + pub(crate) signatures: super::signatures::Signatures, } /// The patches of the changes from `from` to `to` (sorted heads) of the document of @@ -180,6 +182,7 @@ impl Replica { heads: Vec::new(), stamp, log, + signatures: Default::default(), }; replica.refresh_heads(); replica |
