From 13a7fe604e570c3ee745f1797dffed59aec4ee27 Mon Sep 17 00:00:00 2001 From: salmonik Date: Mon, 24 Aug 2026 18:42:48 +0200 Subject: Alias localhost to 127.0.0.1, fix info to show host+fingerprint --- src/bin/client/repl.rs | 53 +++++++++++++++++++------------------------------- 1 file changed, 20 insertions(+), 33 deletions(-) diff --git a/src/bin/client/repl.rs b/src/bin/client/repl.rs index dd55acc..9d5f699 100644 --- a/src/bin/client/repl.rs +++ b/src/bin/client/repl.rs @@ -286,6 +286,9 @@ impl ClientState { } } else { let mut a = parts[1].to_string(); + if a == "localhost" { + a = "127.0.0.1".to_string(); + } if !a.contains(':') { a = format!("{}:{}", a, self.default_port); } @@ -519,40 +522,24 @@ impl ClientState { println!("\nLogged out"); } "info" => { - if self.stream.is_none() { - println!("\nNot connected. Use 'connect :' first."); - continue 'outer; - } - let s = self.stream.as_mut().unwrap(); - let writer_stream = s.try_clone().unwrap(); - let mut writer = writer_stream; - let response_reader_stream = s.try_clone().unwrap(); - let mut response_reader = - BufReader::new(response_reader_stream); - if let Err(_) = writeln!(writer, "INFO") { - self.stream = None; - println!("\nConnection lost"); - continue 'outer; - } - let mut response = String::new(); - if let Err(_) = response_reader.read_line(&mut response) - { - self.stream = None; - println!("\nConnection lost"); + if let Some(addr) = &self.addr { + let fp = database::get_fingerprint(&self.conn, addr); + println!("\nConnected to: {}", addr); + match fp { + Some(fp) => println!("Fingerprint: {}", fp), + None => println!("Fingerprint: (not trusted)"), + } } else { - let resp = response.trim(); - if resp.starts_with("INFO ") { - let parts: Vec<&str> = - resp.split_whitespace().collect(); - if parts.len() == 4 { - println!("\nLogged in as {} (ID: {})\r\nBalance: {} PLN", parts[1], parts[2], parts[3]); - } else { - println!("\n{}", resp); - } - } else if resp.starts_with("ERROR ") { - println!("\nError: {}", &resp[6..]); - } else { - println!("\n{}", resp); + println!("\nNot connected to any host."); + } + if let Some(s) = &self.stream { + let mut s = s.try_clone().unwrap(); + let _ = writeln!(s, "INFO"); + let mut reader = BufReader::new(s); + let mut response = String::new(); + let _ = reader.read_line(&mut response); + if !response.is_empty() { + println!("{}", response.trim()); } } } -- cgit v1.2.3