1
0
Fork 0
mirror of https://gitlab.redox-os.org/CoffeeCode/redox-ssh.git synced 2025-12-28 15:02:18 +01:00

Fix sequence counting bug

This commit is contained in:
Thomas Gatzweiler 2017-07-19 08:32:54 +02:00
parent 4a0d5a42df
commit 3f23c15783
2 changed files with 10 additions and 15 deletions

View file

@ -86,7 +86,7 @@ impl<'a> Connection {
trace!("Packet {} received: {:?}", self.seq.0, packet); trace!("Packet {} received: {:?}", self.seq.0, packet);
self.process(packet)?; self.process(packet)?;
self.seq.0.wrapping_add(1); self.seq.0 = self.seq.0.wrapping_add(1);
} }
} }
@ -107,7 +107,7 @@ impl<'a> Connection {
packet.write_to(&mut self.stream)?; packet.write_to(&mut self.stream)?;
} }
self.seq.1.wrapping_add(1); self.seq.1 = self.seq.1.wrapping_add(1);
if let Some((_, ref mut mac)) = self.mac { if let Some((_, ref mut mac)) = self.mac {
let mut sig = vec![0; mac.size()]; let mut sig = vec![0; mac.size()];

View file

@ -21,27 +21,22 @@ impl Server {
} }
pub fn run(&self) -> io::Result<()> { pub fn run(&self) -> io::Result<()> {
let listener = TcpListener::bind( let listener =
(&*self.config.host, self.config.port), TcpListener::bind((&*self.config.host, self.config.port))?;
).expect(&*format!(
"sshd: failed to bind to {}:{}",
self.config.as_ref().host,
self.config.as_ref().port
));
loop { loop {
let (mut stream, addr) = listener.accept().expect(&*format!( let (mut stream, addr) = listener.accept()?;
"sshd: failed to establish incoming connection"
));
println!("Incoming connection from {}", addr); debug!("Incoming connection from {}", addr);
let mut read_stream = stream.try_clone()?;
let mut connection = Connection::new( let mut connection = Connection::new(
ConnectionType::Server(self.config.clone()), ConnectionType::Server(self.config.clone()),
Box::new(stream.try_clone().unwrap()), Box::new(stream),
); );
let result = connection.run(&mut stream); let result = connection.run(&mut read_stream);
if let Some(error) = result.err() { if let Some(error) = result.err() {
println!("sshd: {}", error) println!("sshd: {}", error)
} }