debuging
This commit is contained in:
parent
726e30610d
commit
0654985a2f
@ -3,6 +3,8 @@ use crate::utils::Result;
|
||||
use super::packet::Packet;
|
||||
use byteorder::{BigEndian, ByteOrder};
|
||||
|
||||
use tracing::{debug, error};
|
||||
|
||||
use serde_repr::*;
|
||||
|
||||
use crate::utils::*;
|
||||
@ -263,6 +265,12 @@ pub fn encode_packet<T: serde::Serialize>(cmn: &Common, pkt: &T) -> Result<Vec<u
|
||||
// body
|
||||
let body = serde_json::to_vec(pkt)?;
|
||||
|
||||
debug!(
|
||||
"body({}): {}",
|
||||
body.len(),
|
||||
std::str::from_utf8(&body).unwrap()
|
||||
);
|
||||
|
||||
let mut result = Vec::with_capacity(2 + hdr.len() + body.len());
|
||||
let total_size = (hdr.len() + body.len()) as u16;
|
||||
// insert total size
|
||||
@ -274,6 +282,9 @@ pub fn encode_packet<T: serde::Serialize>(cmn: &Common, pkt: &T) -> Result<Vec<u
|
||||
// insert body
|
||||
result.extend_from_slice(&body);
|
||||
|
||||
debug!("enocded packet size: {}", result.len());
|
||||
debug!("encoded packet: {:?}", result);
|
||||
|
||||
Ok(result)
|
||||
}
|
||||
|
||||
@ -285,11 +296,15 @@ pub fn decode_common<'a>(value: &'a [u8]) -> Result<(Common<'a>, &'a [u8])> {
|
||||
let size_bytes = value[0..2].try_into().expect("never goes here");
|
||||
let size = u16::from_be_bytes(size_bytes);
|
||||
if value.len() < 2 + size as usize {
|
||||
error!("decode pkt header error: {}: {}", value.len(), 2 + size);
|
||||
return Err(SDLanError::NormalError("decode pkt header size error"));
|
||||
}
|
||||
|
||||
let value2 = &value[2..2 + size as usize];
|
||||
let (cmn, value2) = Common::from_slice(value2)?;
|
||||
let Ok((cmn, value2)) = Common::from_slice(value2) else {
|
||||
error!("failed to decode common");
|
||||
return Err(SDLanError::NormalError("failed to deocde common"));
|
||||
};
|
||||
Ok((cmn, value2))
|
||||
}
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::peer::SdlanSock;
|
||||
use crate::peer::{SdlanSock, V6Info};
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
pub struct PeerInfo {
|
||||
@ -9,4 +9,5 @@ pub struct PeerInfo {
|
||||
pub src_ip: u32,
|
||||
pub dst_ip: u32,
|
||||
pub sock: SdlanSock,
|
||||
pub v6_info: Option<V6Info>,
|
||||
}
|
||||
|
||||
@ -10,7 +10,7 @@ pub struct RegisterSuperACK {
|
||||
pub dev_addr: IpSubnetNonAtomic,
|
||||
|
||||
// sock info
|
||||
pub sock: SdlanSock,
|
||||
pub sock: Option<SdlanSock>,
|
||||
|
||||
// 头加密aes,rsa加密之后
|
||||
pub header_key: Vec<u8>,
|
||||
|
||||
@ -3,4 +3,5 @@ use serde::{Deserialize, Serialize};
|
||||
#[derive(Serialize, Deserialize)]
|
||||
pub struct RegisterSuperNAK {
|
||||
pub cookie: u32,
|
||||
pub src_ip: u32,
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user