ipv6 set v6 only when bind

This commit is contained in:
sijie.sun
2024-04-28 09:23:30 +08:00
committed by Sijie.Sun
parent d8033a77b9
commit b3717d974b
6 changed files with 57 additions and 24 deletions

View File

@@ -481,7 +481,6 @@ impl WgTunnelListener {
let mut buf = vec![0u8; MAX_PACKET];
loop {
tracing::info!("Waiting for incoming UDP packet");
let Ok((n, addr)) = socket.recv_from(&mut buf).await else {
tracing::error!("Failed to receive from UDP socket");
break;
@@ -848,6 +847,16 @@ pub mod tests {
assert_eq!(0, listener.wg_peer_map.len());
}
#[tokio::test]
async fn bind_same_port() {
let (server_cfg, _client_cfg) = create_wg_config();
let mut listener = WgTunnelListener::new("wg://[::1]:31015".parse().unwrap(), server_cfg);
let (server_cfg, _client_cfg) = create_wg_config();
let mut listener2 = WgTunnelListener::new("wg://[::1]:31015".parse().unwrap(), server_cfg);
listener.listen().await.unwrap();
listener2.listen().await.unwrap();
}
#[tokio::test]
async fn ipv6_pingpong() {
let (server_cfg, client_cfg) = create_wg_config();