From c2eabed3ea2aa3e105411b1458d8f88073c660ac Mon Sep 17 00:00:00 2001 From: Dreaded_X Date: Sat, 5 Apr 2025 03:42:42 +0200 Subject: [PATCH] Improved send --- src/ssh.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/ssh.rs b/src/ssh.rs index 8756c02..a3f0629 100644 --- a/src/ssh.rs +++ b/src/ssh.rs @@ -22,8 +22,12 @@ pub struct Handler { } impl Handler { - fn send(&self, data: &str) { - let _ = self.tx.send(data.as_bytes().to_vec()); + fn send(&self, data: impl AsRef) { + let _ = self.tx.send(data.as_ref().as_bytes().to_vec()); + } + + fn sendln(&self, data: impl AsRef) { + self.send(format!("{}\n\r", data.as_ref())); } } @@ -104,13 +108,13 @@ impl russh::server::Handler for Handler { let tunnel = Tunnel::new(session.handle(), address, *port); let Some(address) = self.all_tunnels.add_tunnel(address, tunnel).await else { - self.send(&format!("FAILED: ({address} already in use)\r\n")); + self.sendln(format!("FAILED: ({address} already in use)")); return Ok(false); }; // NOTE: The port we receive might not be the port that is getting forwarded from the // client, we could include it in the message we send - self.send(&format!("http://{address}\r\n")); + self.sendln(format!("http://{address}")); self.tunnels.insert(address); Ok(true)