mirror of
https://github.com/EasyTier/EasyTier.git
synced 2026-05-07 18:24:36 +00:00
support encryption (#60)
This commit is contained in:
@@ -30,8 +30,10 @@ pub fn get_listener_by_url(
|
||||
"udp" => Box::new(UdpTunnelListener::new(l.clone())),
|
||||
"wg" => {
|
||||
let nid = ctx.get_network_identity();
|
||||
let wg_config =
|
||||
WgConfig::new_from_network_identity(&nid.network_name, &nid.network_secret);
|
||||
let wg_config = WgConfig::new_from_network_identity(
|
||||
&nid.network_name,
|
||||
&nid.network_secret.unwrap_or_default(),
|
||||
);
|
||||
Box::new(WgTunnelListener::new(l.clone(), wg_config))
|
||||
}
|
||||
"quic" => Box::new(QUICTunnelListener::new(l.clone())),
|
||||
|
||||
@@ -13,7 +13,7 @@ use crate::{
|
||||
},
|
||||
tunnel::{
|
||||
common::{reserve_buf, FramedWriter, TunnelWrapper, ZCPacketToBytes},
|
||||
packet_def::{ZCPacket, ZCPacketType},
|
||||
packet_def::{ZCPacket, ZCPacketType, TAIL_RESERVED_SIZE},
|
||||
StreamItem, Tunnel, TunnelError,
|
||||
},
|
||||
};
|
||||
@@ -70,18 +70,17 @@ impl Stream for TunStream {
|
||||
|
||||
let ret = ready!(g.as_pin_mut().poll_read(cx, &mut buf));
|
||||
let len = buf.filled().len();
|
||||
unsafe { self_mut.cur_buf.advance_mut(len) };
|
||||
if len == 0 {
|
||||
return Poll::Ready(None);
|
||||
}
|
||||
unsafe { self_mut.cur_buf.advance_mut(len + TAIL_RESERVED_SIZE) };
|
||||
|
||||
let mut ret_buf = self_mut.cur_buf.split();
|
||||
let cur_len = ret_buf.len();
|
||||
ret_buf.truncate(cur_len - TAIL_RESERVED_SIZE);
|
||||
|
||||
match ret {
|
||||
Ok(_) => {
|
||||
if len == 0 {
|
||||
return Poll::Ready(None);
|
||||
}
|
||||
Poll::Ready(Some(Ok(ZCPacket::new_from_buf(
|
||||
self_mut.cur_buf.split(),
|
||||
ZCPacketType::NIC,
|
||||
))))
|
||||
}
|
||||
Ok(_) => Poll::Ready(Some(Ok(ZCPacket::new_from_buf(ret_buf, ZCPacketType::NIC)))),
|
||||
Err(err) => {
|
||||
println!("tun stream error: {:?}", err);
|
||||
Poll::Ready(None)
|
||||
|
||||
Reference in New Issue
Block a user