Use uzers crate

This commit is contained in:
Kevin Yue 2024-01-18 08:54:08 -05:00
parent 5c56acc677
commit 03f8c98cb5
5 changed files with 22 additions and 21 deletions

View File

@ -43,6 +43,7 @@
"urlencoding",
"userauthcookie",
"utsbuf",
"uzers",
"Vite",
"vpnc",
"vpninfo",

32
Cargo.lock generated
View File

@ -1423,7 +1423,7 @@ dependencies = [
[[package]]
name = "gpapi"
version = "2.0.0-beta.1"
version = "2.0.0-beta2"
dependencies = [
"anyhow",
"base64 0.21.5",
@ -1444,13 +1444,13 @@ dependencies = [
"tokio",
"url",
"urlencoding",
"users",
"uzers",
"whoami",
]
[[package]]
name = "gpauth"
version = "2.0.0-beta.1"
version = "2.0.0-beta2"
dependencies = [
"anyhow",
"clap",
@ -1470,7 +1470,7 @@ dependencies = [
[[package]]
name = "gpclient"
version = "2.0.0-beta.1"
version = "2.0.0-beta2"
dependencies = [
"anyhow",
"clap",
@ -1491,7 +1491,7 @@ dependencies = [
[[package]]
name = "gpservice"
version = "2.0.0-beta.1"
version = "2.0.0-beta2"
dependencies = [
"anyhow",
"axum",
@ -2446,7 +2446,7 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
[[package]]
name = "openconnect"
version = "2.0.0-beta.1"
version = "2.0.0-beta2"
dependencies = [
"cc",
"is_executable",
@ -4378,16 +4378,6 @@ version = "2.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
[[package]]
name = "users"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24cc0f6d6f267b73e5a2cadf007ba8f9bc39c6a6f9666f8cf25ea809a153b032"
dependencies = [
"libc",
"log",
]
[[package]]
name = "utf-8"
version = "0.7.6"
@ -4409,6 +4399,16 @@ dependencies = [
"getrandom 0.2.11",
]
[[package]]
name = "uzers"
version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "76d283dc7e8c901e79e32d077866eaf599156cbf427fffa8289aecc52c5c3f63"
dependencies = [
"libc",
"log",
]
[[package]]
name = "valuable"
version = "0.1.0"

View File

@ -36,7 +36,7 @@ futures-util = "0.3"
tokio-tungstenite = "0.20.1"
specta = "=2.0.0-rc.1"
specta-macros = "=2.0.0-rc.1"
users = "0.11"
uzers = "0.11"
whoami = "1"
tauri = { version = "1.5" }
thiserror = "1"

View File

@ -24,7 +24,7 @@ redact-engine.workspace = true
url.workspace = true
regex.workspace = true
dotenvy_macro.workspace = true
users.workspace = true
uzers.workspace = true
tauri = { workspace = true, optional = true }

View File

@ -1,7 +1,7 @@
use anyhow::bail;
use std::{env, ffi::OsStr};
use tokio::process::Command;
use users::{os::unix::UserExt, User};
use uzers::{os::unix::UserExt, User};
pub trait CommandExt {
fn new_pkexec<S: AsRef<OsStr>>(program: S) -> Command;
@ -42,7 +42,7 @@ fn get_non_root_user() -> anyhow::Result<User> {
let user = if current_user == "root" {
get_real_user()?
} else {
users::get_user_by_name(&current_user)
uzers::get_user_by_name(&current_user)
.ok_or_else(|| anyhow::anyhow!("User ({}) not found", current_user))?
};
@ -60,5 +60,5 @@ fn get_real_user() -> anyhow::Result<User> {
_ => env::var("PKEXEC_UID")?.parse::<u32>()?,
};
users::get_user_by_uid(uid).ok_or_else(|| anyhow::anyhow!("User not found"))
uzers::get_user_by_uid(uid).ok_or_else(|| anyhow::anyhow!("User not found"))
}