mirror of
https://github.com/tun2proxy/tun2proxy.git
synced 2025-06-08 23:57:42 +00:00
Do not terminate when UDP is not supported by proxy
When an HTTP proxy is used, `new_proxy_handler` can result in an error when a UDP packet is processed. Without this commit, this results in the termination of tun2proxy.
This commit is contained in:
parent
bd27833c29
commit
91fcd07733
1 changed files with 12 additions and 6 deletions
|
@ -160,7 +160,8 @@ where
|
||||||
} else {
|
} else {
|
||||||
None
|
None
|
||||||
};
|
};
|
||||||
let proxy_handler = mgr.new_proxy_handler(info, domain_name, true).await?;
|
match mgr.new_proxy_handler(info, domain_name, true).await {
|
||||||
|
Ok(proxy_handler) => {
|
||||||
tokio::spawn(async move {
|
tokio::spawn(async move {
|
||||||
if let Err(err) = handle_udp_associate_session(udp, server_addr, proxy_handler, ipv6_enabled).await {
|
if let Err(err) = handle_udp_associate_session(udp, server_addr, proxy_handler, ipv6_enabled).await {
|
||||||
log::error!("{} error \"{}\"", info, err);
|
log::error!("{} error \"{}\"", info, err);
|
||||||
|
@ -168,6 +169,11 @@ where
|
||||||
log::trace!("Session count {}", TASK_COUNT.fetch_sub(1, Relaxed) - 1);
|
log::trace!("Session count {}", TASK_COUNT.fetch_sub(1, Relaxed) - 1);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Err(e) => {
|
||||||
|
log::error!("Failed to create UDP connection: {}", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
_ => {
|
_ => {
|
||||||
log::trace!("Unknown transport");
|
log::trace!("Unknown transport");
|
||||||
continue;
|
continue;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue