aboutsummaryrefslogtreecommitdiffstats
path: root/src/state
diff options
context:
space:
mode:
Diffstat (limited to 'src/state')
-rw-r--r--src/state/host.rs8
-rw-r--r--src/state/mod.rs4
2 files changed, 12 insertions, 0 deletions
diff --git a/src/state/host.rs b/src/state/host.rs
index feda8a9..82b6c7c 100644
--- a/src/state/host.rs
+++ b/src/state/host.rs
@@ -420,6 +420,14 @@ impl Host for AppState {
self.superseded_writes
}
+ fn strict_keys(&self) -> &[crate::access::sshsig::PublicKey] {
+ &self.strict_keys
+ }
+
+ fn follows_strict_remakes(&self) -> bool {
+ self.follow_strict_remakes
+ }
+
fn begin_rejoin(
&self,
target: Epoch,
diff --git a/src/state/mod.rs b/src/state/mod.rs
index 4fcf413..6e25336 100644
--- a/src/state/mod.rs
+++ b/src/state/mod.rs
@@ -161,6 +161,10 @@ pub(crate) struct AppState {
/// may make within it (`access::challenge`).
pub(crate) challenge_lifetime: Duration,
pub(crate) key_logins_per_user: usize,
+ /// Whose signature on a strict remake's manifest this node takes, and whether it
+ /// takes any without (`access::strict`).
+ pub(crate) strict_keys: Arc<Vec<crate::access::sshsig::PublicKey>>,
+ pub(crate) follow_strict_remakes: bool,
/// Origins whose pages may call this node's open endpoints (`api::cors`).
pub(crate) cors_origins: Arc<Vec<String>>,
/// This node's own files, and how much it read and wrote them.