mirror of
https://github.com/yuezk/GlobalProtect-openconnect.git
synced 2025-04-02 18:31:50 -04:00
Use uzers crate
This commit is contained in:
parent
5c56acc677
commit
03f8c98cb5
1
.vscode/settings.json
vendored
1
.vscode/settings.json
vendored
@ -43,6 +43,7 @@
|
|||||||
"urlencoding",
|
"urlencoding",
|
||||||
"userauthcookie",
|
"userauthcookie",
|
||||||
"utsbuf",
|
"utsbuf",
|
||||||
|
"uzers",
|
||||||
"Vite",
|
"Vite",
|
||||||
"vpnc",
|
"vpnc",
|
||||||
"vpninfo",
|
"vpninfo",
|
||||||
|
32
Cargo.lock
generated
32
Cargo.lock
generated
@ -1423,7 +1423,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gpapi"
|
name = "gpapi"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"base64 0.21.5",
|
"base64 0.21.5",
|
||||||
@ -1444,13 +1444,13 @@ dependencies = [
|
|||||||
"tokio",
|
"tokio",
|
||||||
"url",
|
"url",
|
||||||
"urlencoding",
|
"urlencoding",
|
||||||
"users",
|
"uzers",
|
||||||
"whoami",
|
"whoami",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gpauth"
|
name = "gpauth"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"clap",
|
"clap",
|
||||||
@ -1470,7 +1470,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gpclient"
|
name = "gpclient"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"clap",
|
"clap",
|
||||||
@ -1491,7 +1491,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gpservice"
|
name = "gpservice"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"axum",
|
"axum",
|
||||||
@ -2446,7 +2446,7 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openconnect"
|
name = "openconnect"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cc",
|
"cc",
|
||||||
"is_executable",
|
"is_executable",
|
||||||
@ -4378,16 +4378,6 @@ version = "2.1.3"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
|
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]]
|
[[package]]
|
||||||
name = "utf-8"
|
name = "utf-8"
|
||||||
version = "0.7.6"
|
version = "0.7.6"
|
||||||
@ -4409,6 +4399,16 @@ dependencies = [
|
|||||||
"getrandom 0.2.11",
|
"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]]
|
[[package]]
|
||||||
name = "valuable"
|
name = "valuable"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
|
@ -36,7 +36,7 @@ futures-util = "0.3"
|
|||||||
tokio-tungstenite = "0.20.1"
|
tokio-tungstenite = "0.20.1"
|
||||||
specta = "=2.0.0-rc.1"
|
specta = "=2.0.0-rc.1"
|
||||||
specta-macros = "=2.0.0-rc.1"
|
specta-macros = "=2.0.0-rc.1"
|
||||||
users = "0.11"
|
uzers = "0.11"
|
||||||
whoami = "1"
|
whoami = "1"
|
||||||
tauri = { version = "1.5" }
|
tauri = { version = "1.5" }
|
||||||
thiserror = "1"
|
thiserror = "1"
|
||||||
|
@ -24,7 +24,7 @@ redact-engine.workspace = true
|
|||||||
url.workspace = true
|
url.workspace = true
|
||||||
regex.workspace = true
|
regex.workspace = true
|
||||||
dotenvy_macro.workspace = true
|
dotenvy_macro.workspace = true
|
||||||
users.workspace = true
|
uzers.workspace = true
|
||||||
|
|
||||||
tauri = { workspace = true, optional = true }
|
tauri = { workspace = true, optional = true }
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
use anyhow::bail;
|
use anyhow::bail;
|
||||||
use std::{env, ffi::OsStr};
|
use std::{env, ffi::OsStr};
|
||||||
use tokio::process::Command;
|
use tokio::process::Command;
|
||||||
use users::{os::unix::UserExt, User};
|
use uzers::{os::unix::UserExt, User};
|
||||||
|
|
||||||
pub trait CommandExt {
|
pub trait CommandExt {
|
||||||
fn new_pkexec<S: AsRef<OsStr>>(program: S) -> Command;
|
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" {
|
let user = if current_user == "root" {
|
||||||
get_real_user()?
|
get_real_user()?
|
||||||
} else {
|
} else {
|
||||||
users::get_user_by_name(¤t_user)
|
uzers::get_user_by_name(¤t_user)
|
||||||
.ok_or_else(|| anyhow::anyhow!("User ({}) not found", 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>()?,
|
_ => 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"))
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user