Compare commits

...

2 Commits

Author SHA1 Message Date
Daniel Laptop
b654f2db36 Merge branch 'master' of https://git.efi.th-nuernberg.de/gitea/hopfma/appsec 2022-12-15 12:56:28 +01:00
Daniel Laptop
3698b82dd8 recive auf tcpstream umgeändert 2022-12-15 12:55:52 +01:00

View File

@ -1,3 +1,10 @@
<<<<<<< HEAD
use std::{
io::{BufReader, Read},
net::TcpStream,
};
=======
>>>>>>> f36772d9e5c0507015de02b8c71ff25d84789b98
const KEYLENGTH: u8 = 32; const KEYLENGTH: u8 = 32;
@ -62,34 +69,41 @@ impl Message {
vec vec
} }
fn recive(input: Vec<u8>) -> Message { fn recive(stream: TcpStream) -> Message {
let byte1 = input.get(0).expect("Fail to Read Byte 1"); let buffreader = BufReader::new(stream);
let byte2 = input.get(1).expect("Fail to Read Byte 2"); let mut byte_iterator = buffreader.bytes();
let byte3 = input.get(2).expect("Fail to Read Byte 3"); let byte1 = byte_iterator.next().unwrap().unwrap();
let byte4 = input.get(3).expect("Fail to Read Byte 4"); let byte2 = byte_iterator.next().unwrap().unwrap();
let byte3 = byte_iterator.next().unwrap().unwrap();
let byte4 = byte_iterator.next().unwrap().unwrap();
let src_id: u32 = let src_id: u32 =
(byte1 << 24) as u32 | (byte2 << 16) as u32 | (byte3 << 8) as u32 | (byte4 << 0) as u32; (byte1 << 24) as u32 | (byte2 << 16) as u32 | (byte3 << 8) as u32 | (byte4 << 0) as u32;
let byte5 = input.get(5).expect("Fail to Read Byte 5"); let byte5 = byte_iterator.next().unwrap().unwrap();
let byte6 = input.get(6).expect("Fail to Read Byte 6"); let byte6 = byte_iterator.next().unwrap().unwrap();
let byte7 = input.get(7).expect("Fail to Read Byte 7"); let byte7 = byte_iterator.next().unwrap().unwrap();
let byte8 = input.get(8).expect("Fail to Read Byte 8"); let byte8 = byte_iterator.next().unwrap().unwrap();
let dest_id: u32 = let dest_id: u32 =
(byte5 << 24) as u32 | (byte6 << 16) as u32 | (byte7 << 8) as u32 | (byte8 << 0) as u32; (byte5 << 24) as u32 | (byte6 << 16) as u32 | (byte7 << 8) as u32 | (byte8 << 0) as u32;
let byte9 = input.get(9).expect("Fail to Read byte 9"); let byte9 = byte_iterator.next().unwrap().unwrap();
let byte10 = input.get(10).expect("Fail to Read byte 10"); let byte10 = byte_iterator.next().unwrap().unwrap();
let size = (byte9 << 8) as u16 | (byte10 << 0) as u16; let size = (byte9 << 8) as u16 | (byte10 << 0) as u16;
assert!(size > 0, "Ungültige size größe size = {}", size); assert!(size > 0, "Ungültige size größe size = {}", size);
let mut payload = Vec::<u8>::new();
for i in 0..size {
payload.push(byte_iterator.next().unwrap().unwrap());
}
Message { Message {
src_id: src_id, src_id: src_id,
dest_id: dest_id, dest_id: dest_id,
size: size, size: size,
payload: (&input[11..]).to_vec(), payload: payload,
} }
} }
// Methoden der Klasse // Methoden der Klasse