From 3ed75c328d2a4b6170f279a445f269e3a1b1fdb0 Mon Sep 17 00:00:00 2001 From: archipelago Date: Mon, 31 Aug 2026 17:09:16 -0400 Subject: [PATCH] style: rustfmt the signed-catalog serving --- core/archipelago/src/api/handler/mod.rs | 4 +++- core/archipelago/src/container/app_catalog.rs | 10 ++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/core/archipelago/src/api/handler/mod.rs b/core/archipelago/src/api/handler/mod.rs index 8df3d57d..486babe7 100644 --- a/core/archipelago/src/api/handler/mod.rs +++ b/core/archipelago/src/api/handler/mod.rs @@ -150,7 +150,9 @@ impl ApiHandler { // appears immediately, without a frontend release. The old external UI // catalog below is emergency compatibility only; it must never override // a healthy signed catalog (Cuprate was invisible for exactly that reason). - if let Ok(body) = crate::container::app_catalog::verified_catalog_body(&self.config.data_dir).await { + if let Ok(body) = + crate::container::app_catalog::verified_catalog_body(&self.config.data_dir).await + { return Ok(Response::builder() .status(hyper::StatusCode::OK) .header("Content-Type", "application/json") diff --git a/core/archipelago/src/container/app_catalog.rs b/core/archipelago/src/container/app_catalog.rs index a2b45630..1a820550 100644 --- a/core/archipelago/src/container/app_catalog.rs +++ b/core/archipelago/src/container/app_catalog.rs @@ -207,7 +207,9 @@ pub async fn verified_catalog_body(data_dir: &Path) -> anyhow::Result { let raw: serde_json::Value = serde_json::from_str(&body)?; match crate::trust::verify_detached(&raw)? { crate::trust::SignatureStatus::Verified { anchored: true, .. } => Ok(body), - crate::trust::SignatureStatus::Verified { anchored: false, .. } => { + crate::trust::SignatureStatus::Verified { + anchored: false, .. + } => { anyhow::bail!("app catalog signer is not anchored to the release root") } crate::trust::SignatureStatus::Unsigned => anyhow::bail!("app catalog is unsigned"), @@ -670,7 +672,11 @@ mod tests { #[tokio::test] async fn verified_catalog_body_rejects_unsigned_cache() { let dir = tempfile::tempdir().unwrap(); - write_cache(dir.path(), r#"{"schema":1,"apps":{"demo":{"version":"1"}}}"#).unwrap(); + write_cache( + dir.path(), + r#"{"schema":1,"apps":{"demo":{"version":"1"}}}"#, + ) + .unwrap(); let err = verified_catalog_body(dir.path()).await.unwrap_err(); assert!(err.to_string().contains("unsigned")); }