diff --git a/src/service/local.rs b/src/service/local.rs index 7cae2945..b2e9d6fc 100644 --- a/src/service/local.rs +++ b/src/service/local.rs @@ -559,16 +559,20 @@ pub fn main(matches: &ArgMatches) -> ExitCode { #[cfg(feature = "local-redir")] { - match matches.value_of_t::("TCP_REDIR") { - Ok(tcp_redir) => local_config.tcp_redir = tcp_redir, - Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {} - Err(err) => err.exit(), + if RedirType::tcp_default() != RedirType::NotSupported { + match matches.value_of_t::("TCP_REDIR") { + Ok(tcp_redir) => local_config.tcp_redir = tcp_redir, + Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {} + Err(err) => err.exit(), + } } - match matches.value_of_t::("UDP_REDIR") { - Ok(udp_redir) => local_config.udp_redir = udp_redir, - Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {} - Err(err) => err.exit(), + if RedirType::udp_default() != RedirType::NotSupported { + match matches.value_of_t::("UDP_REDIR") { + Ok(udp_redir) => local_config.udp_redir = udp_redir, + Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {} + Err(err) => err.exit(), + } } }