aboutsummaryrefslogtreecommitdiffstats
path: root/src/remake/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/remake/mod.rs')
-rw-r--r--src/remake/mod.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/remake/mod.rs b/src/remake/mod.rs
index 840322a..a075c69 100644
--- a/src/remake/mod.rs
+++ b/src/remake/mod.rs
@@ -330,6 +330,11 @@ pub(crate) trait Host: Clone + Send + Sync + 'static {
/// What a replay does with writes a newer one superseded (`--superseded-writes`).
fn superseded(&self) -> Superseded;
+ /// Whose signature on a strict remake's manifest this node takes (`--strict-keys`),
+ /// and whether it votes for one without any (`--follow-strict-remakes`).
+ fn strict_keys(&self) -> &[crate::access::sshsig::PublicKey];
+ fn follows_strict_remakes(&self) -> bool;
+
/// Applies a change downloaded from peers (`fetch_change`), then publishes it like
/// a change received by sync.
fn apply_change(
@@ -411,6 +416,7 @@ pub(crate) fn router<H: Host>() -> Router<H> {
get(api::get::<H>).delete(api::abort::<H>),
)
.route("/admin/epochs", get(api::epochs::<H>))
+ .route("/admin/strict-manifest", get(api::strict_manifest::<H>))
.route("/admin/quarantine", get(quarantine::list::<H>))
.route(
"/admin/quarantine/{id}",