Browse Source

make clippy happy

master
ssrlive 6 days ago
parent
commit
110cf2a994
  1. 8
      Cargo.toml
  2. 4
      src/args.rs
  3. 22
      src/lib.rs

8
Cargo.toml

@ -34,16 +34,16 @@ clap = { version = "4.6.1", features = ["derive", "wrap_help", "color"] }
ctrlc2 = { version = "4.0.0", features = ["async", "termination"] } ctrlc2 = { version = "4.0.0", features = ["async", "termination"] }
digest_auth = "0.3.1" digest_auth = "0.3.1"
dotenvy = "0.15.7" dotenvy = "0.15.7"
env_logger = "0.11.10" env_logger = "0.11.11"
hashlink = "0.12.0" hashlink = "0.12.1"
hickory-proto = "0.26.1" hickory-proto = "0.26.1"
httparse = "1.10.1" httparse = "1.10.1"
ipstack = { version = "1.0.0" } ipstack = { version = "1.0.1" }
log = { version = "0.4.33", features = ["std"] } log = { version = "0.4.33", features = ["std"] }
percent-encoding = "2.3.2" percent-encoding = "2.3.2"
serde = { version = "1.0.228", features = ["derive"] } serde = { version = "1.0.228", features = ["derive"] }
shlex = "2.0.1" shlex = "2.0.1"
socks5-impl = { version = "0.9.0", default-features = false, features = [ socks5-impl = { version = "0.9.4", default-features = false, features = [
"tokio", "tokio",
"serde", "serde",
] } ] }

4
src/args.rs

@ -401,9 +401,9 @@ impl std::fmt::Display for ArgProxy {
None => "".to_owned(), None => "".to_owned(),
}; };
if auth.is_empty() { if auth.is_empty() {
write!(f, "{}://{}", &self.proxy_type, &self.addr) write!(f, "{}://{}", self.proxy_type, self.addr)
} else { } else {
write!(f, "{}://{}@{}", &self.proxy_type, auth, &self.addr) write!(f, "{}://{}@{}", self.proxy_type, auth, self.addr)
} }
} }
} }

22
src/lib.rs

