This commit is contained in:
rustdesk 2023-02-10 17:48:53 +08:00
parent 930faecb13
commit 7edb3e6e92
8 changed files with 17 additions and 23 deletions

View File

@ -56,3 +56,5 @@ pub mod clipboard_file;
#[cfg(all(windows, feature = "with_rc"))] #[cfg(all(windows, feature = "with_rc"))]
pub mod rc; pub mod rc;
#[cfg(target_os = "windows")]
pub mod win_privacy;

View File

@ -2,10 +2,9 @@
// Requires Rust 1.18. // Requires Rust 1.18.
//#![windows_subsystem = "windows"] //#![windows_subsystem = "windows"]
#[cfg(not(feature = "flutter"))]
use librustdesk::*; use librustdesk::*;
#[cfg(any(target_os = "android", target_os = "ios"))] #[cfg(any(target_os = "android", target_os = "ios", feature = "flutter"))]
fn main() { fn main() {
if !common::global_init() { if !common::global_init() {
return; return;
@ -33,11 +32,6 @@ fn main() {
common::global_clean(); common::global_clean();
} }
#[cfg(feature = "flutter")]
fn main() {
hbb_common::log::info!("Hello world!");
}
#[cfg(feature = "cli")] #[cfg(feature = "cli")]
fn main() { fn main() {
if !common::global_init() { if !common::global_init() {

View File

@ -833,8 +833,8 @@ fn get_default_install_path() -> String {
pub fn check_update_broker_process() -> ResultType<()> { pub fn check_update_broker_process() -> ResultType<()> {
// let (_, path, _, _) = get_install_info(); // let (_, path, _, _) = get_install_info();
let process_exe = crate::ui::win_privacy::INJECTED_PROCESS_EXE; let process_exe = crate::win_privacy::INJECTED_PROCESS_EXE;
let origin_process_exe = crate::ui::win_privacy::ORIGIN_PROCESS_EXE; let origin_process_exe = crate::win_privacy::ORIGIN_PROCESS_EXE;
let exe_file = std::env::current_exe()?; let exe_file = std::env::current_exe()?;
if exe_file.parent().is_none() { if exe_file.parent().is_none() {
@ -919,8 +919,8 @@ pub fn copy_exe_cmd(src_exe: &str, _exe: &str, path: &str) -> String {
", ",
main_exe = main_exe, main_exe = main_exe,
path = path, path = path,
ORIGIN_PROCESS_EXE = crate::ui::win_privacy::ORIGIN_PROCESS_EXE, ORIGIN_PROCESS_EXE = crate::win_privacy::ORIGIN_PROCESS_EXE,
broker_exe = crate::ui::win_privacy::INJECTED_PROCESS_EXE, broker_exe = crate::win_privacy::INJECTED_PROCESS_EXE,
); );
} }
@ -938,7 +938,7 @@ pub fn update_me() -> ResultType<()> {
{lic} {lic}
", ",
copy_exe = copy_exe_cmd(&src_exe, &exe, &path), copy_exe = copy_exe_cmd(&src_exe, &exe, &path),
broker_exe = crate::ui::win_privacy::INJECTED_PROCESS_EXE, broker_exe = crate::win_privacy::INJECTED_PROCESS_EXE,
app_name = crate::get_app_name(), app_name = crate::get_app_name(),
lic = register_licence(), lic = register_licence(),
cur_pid = get_current_pid(), cur_pid = get_current_pid(),
@ -1203,7 +1203,7 @@ fn get_before_uninstall() -> String {
netsh advfirewall firewall delete rule name=\"{app_name} Service\" netsh advfirewall firewall delete rule name=\"{app_name} Service\"
", ",
app_name = app_name, app_name = app_name,
broker_exe = crate::ui::win_privacy::INJECTED_PROCESS_EXE, broker_exe = crate::win_privacy::INJECTED_PROCESS_EXE,
ext = ext, ext = ext,
cur_pid = get_current_pid(), cur_pid = get_current_pid(),
) )

View File

@ -2045,7 +2045,7 @@ mod privacy_mode {
pub(super) fn turn_off_privacy(_conn_id: i32) -> Message { pub(super) fn turn_off_privacy(_conn_id: i32) -> Message {
#[cfg(windows)] #[cfg(windows)]
{ {
use crate::ui::win_privacy::*; use crate::win_privacy::*;
let res = turn_off_privacy(_conn_id, None); let res = turn_off_privacy(_conn_id, None);
match res { match res {
@ -2069,7 +2069,7 @@ mod privacy_mode {
pub(super) fn turn_on_privacy(_conn_id: i32) -> ResultType<bool> { pub(super) fn turn_on_privacy(_conn_id: i32) -> ResultType<bool> {
#[cfg(windows)] #[cfg(windows)]
{ {
let plugin_exist = crate::ui::win_privacy::turn_on_privacy(_conn_id)?; let plugin_exist = crate::win_privacy::turn_on_privacy(_conn_id)?;
Ok(plugin_exist) Ok(plugin_exist)
} }
#[cfg(not(windows))] #[cfg(not(windows))]

View File

@ -207,7 +207,7 @@ fn create_capturer(
if privacy_mode_id > 0 { if privacy_mode_id > 0 {
#[cfg(windows)] #[cfg(windows)]
{ {
use crate::ui::win_privacy::*; use crate::win_privacy::*;
match scrap::CapturerMag::new( match scrap::CapturerMag::new(
display.origin(), display.origin(),
@ -308,11 +308,11 @@ pub fn test_create_capturer(privacy_mode_id: i32, timeout_millis: u64) -> bool {
fn check_uac_switch(privacy_mode_id: i32, capturer_privacy_mode_id: i32) -> ResultType<()> { fn check_uac_switch(privacy_mode_id: i32, capturer_privacy_mode_id: i32) -> ResultType<()> {
if capturer_privacy_mode_id != 0 { if capturer_privacy_mode_id != 0 {
if privacy_mode_id != capturer_privacy_mode_id { if privacy_mode_id != capturer_privacy_mode_id {
if !crate::ui::win_privacy::is_process_consent_running()? { if !crate::win_privacy::is_process_consent_running()? {
bail!("consent.exe is running"); bail!("consent.exe is running");
} }
} }
if crate::ui::win_privacy::is_process_consent_running()? { if crate::win_privacy::is_process_consent_running()? {
bail!("consent.exe is running"); bail!("consent.exe is running");
} }
} }
@ -372,7 +372,7 @@ fn get_capturer(use_yuv: bool, portable_service_running: bool) -> ResultType<Cap
let mut capturer_privacy_mode_id = privacy_mode_id; let mut capturer_privacy_mode_id = privacy_mode_id;
#[cfg(windows)] #[cfg(windows)]
if capturer_privacy_mode_id != 0 { if capturer_privacy_mode_id != 0 {
if crate::ui::win_privacy::is_process_consent_running()? { if crate::win_privacy::is_process_consent_running()? {
capturer_privacy_mode_id = 0; capturer_privacy_mode_id = 0;
} }
} }
@ -957,7 +957,7 @@ fn start_uac_elevation_check() {
if !crate::platform::is_installed() && !crate::platform::is_root() { if !crate::platform::is_installed() && !crate::platform::is_root() {
std::thread::spawn(|| loop { std::thread::spawn(|| loop {
std::thread::sleep(std::time::Duration::from_secs(1)); std::thread::sleep(std::time::Duration::from_secs(1));
if let Ok(uac) = crate::ui::win_privacy::is_process_consent_running() { if let Ok(uac) = crate::win_privacy::is_process_consent_running() {
*IS_UAC_RUNNING.lock().unwrap() = uac; *IS_UAC_RUNNING.lock().unwrap() = uac;
} }
if !crate::platform::is_elevated(None).unwrap_or(false) { if !crate::platform::is_elevated(None).unwrap_or(false) {

View File

@ -23,8 +23,6 @@ pub mod inline;
#[cfg(target_os = "macos")] #[cfg(target_os = "macos")]
pub mod macos; pub mod macos;
pub mod remote; pub mod remote;
#[cfg(target_os = "windows")]
pub mod win_privacy;
pub type Children = Arc<Mutex<(bool, HashMap<(String, String), Child>)>>; pub type Children = Arc<Mutex<(bool, HashMap<(String, String), Child>)>>;
#[allow(dead_code)] #[allow(dead_code)]

View File

@ -494,7 +494,7 @@ pub async fn start_ipc<T: InvokeUiCM>(cm: ConnectionManager<T>) {
e e
); );
} }
allow_err!(crate::ui::win_privacy::start()); allow_err!(crate::win_privacy::start());
}); });
match ipc::new_listener("_cm").await { match ipc::new_listener("_cm").await {