style: rustfmt the appgate, federation and manifest changes

The release gate runs cargo fmt --check and these were hand-written.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
archipelago
2026-08-04 01:00:29 -04:00
co-authored by Claude Opus 5
parent 9abf9072a3
commit 1929f6a870
4 changed files with 43 additions and 38 deletions
+1 -6
View File
@@ -208,12 +208,7 @@ async fn sweep(
port = app.port, %addr, app = %app.app_id,
"app gate claimed an app port"
);
spawn_accept_loop(
listener,
gate.clone(),
app.clone(),
shutdown_rx.clone(),
);
spawn_accept_loop(listener, gate.clone(), app.clone(), shutdown_rx.clone());
}
// Almost always the app itself holding 0.0.0.0:<port>.
Err(_) => blocked = true,
+32 -20
View File
@@ -187,12 +187,7 @@ impl AppGate {
}
}
async fn do_login(
&self,
app: &GatedPort,
form: &Form,
client_ip: IpAddr,
) -> Response<Body> {
async fn do_login(&self, app: &GatedPort, form: &Form, client_ip: IpAddr) -> Response<Body> {
let password = field(form, "password").unwrap_or_default();
match self.auth.verify_password(&password).await {
@@ -245,7 +240,11 @@ impl AppGate {
};
let Some(secret) = self.sessions.get_pending_secret(&pending).await else {
return login_page(app, Some("Session expired. Start again."), StatusCode::UNAUTHORIZED);
return login_page(
app,
Some("Session expired. Start again."),
StatusCode::UNAUTHORIZED,
);
};
let totp_data = self.auth.get_totp_data().await.ok().flatten();
@@ -294,7 +293,9 @@ impl AppGate {
fn bearer_token(headers: &HeaderMap) -> Option<String> {
let value = headers.get(header::AUTHORIZATION)?.to_str().ok()?;
let token = value.strip_prefix("Bearer ").or_else(|| value.strip_prefix("bearer "))?;
let token = value
.strip_prefix("Bearer ")
.or_else(|| value.strip_prefix("bearer "))?;
let token = token.trim();
(!token.is_empty()).then(|| token.to_string())
}
@@ -381,9 +382,9 @@ fn set_session_cookie(resp: &mut Response<Body>, token: &str) {
// which is what makes one sign-in cover the dashboard and every app port
// on the same host — and equally why an app on a *different* host (its
// own onion) is a separate sign-in.
if let Ok(value) = header::HeaderValue::from_str(&format!(
"session={token}; HttpOnly; SameSite=Lax; Path=/"
)) {
if let Ok(value) =
header::HeaderValue::from_str(&format!("session={token}; HttpOnly; SameSite=Lax; Path=/"))
{
resp.headers_mut().append(header::SET_COOKIE, value);
}
}
@@ -430,10 +431,7 @@ fn esc(s: &str) -> String {
fn icon_markup(app: &GatedPort) -> String {
if let Some(path) = &app.icon {
if let Some(data_uri) = read_icon_data_uri(path) {
return format!(
r#"<img class="icon" src="{}" alt="">"#,
esc(&data_uri)
);
return format!(r#"<img class="icon" src="{}" alt="">"#, esc(&data_uri));
}
}
let letter = app
@@ -540,7 +538,9 @@ fn login_page(app: &GatedPort, error: Option<&str>, status: StatusCode) -> Respo
</form>"#,
icon = icon_markup(app),
name = esc(&app.app_name),
err = error.map(|e| format!(r#"<div class="err">{}</div>"#, esc(e))).unwrap_or_default(),
err = error
.map(|e| format!(r#"<div class="err">{}</div>"#, esc(e)))
.unwrap_or_default(),
prefix = GATE_PREFIX,
);
page("Sign in", app, &body, status)
@@ -560,7 +560,9 @@ fn totp_page(app: &GatedPort, error: Option<&str>, status: StatusCode) -> Respon
</form>"#,
icon = icon_markup(app),
name = esc(&app.app_name),
err = error.map(|e| format!(r#"<div class="err">{}</div>"#, esc(e))).unwrap_or_default(),
err = error
.map(|e| format!(r#"<div class="err">{}</div>"#, esc(e)))
.unwrap_or_default(),
prefix = GATE_PREFIX,
);
page("Two-factor", app, &body, status)
@@ -623,7 +625,11 @@ mod tests {
#[tokio::test]
async fn error_messages_are_escaped() {
let resp = login_page(&app(), Some("<img src=x onerror=1>"), StatusCode::UNAUTHORIZED);
let resp = login_page(
&app(),
Some("<img src=x onerror=1>"),
StatusCode::UNAUTHORIZED,
);
let body = hyper::body::to_bytes(resp.into_body()).await.unwrap();
let html = String::from_utf8_lossy(&body);
assert!(!html.contains("<img src=x"));
@@ -669,7 +675,10 @@ mod tests {
let token = gate.sessions.create().await;
let mut headers = HeaderMap::new();
headers.insert(header::COOKIE, format!("session={token}").parse().unwrap());
assert_eq!(gate.authorize(&headers, "strfry").await, Authorization::Allow);
assert_eq!(
gate.authorize(&headers, "strfry").await,
Authorization::Allow
);
}
/// The load-bearing 2FA property: a session still awaiting its TOTP code
@@ -680,7 +689,10 @@ mod tests {
let gate = test_gate().await;
let pending = gate.sessions.create_pending(vec![1, 2, 3]).await;
let mut headers = HeaderMap::new();
headers.insert(header::COOKIE, format!("session={pending}").parse().unwrap());
headers.insert(
header::COOKIE,
format!("session={pending}").parse().unwrap(),
);
assert_eq!(
gate.authorize(&headers, "strfry").await,
Authorization::Challenge
+4 -4
View File
@@ -380,7 +380,7 @@ mod tests {
fn build_local_state_filters_non_trusted_peers() {
let peers = vec![
FederatedNode {
trust_source: None,
trust_source: None,
did: "did:key:zTrusted".into(),
pubkey: "aa".into(),
onion: "t.onion".into(),
@@ -396,7 +396,7 @@ mod tests {
last_sync_error_at: None,
},
FederatedNode {
trust_source: None,
trust_source: None,
did: "did:key:zObserver".into(),
pubkey: "bb".into(),
onion: "o.onion".into(),
@@ -412,7 +412,7 @@ mod tests {
last_sync_error_at: None,
},
FederatedNode {
trust_source: None,
trust_source: None,
did: "did:key:zUntrusted".into(),
pubkey: "cc".into(),
onion: "u.onion".into(),
@@ -457,7 +457,7 @@ mod tests {
super::super::storage::save_nodes(
dir.path(),
&[FederatedNode {
trust_source: None,
trust_source: None,
did: "did:key:zSource".into(),
pubkey: "aa".into(),
onion: "source.onion".into(),
+6 -8
View File
@@ -1725,10 +1725,9 @@ app:
#[test]
fn an_explicit_session_declaration_is_actionable() {
let manifest = manifest_with_port(
" - host: 8080\n container: 80\n auth: session\n",
)
.unwrap();
let manifest =
manifest_with_port(" - host: 8080\n container: 80\n auth: session\n")
.unwrap();
let port = &manifest.app.ports[0];
assert_eq!(port.auth_policy(), PortAuth::Session);
assert!(port.auth_is_declared());
@@ -1742,10 +1741,9 @@ app:
/// wallet stops working.
#[test]
fn an_undeclared_wallet_port_is_never_actionable() {
let manifest = manifest_with_port(
" - host: 10009\n container: 10009\n protocol: tcp\n",
)
.unwrap();
let manifest =
manifest_with_port(" - host: 10009\n container: 10009\n protocol: tcp\n")
.unwrap();
let port = &manifest.app.ports[0];
assert!(port.bind.is_empty(), "this is the shape that bit us");
assert!(