Add rustfmt.toml (same as core and server) and apply cargo fmt
Formatting only. CI now runs cargo fmt --check here as in the other Rust repos. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
+21
-8
@@ -230,7 +230,8 @@ impl Broker {
|
||||
Some("ping") => json!({ "t": "pong", "version": env!("CARGO_PKG_VERSION") }),
|
||||
Some("pair_init") => {
|
||||
let Some(ext_pub) = v.get("pub").and_then(b64_array::<32>) else { return outer_err("bad_request") };
|
||||
let name: String = v.get("name").and_then(Value::as_str).unwrap_or("Browser").chars().take(80).collect();
|
||||
let name: String =
|
||||
v.get("name").and_then(Value::as_str).unwrap_or("Browser").chars().take(80).collect();
|
||||
self.pair_init(conn, &ext_pub, name).unwrap_or_else(|| outer_err("bad_request"))
|
||||
}
|
||||
Some("pair_confirm") => {
|
||||
@@ -268,7 +269,9 @@ impl Broker {
|
||||
let parsed: Option<Value> = serde_json::from_slice(&pt).ok();
|
||||
drop(pt);
|
||||
let (rid, body) = match &parsed {
|
||||
Some(p) => (p.get("rid").cloned().unwrap_or(Value::Null), p.get("body").cloned().unwrap_or(Value::Null)),
|
||||
Some(p) => {
|
||||
(p.get("rid").cloned().unwrap_or(Value::Null), p.get("body").cloned().unwrap_or(Value::Null))
|
||||
}
|
||||
None => (Value::Null, Value::Null),
|
||||
};
|
||||
let reply = Zeroizing::new(
|
||||
@@ -397,7 +400,9 @@ impl Broker {
|
||||
self.ui.activity();
|
||||
match self.matching_item(&origin, id) {
|
||||
Ok(d) => match d.totp.as_deref().map(|t| kv_ffi::totp_code(t.to_string(), now_secs())) {
|
||||
Some(Ok(c)) => json!({ "type": "totp", "code": c.code, "secondsRemaining": c.seconds_remaining }),
|
||||
Some(Ok(c)) => {
|
||||
json!({ "type": "totp", "code": c.code, "secondsRemaining": c.seconds_remaining })
|
||||
}
|
||||
_ => err("bad_request"),
|
||||
},
|
||||
Err(v) => v,
|
||||
@@ -622,7 +627,8 @@ mod tests {
|
||||
fn unpaired_and_revoked_extensions_are_refused() {
|
||||
let (b, _) = broker_with_item();
|
||||
let mut conn = Conn { caller: String::new(), session: None };
|
||||
let r = b.handle_frame(&mut conn, &json!({ "t": "open", "pairing_id": "nope", "nonce": B64.encode([0u8; 16]) }));
|
||||
let r =
|
||||
b.handle_frame(&mut conn, &json!({ "t": "open", "pairing_id": "nope", "nonce": B64.encode([0u8; 16]) }));
|
||||
assert_eq!(r["code"], "not_paired");
|
||||
let r = b.handle_frame(&mut conn, &json!({ "t": "msg", "n": 0, "c": "AAAA" }));
|
||||
assert_eq!(r["code"], "bad_session");
|
||||
@@ -641,7 +647,8 @@ mod tests {
|
||||
let ext = Ephemeral::generate();
|
||||
let r = b.handle_frame(&mut conn, &json!({ "t": "pair_init", "pub": B64.encode(ext.public) }));
|
||||
let id = r["pairing_id"].as_str().unwrap().to_string();
|
||||
let r = b.handle_frame(&mut conn, &json!({ "t": "pair_confirm", "pairing_id": id, "proof": B64.encode([0u8; 40]) }));
|
||||
let r = b
|
||||
.handle_frame(&mut conn, &json!({ "t": "pair_confirm", "pairing_id": id, "proof": B64.encode([0u8; 40]) }));
|
||||
assert_eq!(r["code"], "not_paired");
|
||||
b.core().lock();
|
||||
assert!(b.resolve_pairing(&id, true).is_err());
|
||||
@@ -652,16 +659,22 @@ mod tests {
|
||||
#[test]
|
||||
fn save_prompts_then_creates_or_updates() {
|
||||
let (b, id) = broker_with_item();
|
||||
let r = b.handle_request(&json!({ "type": "save", "origin": "https://example.com", "username": "alice", "password": "s3cret" }));
|
||||
let r = b.handle_request(
|
||||
&json!({ "type": "save", "origin": "https://example.com", "username": "alice", "password": "s3cret" }),
|
||||
);
|
||||
assert_eq!(r["type"], "saved"); // identical: nothing to ask
|
||||
let r = b.handle_request(&json!({ "type": "save", "origin": "https://example.com/login", "username": "alice", "password": "new" }));
|
||||
let r = b.handle_request(
|
||||
&json!({ "type": "save", "origin": "https://example.com/login", "username": "alice", "password": "new" }),
|
||||
);
|
||||
assert_eq!(r["type"], "save_prompted");
|
||||
let views = b.pending_saves();
|
||||
assert_eq!((views.len(), views[0].update, views[0].origin.as_str()), (1, true, "https://example.com"));
|
||||
assert_eq!(b.resolve_save(&views[0].id, true).unwrap().as_deref(), Some(id.as_str()));
|
||||
assert_eq!(b.core().get_item(id).unwrap().password.as_deref(), Some("new"));
|
||||
|
||||
b.handle_request(&json!({ "type": "save", "origin": "https://new.example.org", "username": "bob", "password": "pw" }));
|
||||
b.handle_request(
|
||||
&json!({ "type": "save", "origin": "https://new.example.org", "username": "bob", "password": "pw" }),
|
||||
);
|
||||
let v = b.pending_saves().pop().unwrap();
|
||||
assert!(!v.update);
|
||||
let new_id = b.resolve_save(&v.id, true).unwrap().unwrap();
|
||||
|
||||
Reference in New Issue
Block a user