make EncryptedStream::read_packet more readable and simple

This commit is contained in:
Neemek 2025-11-08 19:29:28 +01:00
parent 6d05935d20
commit 4d3bd0995f

View file

@ -85,21 +85,15 @@ impl EncryptedStream {
self.block.advance(); self.block.advance();
let mut mac = [0u8; 16]; let mut mac = [0u8; 16];
if let Err(err) = self.socket.read(&mut mac) { self.socket.read(&mut mac).map_err(|err| IO(err))?;
return Err(IO(err));
}
let mut len_bytes = [0u8; 4]; let mut len_bytes = [0u8; 4];
if let Err(err) = self.socket.read(&mut len_bytes) { self.socket.read(&mut len_bytes).map_err(|err| IO(err))?;
return Err(IO(err));
}
let len = u32::from_le_bytes(len_bytes); let len = u32::from_le_bytes(len_bytes);
let mut buf = vec![0u8; len as usize]; let mut buf = vec![0u8; len as usize];
if let Err(err) = self.read(&mut buf) { self.read(&mut buf).map_err(|err| IO(err))?;
return Err(IO(err));
}
let my_mac = oneoff_authenticate(&buf, &poly_key[0..32].try_into().unwrap()); let my_mac = oneoff_authenticate(&buf, &poly_key[0..32].try_into().unwrap());