diff --git a/src/utils/tools.rs b/src/utils/tools.rs index 8a7afc5..17bae50 100644 --- a/src/utils/tools.rs +++ b/src/utils/tools.rs @@ -250,8 +250,8 @@ pub fn drop_priv(user: String, group: String, http_addr: String, tls_addr: Optio } } -pub fn check_priv(addr: String) { - let port = SocketAddr::from_str(&addr).map(|sa| sa.port()).unwrap(); +pub fn check_priv(addr: &str) { + let port = SocketAddr::from_str(addr).map(|sa| sa.port()).unwrap(); match port < 1024 { true => { let meta = std::fs::metadata("/proc/self").map(|m| m.uid()).unwrap(); diff --git a/src/web/start.rs b/src/web/start.rs index 51b58e3..71e9ada 100644 --- a/src/web/start.rs +++ b/src/web/start.rs @@ -55,11 +55,11 @@ pub fn run() { let bind_address_http = cfg.proxy_address_http.clone(); let bind_address_tls = cfg.proxy_address_tls.clone(); - check_priv(bind_address_http.clone()); + check_priv(bind_address_http.as_str()); match bind_address_tls { Some(bind_address_tls) => { - check_priv(bind_address_tls.clone()); + check_priv(bind_address_tls.as_str()); let (tx, rx): (Sender>, Receiver>) = channel(); let certs_path = cfg.proxy_certificates.clone().unwrap(); thread::spawn(move || {