diff --git a/api/libs/query_engine/src/data_source_connections/ssh_tunneling.rs b/api/libs/query_engine/src/data_source_connections/ssh_tunneling.rs index 30d1b1978..ece4bae8d 100644 --- a/api/libs/query_engine/src/data_source_connections/ssh_tunneling.rs +++ b/api/libs/query_engine/src/data_source_connections/ssh_tunneling.rs @@ -4,9 +4,10 @@ use std::{ fs, io::Write, net::TcpListener, - os::unix::fs::PermissionsExt, process::{Child, Command}, }; +#[cfg(unix)] +use std::os::unix::fs::PermissionsExt; use tempfile::NamedTempFile; pub fn establish_ssh_tunnel( @@ -61,29 +62,32 @@ pub fn establish_ssh_tunnel( } }; - let mut perms = match fs::metadata(temp_ssh_key.path()) { - Ok(p) => p.permissions(), - Err(e) => { - tracing::error!( - "There was a problem while getting the metadata of the temp file: {}", - e - ); - return Err(anyhow!(e)); - } - }; + #[cfg(unix)] + { + let mut perms = match fs::metadata(temp_ssh_key.path()) { + Ok(p) => p.permissions(), + Err(e) => { + tracing::error!( + "There was a problem while getting the metadata of the temp file: {}", + e + ); + return Err(anyhow!(e)); + } + }; - perms.set_mode(0o600); + perms.set_mode(0o600); - match fs::set_permissions(temp_ssh_key.path(), perms) { - Ok(_) => {} - Err(e) => { - tracing::error!( - "There was a problem while setting the permissions of the temp file: {}", - e - ); - return Err(anyhow!(e)); - } - }; + match fs::set_permissions(temp_ssh_key.path(), perms) { + Ok(_) => {} + Err(e) => { + tracing::error!( + "There was a problem while setting the permissions of the temp file: {}", + e + ); + return Err(anyhow!(e)); + } + }; + } let ssh_tunnel = match Command::new("ssh") .arg("-T")