diff --git a/Cargo.lock b/Cargo.lock index 1bd480e..13c438b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2207,7 +2207,7 @@ dependencies = [ [[package]] name = "signer" -version = "0.0.20" +version = "0.0.21" dependencies = [ "base64", "chacha20poly1305", diff --git a/Cargo.toml b/Cargo.toml index 838b184..9a2e981 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "signer" -version = "0.0.20" +version = "0.0.21" edition = "2021" license = "MIT" description = "Attended Nostr signing daemon — Rust port of n_signer" diff --git a/src/lib.rs b/src/lib.rs index ae64509..7e7b406 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -31,4 +31,4 @@ pub mod error; pub use error::SignerError; /// Version string (matches C NSIGNER_VERSION). -pub const VERSION: &str = "v0.0.20"; +pub const VERSION: &str = "v0.0.21"; diff --git a/src/main.rs b/src/main.rs index 2ded126..7402d08 100644 --- a/src/main.rs +++ b/src/main.rs @@ -241,7 +241,9 @@ fn run_headless(cli: &Cli, listen_mode: ListenMode) -> Result<(), SignerError> { key_store: &mut key_store, alg_key_cache: &mut alg_key_cache, }; - let _ = server.handle_one(&mut dispatcher); + if let Ok(Some(activity)) = server.handle_one(&mut dispatcher) { + println!("{}", activity); + } server.stop(); } else { // Tcp / Http poll loop @@ -253,7 +255,9 @@ fn run_headless(cli: &Cli, listen_mode: ListenMode) -> Result<(), SignerError> { alg_key_cache: &mut alg_key_cache, }; match server.handle_one(&mut dispatcher) { - Ok(Some(_activity)) => {} + Ok(Some(activity)) => { + println!("{}", activity); + } Ok(None) => { std::thread::sleep(std::time::Duration::from_millis(50)); } diff --git a/src/server.rs b/src/server.rs index 5bb7bdc..6ab7754 100644 --- a/src/server.rs +++ b/src/server.rs @@ -62,6 +62,38 @@ impl CallerIdentity { auth_label: String::new(), } } + + /// Build a rich identity string for the activity log — as much as can be + /// identified about the caller. + /// + /// - Unix socket: `uid: gid: pid:` + /// - Qrexec: `qubes:` + /// - TCP/HTTP: `tcp:` + /// - Auth envelope verified: `pubkey: label: