From dedf59d1c71abf0a02a1fbb1a1e0e4c68440596e Mon Sep 17 00:00:00 2001 From: Ferdinand Schober Date: Fri, 27 Sep 2024 16:23:31 +0200 Subject: [PATCH] add logic for fingerprint verification --- lan-mouse-cli/src/lib.rs | 9 ++-- lan-mouse-gtk/resources/fingerprint_window.ui | 33 +++++++++++++-- lan-mouse-gtk/resources/key_row.ui | 1 - lan-mouse-gtk/resources/window.ui | 13 ++++++ lan-mouse-gtk/src/fingerprint_window/imp.rs | 11 +++-- lan-mouse-gtk/src/key_object.rs | 11 ++++- lan-mouse-gtk/src/key_object/imp.rs | 2 + lan-mouse-gtk/src/key_row.rs | 8 +++- lan-mouse-gtk/src/lib.rs | 3 ++ lan-mouse-gtk/src/window.rs | 22 ++++++---- lan-mouse-gtk/src/window/imp.rs | 21 ++++++++++ lan-mouse-ipc/src/lib.rs | 15 ++++--- src/crypto.rs | 13 ++++++ src/lib.rs | 1 - src/listen.rs | 41 +++++++++++-------- src/server.rs | 35 +++++++++++----- 16 files changed, 182 insertions(+), 57 deletions(-) diff --git a/lan-mouse-cli/src/lib.rs b/lan-mouse-cli/src/lib.rs index c12db06..e7209c7 100644 --- a/lan-mouse-cli/src/lib.rs +++ b/lan-mouse-cli/src/lib.rs @@ -274,12 +274,15 @@ impl Cli { FrontendEvent::EmulationStatus(s) => { eprintln!("emulation status: {s:?}") } - FrontendEvent::AuthorizedUpdated(keys) => { + FrontendEvent::AuthorizedUpdated(fingerprints) => { eprintln!("authorized keys changed:"); - for key in keys { - eprintln!("{key}"); + for (desc, fp) in fingerprints { + eprintln!("{desc}: {fp}"); } } + FrontendEvent::PublicKeyFingerprint(fp) => { + eprintln!("the public key fingerprint of this device is {fp}"); + } } } diff --git a/lan-mouse-gtk/resources/fingerprint_window.ui b/lan-mouse-gtk/resources/fingerprint_window.ui index 3cbfb34..c8db837 100644 --- a/lan-mouse-gtk/resources/fingerprint_window.ui +++ b/lan-mouse-gtk/resources/fingerprint_window.ui @@ -6,7 +6,8 @@ True 880 880 - 240 + 340 + 340 Add Public Key Fingerprint @@ -21,13 +22,39 @@ vertical 18 + + + you can find the fingerprint of a device under the `General` section + + + description - fingerprint - + + 10 + 10 + 10 + 10 + True + True + True + 0 + + + + + + + + + sha256 fingerprint + + + + 10 10 10 diff --git a/lan-mouse-gtk/resources/key_row.ui b/lan-mouse-gtk/resources/key_row.ui index 07da85f..7931b62 100644 --- a/lan-mouse-gtk/resources/key_row.ui +++ b/lan-mouse-gtk/resources/key_row.ui @@ -1,7 +1,6 @@