diff --git a/Cargo.toml b/Cargo.toml index 66eca67..598b717 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" edition = "2021" [dependencies] -async-std = "1.10.0" +#async-std = "1.10.0" evdev = "0.11.3" glob = "0.3.0" log = "0.4.0" diff --git a/src/main.rs b/src/main.rs index 18e13d1..6f61ed4 100644 --- a/src/main.rs +++ b/src/main.rs @@ -29,14 +29,7 @@ pub fn main() { env_logger::init(); log::trace!("Logger initialized."); - if unistd::Uid::current().is_root() { - log::error!("Refusing to run swhkd as root."); - exit(1); - } - - /* Check if invoking user is in input group */ - if user_in_input_group() == false { - log::error!("Invoking user is NOT in input group."); + if permission_check() == false { exit(1); } @@ -74,7 +67,12 @@ pub fn main() { } } -pub fn user_in_input_group() -> bool { +pub fn permission_check() -> bool { + if unistd::Uid::current().is_root() { + log::error!("Refusing to run swhkd as root."); + return false; + } + log::trace!("Checking if invoking user is in input group."); let groups = unistd::getgroups(); for (_, groups) in groups.iter().enumerate() { @@ -86,6 +84,7 @@ pub fn user_in_input_group() -> bool { } } } + log::error!("Invoking user is NOT in input group."); return false; }