@ -535,7 +535,7 @@ async fn handle_udp_gateway_session(
let tcp_local_addr = stream.local_addr(); let tcp_local_addr = stream.local_addr();
let sn = stream.serial_number(); let sn = stream.serial_number();
log::info!("[UdpGw] Beginning stream {} {} -> {}", sn, &tcp_local_addr, udp_dst); log::info!("[UdpGw] Beginning stream {} {} -> {}", sn, tcp_local_addr, udp_dst);
let Some(mut reader) = stream.get_reader() else { let Some(mut reader) = stream.get_reader() else {
return Err("get reader failed".into()); return Err("get reader failed".into());
@ -552,22 +552,22 @@ async fn handle_udp_gateway_session(
len = udp_stack.read(&mut tmp_buf) => { len = udp_stack.read(&mut tmp_buf) => {
let read_len = match len { let read_len = match len {
Ok(0) => { Ok(0) => {
log::info!("[UdpGw] Ending stream {} {} <> {}", sn, &tcp_local_addr, udp_dst); log::info!("[UdpGw] Ending stream {} {} <> {}", sn, tcp_local_addr, udp_dst);
break; break;
} }
Ok(n) => n, Ok(n) => n,
Err(e) => { Err(e) => {
log::info!("[UdpGw] Ending stream {} {} <> {} with udp stack \"{}\"", sn, &tcp_local_addr, udp_dst, e); log::info!("[UdpGw] Ending stream {} {} <> {} with udp stack \"{}\"", sn, tcp_local_addr, udp_dst, e);
break; break;
} }
}; };
crate::traffic_status::traffic_status_update(read_len, 0)?; crate::traffic_status::traffic_status_update(read_len, 0)?;
let sn = stream.serial_number(); let sn = stream.serial_number();
if let Err(e) = UdpGwClient::send_udpgw_packet(ipv6_enabled, &tmp_buf[0..read_len], udp_dst, sn, &mut writer).await { if let Err(e) = UdpGwClient::send_udpgw_packet(ipv6_enabled, &tmp_buf[0..read_len], udp_dst, sn, &mut writer).await {
log::info!("[UdpGw] Ending stream {} {} <> {} with send_udpgw_packet {}", sn, &tcp_local_addr, udp_dst, e); log::info!("[UdpGw] Ending stream {} {} <> {} with send_udpgw_packet {}", sn, tcp_local_addr, udp_dst, e);
break; break;
} }
log::debug!("[UdpGw] stream {} {} -> {} send len {}", sn, &tcp_local_addr, udp_dst, read_len); log::debug!("[UdpGw] stream {} {} -> {} send len {}", sn, tcp_local_addr, udp_dst, read_len);
stream.update_activity(); stream.update_activity();
} }
ret = UdpGwClient::recv_udpgw_packet(udp_mtu, udp_timeout, &mut reader) => { ret = UdpGwClient::recv_udpgw_packet(udp_mtu, udp_timeout, &mut reader) => {
@ -576,25 +576,25 @@ async fn handle_udp_gateway_session(
} }
match ret { match ret {
Err(e) => { Err(e) => {
log::warn!("[UdpGw] Ending stream {} {} <> {} with recv_udpgw_packet {}", sn, &tcp_local_addr, udp_dst, e); log::warn!("[UdpGw] Ending stream {} {} <> {} with recv_udpgw_packet {}", sn, tcp_local_addr, udp_dst, e);
stream.close(); stream.close();
break; break;
} }
Ok((_, packet)) => match packet { Ok((_, packet)) => match packet {
//should not received keepalive //should not received keepalive
UdpGwResponse::KeepAlive => { UdpGwResponse::KeepAlive => {
log::error!("[UdpGw] Ending stream {} {} <> {} with recv keepalive", sn, &tcp_local_addr, udp_dst); log::error!("[UdpGw] Ending stream {} {} <> {} with recv keepalive", sn, tcp_local_addr, udp_dst);
stream.close(); stream.close();
break; break;
} }
//server udp may be timeout,can continue to receive udp data? //server udp may be timeout,can continue to receive udp data?
UdpGwResponse::Error => { UdpGwResponse::Error => {
log::info!("[UdpGw] Ending stream {} {} <> {} with recv udp error", sn, &tcp_local_addr, udp_dst); log::info!("[UdpGw] Ending stream {} {} <> {} with recv udp error", sn, tcp_local_addr, udp_dst);
stream.update_activity(); stream.update_activity();
continue; continue;
} }
UdpGwResponse::TcpClose => { UdpGwResponse::TcpClose => {
log::error!("[UdpGw] Ending stream {} {} <> {} with tcp closed", sn, &tcp_local_addr, udp_dst); log::error!("[UdpGw] Ending stream {} {} <> {} with tcp closed", sn, tcp_local_addr, udp_dst);
stream.close(); stream.close();
break; break;
} }
@ -602,9 +602,9 @@ async fn handle_udp_gateway_session(
use socks5_impl::protocol::StreamOperation; use socks5_impl::protocol::StreamOperation;
let len = data.len(); let len = data.len();
let f = data.header.flags; let f = data.header.flags;
log::debug!("[UdpGw] stream {sn} {} <- {} receive {f} len {len}", &tcp_local_addr, udp_dst); log::debug!("[UdpGw] stream {sn} {} <- {} receive {f} len {len}", tcp_local_addr, udp_dst);
if let Err(e) = udp_stack.write_all(&data.data).await { if let Err(e) = udp_stack.write_all(&data.data).await {
log::error!("[UdpGw] Ending stream {} {} <> {} with send_udp_packet {}", sn, &tcp_local_addr, udp_dst, e); log::error!("[UdpGw] Ending stream {} {} <> {} with send_udp_packet {}", sn, tcp_local_addr, udp_dst, e);
break; break;
} }
} }

Loading…
Cancel
Save