implementation
This commit is contained in:
committed by
TIBERGHIEN corentin
parent
003d55bd75
commit
60145f279a
@@ -79,6 +79,7 @@ pub fn handle_recevied_message(
|
||||
ip,
|
||||
messages_list,
|
||||
handhsake_history,
|
||||
senders,
|
||||
);
|
||||
|
||||
match resp {
|
||||
@@ -169,6 +170,7 @@ pub fn parse_message(
|
||||
ip: SocketAddr,
|
||||
messages_list: &Arc<Mutex<HashMap<i32, EventType>>>,
|
||||
handhsake_history_mutex: &Arc<Mutex<HandshakeHistory>>,
|
||||
senders: &MultipleSenders,
|
||||
) -> Option<Vec<u8>> {
|
||||
let mut handhsake_history = handhsake_history_mutex.lock().unwrap();
|
||||
let cmd_tx_clone = cmd_tx.clone();
|
||||
@@ -258,6 +260,50 @@ pub fn parse_message(
|
||||
//
|
||||
// rien ?
|
||||
// si NATTRAVERSALREQUEST alors
|
||||
NATTRAVERSALREQUEST => {
|
||||
// send ok & send nattraversalrequest2 to peer
|
||||
constructed_message = construct_message(OK, Vec::new(), id, crypto_pair);
|
||||
|
||||
let ilength = u16::from_be_bytes(length_bytes);
|
||||
let received_address =
|
||||
&received_message[LENGTH + EXTENSIONS..LENGTH + ilength as usize];
|
||||
let address = String::from_utf8(received_address.to_vec()).expect("wrong name");
|
||||
|
||||
let natreq2 = construct_message(
|
||||
NATTRAVERSALREQUEST2,
|
||||
ip.to_string().into_bytes(),
|
||||
id,
|
||||
crypto_pair,
|
||||
);
|
||||
|
||||
senders.send_via(
|
||||
0,
|
||||
natreq2.expect("couldnt construct message nattraversalrequest2"),
|
||||
address,
|
||||
false,
|
||||
&messages_list,
|
||||
);
|
||||
}
|
||||
|
||||
NATTRAVERSALREQUEST2 => {
|
||||
// send ok & send ping to peer
|
||||
constructed_message = construct_message(OK, Vec::new(), id, crypto_pair);
|
||||
|
||||
let ilength = u16::from_be_bytes(length_bytes);
|
||||
let received_address =
|
||||
&received_message[LENGTH + EXTENSIONS..LENGTH + ilength as usize];
|
||||
let address = String::from_utf8(received_address.to_vec()).expect("wrong name");
|
||||
|
||||
let pingreq = construct_message(PING, Vec::new(), id, crypto_pair);
|
||||
|
||||
senders.send_via(
|
||||
0,
|
||||
pingreq.expect("couldnt construct message ping request"),
|
||||
address,
|
||||
false,
|
||||
&messages_list,
|
||||
);
|
||||
}
|
||||
//
|
||||
// ERROR
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user