fix name length issue
This commit is contained in:
@@ -63,8 +63,7 @@ pub fn handle_recevied_message(
|
|||||||
.expect("Taille incorrecte");
|
.expect("Taille incorrecte");
|
||||||
let msg_length = u16::from_be_bytes(length_bytes) as usize;
|
let msg_length = u16::from_be_bytes(length_bytes) as usize;
|
||||||
let ilength = u16::from_be_bytes(length_bytes);
|
let ilength = u16::from_be_bytes(length_bytes);
|
||||||
let received_name =
|
let received_name = &recevied_message[LENGTH + EXTENSIONS..LENGTH + ilength as usize];
|
||||||
&recevied_message[LENGTH + EXTENSIONS..LENGTH + EXTENSIONS + ilength as usize];
|
|
||||||
let name = String::from_utf8(received_name.to_vec()).expect("wrong name");
|
let name = String::from_utf8(received_name.to_vec()).expect("wrong name");
|
||||||
if name.clone() == server_name.clone() {
|
if name.clone() == server_name.clone() {
|
||||||
is_resp_to_server_handshake = true;
|
is_resp_to_server_handshake = true;
|
||||||
@@ -172,8 +171,8 @@ pub fn parse_message(
|
|||||||
match msgtype {
|
match msgtype {
|
||||||
HELLO | HELLOREPLY | ROOTREPLY | NODATUM | NATTRAVERSALREQUEST | NATTRAVERSALREQUEST2 => {
|
HELLO | HELLOREPLY | ROOTREPLY | NODATUM | NATTRAVERSALREQUEST | NATTRAVERSALREQUEST2 => {
|
||||||
let ilength = u16::from_be_bytes(length_bytes);
|
let ilength = u16::from_be_bytes(length_bytes);
|
||||||
let received_name =
|
println!("name received length: {}", ilength);
|
||||||
&received_message[LENGTH + EXTENSIONS..LENGTH + EXTENSIONS + ilength as usize];
|
let received_name = &received_message[LENGTH + EXTENSIONS..LENGTH + ilength as usize];
|
||||||
let received_username = String::from_utf8(received_name.to_vec());
|
let received_username = String::from_utf8(received_name.to_vec());
|
||||||
match received_username {
|
match received_username {
|
||||||
Ok(username) => {
|
Ok(username) => {
|
||||||
|
|||||||
@@ -44,8 +44,7 @@ pub fn construct_message(
|
|||||||
message.extend_from_slice(&a.to_be_bytes());
|
message.extend_from_slice(&a.to_be_bytes());
|
||||||
message.extend_from_slice(&payload);
|
message.extend_from_slice(&payload);
|
||||||
let signature = sign_message(crypto_pair, &message);
|
let signature = sign_message(crypto_pair, &message);
|
||||||
message.extend_from_slice(&signature);
|
return Some(signature);
|
||||||
return Some(message);
|
|
||||||
}
|
}
|
||||||
PING | OK => {
|
PING | OK => {
|
||||||
message.extend_from_slice(&0u16.to_be_bytes());
|
message.extend_from_slice(&0u16.to_be_bytes());
|
||||||
|
|||||||
Reference in New Issue
Block a user