fix check_process on mac since normal user can not get system's
process's command line arguments
This commit is contained in:
parent
f34a8ef0e5
commit
ea1d4adfa6
@ -1240,8 +1240,14 @@ pub async fn get_next_nonkeyexchange_msg(
|
|||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(unused_mut)]
|
||||||
#[cfg(not(any(target_os = "android", target_os = "ios")))]
|
#[cfg(not(any(target_os = "android", target_os = "ios")))]
|
||||||
pub fn check_process(arg: &str, same_uid: bool) -> bool {
|
pub fn check_process(arg: &str, mut same_uid: bool) -> bool {
|
||||||
|
#[cfg(target_os = "macos")]
|
||||||
|
if !crate::platform::is_root() {
|
||||||
|
log::warn!("Can not get other process's command line arguments on macos without root");
|
||||||
|
same_uid = true;
|
||||||
|
}
|
||||||
use hbb_common::sysinfo::System;
|
use hbb_common::sysinfo::System;
|
||||||
let mut sys = System::new();
|
let mut sys = System::new();
|
||||||
sys.refresh_processes();
|
sys.refresh_processes();
|
||||||
|
@ -958,7 +958,7 @@ impl Connection {
|
|||||||
}
|
}
|
||||||
#[cfg(not(any(target_os = "android", target_os = "ios")))]
|
#[cfg(not(any(target_os = "android", target_os = "ios")))]
|
||||||
if crate::is_server() && Config::get_option("allow-only-conn-window-open") == "Y" {
|
if crate::is_server() && Config::get_option("allow-only-conn-window-open") == "Y" {
|
||||||
if !crate::check_process("", false) {
|
if !crate::check_process("", !crate::platform::is_root()) {
|
||||||
self.send_login_error("The main window is not open").await;
|
self.send_login_error("The main window is not open").await;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user