From 2894a5ab7b8d7bea480a48cb22b94120d55264a0 Mon Sep 17 00:00:00 2001 From: Arash Hatami Date: Fri, 1 Oct 2021 22:48:04 +0330 Subject: [PATCH 1/4] Format rust files --- libs/hbb_common/src/config.rs | 5 ++++- src/platform/linux.rs | 26 +++++++++++++++++--------- src/platform/windows.rs | 20 ++++++++++++++++---- src/server/video_service.rs | 1 - src/ui.rs | 2 +- 5 files changed, 38 insertions(+), 16 deletions(-) diff --git a/libs/hbb_common/src/config.rs b/libs/hbb_common/src/config.rs index 819f4f8d7..bf4dfb7da 100644 --- a/libs/hbb_common/src/config.rs +++ b/libs/hbb_common/src/config.rs @@ -153,7 +153,10 @@ fn patch(path: PathBuf) -> PathBuf { { if _tmp == "/root" { if let Ok(output) = std::process::Command::new("whoami").output() { - let user = String::from_utf8_lossy(&output.stdout).to_string().trim().to_owned(); + let user = String::from_utf8_lossy(&output.stdout) + .to_string() + .trim() + .to_owned(); if user != "root" { return format!("/home/{}", user).into(); } diff --git a/src/platform/linux.rs b/src/platform/linux.rs index 9b68c3656..7368d3c04 100644 --- a/src/platform/linux.rs +++ b/src/platform/linux.rs @@ -417,7 +417,7 @@ pub fn fix_login_wayland() { "sed", "-i", "s/#WaylandEnable=false/WaylandEnable=false/g", - &file + &file, ]) .output() { @@ -435,20 +435,22 @@ pub fn fix_login_wayland() { pub fn current_is_wayland() -> bool { let dtype = get_display_server(); - return "wayland" == dtype && unsafe{UNMODIFIED}; + return "wayland" == dtype && unsafe { UNMODIFIED }; } pub fn modify_default_login() -> String { let dsession = std::env::var("DESKTOP_SESSION").unwrap(); let user_name = std::env::var("USERNAME").unwrap(); - if let Ok(Some(x)) = run_cmds("ls /usr/share/* | grep ${DESKTOP_SESSION}-xorg.desktop".to_owned()) { + if let Ok(Some(x)) = + run_cmds("ls /usr/share/* | grep ${DESKTOP_SESSION}-xorg.desktop".to_owned()) + { if x.trim_end().to_string() != "" { match std::process::Command::new("pkexec") .args(vec![ "sed", "-i", &format!("s/={0}$/={0}-xorg/g", &dsession), - &format!("/var/lib/AccountsService/users/{}", &user_name) + &format!("/var/lib/AccountsService/users/{}", &user_name), ]) .output() { @@ -458,7 +460,9 @@ pub fn modify_default_login() -> String { log::error!("modify_default_login failed: {}", x); return "Fix failed! Please re-login with X server manually".to_owned(); } else { - unsafe {UNMODIFIED = false;} + unsafe { + UNMODIFIED = false; + } return "".to_owned(); } } @@ -467,14 +471,16 @@ pub fn modify_default_login() -> String { return "Fix failed! Please re-login with X server manually".to_owned(); } } - } else if let Ok(Some(z)) = run_cmds("ls /usr/share/* | grep ${DESKTOP_SESSION:0:-8}.desktop".to_owned()) { + } else if let Ok(Some(z)) = + run_cmds("ls /usr/share/* | grep ${DESKTOP_SESSION:0:-8}.desktop".to_owned()) + { if z.trim_end().to_string() != "" { match std::process::Command::new("pkexec") .args(vec![ "sed", "-i", - &format!("s/={}$/={}/g", &dsession, &dsession[..dsession.len()-8]), - &format!("/var/lib/AccountsService/users/{}", &user_name) + &format!("s/={}$/={}/g", &dsession, &dsession[..dsession.len() - 8]), + &format!("/var/lib/AccountsService/users/{}", &user_name), ]) .output() { @@ -484,7 +490,9 @@ pub fn modify_default_login() -> String { log::error!("modify_default_login failed: {}", x); return "Fix failed! Please re-login with X server manually".to_owned(); } else { - unsafe {UNMODIFIED = false;} + unsafe { + UNMODIFIED = false; + } return "".to_owned(); } } diff --git a/src/platform/windows.rs b/src/platform/windows.rs index 5a18a2a5f..4fc134914 100644 --- a/src/platform/windows.rs +++ b/src/platform/windows.rs @@ -145,7 +145,13 @@ pub fn get_cursor_data(hcursor: u64) -> ResultType { if do_outline { let mut outline = Vec::new(); outline.resize(((width + 2) * (height + 2) * 4) as _, 0); - drawOutline(outline.as_mut_ptr(), cbits.as_ptr(), width, height, outline.len() as _); + drawOutline( + outline.as_mut_ptr(), + cbits.as_ptr(), + width, + height, + outline.len() as _, + ); cbits = outline; width += 2; height += 2; @@ -357,7 +363,7 @@ fn fix_cursor_mask( let mut alpha = 255; if mask_idx < bm_size { if (mbits[mask_idx] << (x & 0x7)) & 0x80 == 0 { - alpha = 0; + alpha = 0; } } let a = cbits[pix_idx + 2]; @@ -393,8 +399,14 @@ extern "C" { fn LaunchProcessWin(cmd: *const u16, session_id: DWORD, as_user: BOOL) -> HANDLE; fn selectInputDesktop() -> BOOL; fn inputDesktopSelected() -> BOOL; - fn handleMask(out: *mut u8, mask: *const u8, width: i32, height: i32, bmWidthBytes: i32, bmHeight: i32) - -> i32; + fn handleMask( + out: *mut u8, + mask: *const u8, + width: i32, + height: i32, + bmWidthBytes: i32, + bmHeight: i32, + ) -> i32; fn drawOutline(out: *mut u8, in_: *const u8, width: i32, height: i32, out_size: i32); fn get_di_bits(out: *mut u8, dc: HDC, hbmColor: HBITMAP, width: i32, height: i32) -> i32; fn blank_screen(v: BOOL); diff --git a/src/server/video_service.rs b/src/server/video_service.rs index 953d5efd8..fe3797930 100644 --- a/src/server/video_service.rs +++ b/src/server/video_service.rs @@ -99,7 +99,6 @@ fn run(sp: GenericService) -> ResultType<()> { *SWITCH.lock().unwrap() = false; sp.send(msg_out); } - let mut crc = (0, 0); let start = time::Instant::now(); let mut last_sent = time::Instant::now(); diff --git a/src/ui.rs b/src/ui.rs index ca6fbd950..15c2bc9ee 100644 --- a/src/ui.rs +++ b/src/ui.rs @@ -477,7 +477,7 @@ impl UI { #[cfg(target_os = "linux")] return crate::platform::linux::fix_login_wayland(); } - + fn current_is_wayland(&mut self) -> bool { #[cfg(target_os = "linux")] return crate::platform::linux::current_is_wayland(); From 96208e9fef16e7d29749b65923c53114e2dd3c9a Mon Sep 17 00:00:00 2001 From: Arash Hatami Date: Sun, 14 Nov 2021 18:36:03 +0330 Subject: [PATCH 2/4] git ignore .vscode --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index cdf54e40b..a620ac0bd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /target +.vscode .idea .DS_Store src/ui/inline.rs From 7f13edd14a36e76cfec0e05e1ec85b7840f972fe Mon Sep 17 00:00:00 2001 From: Arash Hatami Date: Sun, 14 Nov 2021 18:52:05 +0330 Subject: [PATCH 3/4] Fix misspelled words --- libs/hbb_common/protos/rendezvous.proto | 4 ++-- libs/hbb_common/src/fs.rs | 10 +++++----- libs/hbb_common/src/tcp.rs | 2 +- libs/hbb_common/src/udp.rs | 2 +- src/client.rs | 2 +- src/ipc.rs | 4 ++-- src/rendezvous_mediator.rs | 8 ++++---- src/ui.rs | 2 +- src/ui/remote.rs | 15 ++++++++------- src/windows.cc | 2 +- 10 files changed, 26 insertions(+), 25 deletions(-) diff --git a/libs/hbb_common/protos/rendezvous.proto b/libs/hbb_common/protos/rendezvous.proto index bd058ac4d..e38dbb84c 100644 --- a/libs/hbb_common/protos/rendezvous.proto +++ b/libs/hbb_common/protos/rendezvous.proto @@ -75,8 +75,8 @@ message PunchHoleResponse { enum Failure { ID_NOT_EXIST = 1; OFFLINE = 2; - LICENCE_MISMATCH = 3; - LICENCE_OVERUSE = 4; + LICENSE_MISMATCH = 3; + LICENSE_OVERUSE = 4; } Failure failure = 3; string relay_server = 4; diff --git a/libs/hbb_common/src/fs.rs b/libs/hbb_common/src/fs.rs index 2a3a6c9f4..99e594751 100644 --- a/libs/hbb_common/src/fs.rs +++ b/libs/hbb_common/src/fs.rs @@ -193,7 +193,7 @@ pub struct TransferJob { file: Option, total_size: u64, finished_size: u64, - transfered: u64, + transferred: u64, } #[inline] @@ -268,8 +268,8 @@ impl TransferJob { } #[inline] - pub fn transfered(&self) -> u64 { - self.transfered + pub fn transferred(&self) -> u64 { + self.transferred } #[inline] @@ -332,7 +332,7 @@ impl TransferJob { self.file.as_mut().unwrap().write_all(&block.data).await?; self.finished_size += block.data.len() as u64; } - self.transfered += block.data.len() as u64; + self.transferred += block.data.len() as u64; Ok(()) } @@ -398,7 +398,7 @@ impl TransferJob { compressed = true; } } - self.transfered += buf.len() as u64; + self.transferred += buf.len() as u64; } Ok(Some(FileTransferBlock { id: self.id, diff --git a/libs/hbb_common/src/tcp.rs b/libs/hbb_common/src/tcp.rs index a83ae36ab..0789c87f0 100644 --- a/libs/hbb_common/src/tcp.rs +++ b/libs/hbb_common/src/tcp.rs @@ -34,7 +34,7 @@ fn new_socket(addr: std::net::SocketAddr, reuse: bool) -> Result Result { if reuse { // windows has no reuse_port, but it's reuse_address // almost equals to unix's reuse_port + reuse_address, - // though may introduce nondeterministic bahavior + // though may introduce nondeterministic behavior #[cfg(unix)] socket.set_reuse_port(true)?; socket.set_reuse_address(true)?; diff --git a/src/client.rs b/src/client.rs index 0416e8582..4484a8f0a 100644 --- a/src/client.rs +++ b/src/client.rs @@ -141,7 +141,7 @@ impl Client { punch_hole_response::Failure::OFFLINE => { bail!("Remote desktop is offline"); } - punch_hole_response::Failure::LICENCE_MISMATCH => { + punch_hole_response::Failure::LICENSE_MISMATCH => { bail!("Key mismatch"); } _ => { diff --git a/src/ipc.rs b/src/ipc.rs index b4e11e40a..0474e457f 100644 --- a/src/ipc.rs +++ b/src/ipc.rs @@ -147,7 +147,7 @@ pub async fn new_listener(postfix: &str) -> ResultType { } Err(err) => { log::error!( - "Faild to start ipc{} server at path {}: {}", + "Failed to start ipc{} server at path {}: {}", postfix, path, err @@ -374,7 +374,7 @@ pub fn set_password(v: String) -> ResultType<()> { pub fn get_id() -> String { if let Ok(Some(v)) = get_config("id") { - // update salt also, so that nexttime reinstallation not causing first-time auto-login failure + // update salt also, so that next time reinstallation not causing first-time auto-login failure if let Ok(Some(v2)) = get_config("salt") { Config::set_salt(&v2); } diff --git a/src/rendezvous_mediator.rs b/src/rendezvous_mediator.rs index 13f0f605c..a89fca945 100644 --- a/src/rendezvous_mediator.rs +++ b/src/rendezvous_mediator.rs @@ -34,7 +34,7 @@ pub struct RendezvousMediator { host: String, host_prefix: String, rendezvous_servers: Vec, - last_id_pk_registery: String, + last_id_pk_registry: String, } impl RendezvousMediator { @@ -90,7 +90,7 @@ impl RendezvousMediator { host: host.clone(), host_prefix, rendezvous_servers, - last_id_pk_registery: "".to_owned(), + last_id_pk_registry: "".to_owned(), }; allow_err!(rz.dns_check()); let mut socket = FramedSocket::new(Config::get_any_listen_addr()).await?; @@ -377,7 +377,7 @@ impl RendezvousMediator { pk.clone() }; let id = Config::get_id(); - self.last_id_pk_registery = id.clone(); + self.last_id_pk_registry = id.clone(); msg_out.set_register_pk(RegisterPk { id, uuid, @@ -389,7 +389,7 @@ impl RendezvousMediator { } async fn handle_uuid_mismatch(&mut self, socket: &mut FramedSocket) -> ResultType<()> { - if self.last_id_pk_registery != Config::get_id() { + if self.last_id_pk_registry != Config::get_id() { return Ok(()); } { diff --git a/src/ui.rs b/src/ui.rs index 15c2bc9ee..dc229067f 100644 --- a/src/ui.rs +++ b/src/ui.rs @@ -621,7 +621,7 @@ pub fn check_zombie(childs: Childs) { } } -// notice: avoiding create ipc connecton repeatly, +// notice: avoiding create ipc connection repeatedly, // because windows named pipe has serious memory leak issue. #[tokio::main(flavor = "current_thread")] async fn check_connect_status_( diff --git a/src/ui/remote.rs b/src/ui/remote.rs index 8cd4b09d8..8c82ce4d5 100644 --- a/src/ui/remote.rs +++ b/src/ui/remote.rs @@ -694,8 +694,8 @@ impl Handler { let mut key_event = KeyEvent::new(); if down_or_up == 2 { /* windows send both keyup/keydown and keychar, so here we avoid keychar - for <= 0xFF, best practise should only avoid those not on keyboard, but - for now, we have no way to test, so avoid <= 0xFF totaly + for <= 0xFF, best practice should only avoid those not on keyboard, but + for now, we have no way to test, so avoid <= 0xFF totally */ if code <= 0xFF { return None; @@ -891,7 +891,8 @@ impl Handler { let mut name = name; #[cfg(target_os = "linux")] - if code == 65383 { // VK_MENU + if code == 65383 { + // VK_MENU name = "Apps".to_owned(); } @@ -1435,16 +1436,16 @@ impl Remote { if elapsed <= 0 { return; } - let transfered = job.transfered(); - let last_transfered = { + let transferred = job.transferred(); + let last_transferred = { if let Some(v) = last_update_jobs_status.1.get(&job.id()) { v.to_owned() } else { 0 } }; - last_update_jobs_status.1.insert(job.id(), transfered); - let speed = (transfered - last_transfered) as f64 / (elapsed as f64 / 1000.); + last_update_jobs_status.1.insert(job.id(), transferred); + let speed = (transferred - last_transferred) as f64 / (elapsed as f64 / 1000.); let file_num = job.file_num() - 1; handler.call( "jobProgress", diff --git a/src/windows.cc b/src/windows.cc index e9a7294cd..162c8a0a7 100644 --- a/src/windows.cc +++ b/src/windows.cc @@ -89,7 +89,7 @@ extern "C" CreateEnvironmentBlock(&lpEnvironment, // Environment block hToken, // New token - TRUE); // Inheritence + TRUE); // Inheritance } if (lpEnvironment) { From 2758f6b7d583cc3f334f039796e3fc8e7718a59f Mon Sep 17 00:00:00 2001 From: Arash Hatami Date: Sun, 14 Nov 2021 19:01:34 +0330 Subject: [PATCH 4/4] Fix misspelled words --- src/platform/windows.rs | 6 +++--- src/server/connection.rs | 14 +++++++------- src/server/service.rs | 8 ++++---- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/platform/windows.rs b/src/platform/windows.rs index 4fc134914..074b3ccd1 100644 --- a/src/platform/windows.rs +++ b/src/platform/windows.rs @@ -546,7 +546,7 @@ async fn launch_server(session_id: DWORD, close_first: bool) -> ResultType> = Arc::new(Mutex::new(Instant::now())); + static ref SUPPRESS: Arc> = Arc::new(Mutex::new(Instant::now())); } pub fn desktop_changed() -> bool { @@ -617,7 +617,7 @@ pub fn try_change_desktop() -> bool { if inputDesktopSelected() == FALSE { let res = selectInputDesktop() == TRUE; if !res { - let mut s = SUPRESS.lock().unwrap(); + let mut s = SUPPRESS.lock().unwrap(); if s.elapsed() > std::time::Duration::from_secs(3) { log::error!("Failed to switch desktop: {}", get_error()); *s = Instant::now(); diff --git a/src/server/connection.rs b/src/server/connection.rs index 0ed2338d5..e8eae4fe1 100644 --- a/src/server/connection.rs +++ b/src/server/connection.rs @@ -120,13 +120,13 @@ impl Connection { return; } if !conn.keyboard { - conn.send_permisssion(Permission::Keyboard, false).await; + conn.send_permission(Permission::Keyboard, false).await; } if !conn.clipboard { - conn.send_permisssion(Permission::Clipboard, false).await; + conn.send_permission(Permission::Clipboard, false).await; } if !conn.audio { - conn.send_permisssion(Permission::Audio, false).await; + conn.send_permission(Permission::Audio, false).await; } let mut test_delay_timer = time::interval_at(Instant::now() + TEST_DELAY_TIMEOUT, TEST_DELAY_TIMEOUT); @@ -164,7 +164,7 @@ impl Connection { log::info!("Change permission {} -> {}", name, enabled); if &name == "keyboard" { conn.keyboard = enabled; - conn.send_permisssion(Permission::Keyboard, enabled).await; + conn.send_permission(Permission::Keyboard, enabled).await; if let Some(s) = conn.server.upgrade() { s.write().unwrap().subscribe( NAME_CURSOR, @@ -172,7 +172,7 @@ impl Connection { } } else if &name == "clipboard" { conn.clipboard = enabled; - conn.send_permisssion(Permission::Clipboard, enabled).await; + conn.send_permission(Permission::Clipboard, enabled).await; if let Some(s) = conn.server.upgrade() { s.write().unwrap().subscribe( super::clipboard_service::NAME, @@ -180,7 +180,7 @@ impl Connection { } } else if &name == "audio" { conn.audio = enabled; - conn.send_permisssion(Permission::Audio, enabled).await; + conn.send_permission(Permission::Audio, enabled).await; if let Some(s) = conn.server.upgrade() { s.write().unwrap().subscribe( super::audio_service::NAME, @@ -331,7 +331,7 @@ impl Connection { } } - async fn send_permisssion(&mut self, permission: Permission, enabled: bool) { + async fn send_permission(&mut self, permission: Permission, enabled: bool) { let mut misc = Misc::new(); misc.set_permission_info(PermissionInfo { permission: permission.into(), diff --git a/src/server/service.rs b/src/server/service.rs index b60f5a8d4..150cccb75 100644 --- a/src/server/service.rs +++ b/src/server/service.rs @@ -34,7 +34,7 @@ pub trait Reset { pub struct ServiceTmpl>(Arc>>); pub struct ServiceSwap>(ServiceTmpl); pub type GenericService = ServiceTmpl; -pub const HIBERATE_TIMEOUT: u64 = 30; +pub const HIBERNATE_TIMEOUT: u64 = 30; pub const MAX_ERROR_TIMEOUT: u64 = 1_000; impl> ServiceInner { @@ -191,7 +191,7 @@ impl> ServiceTmpl { let sp = self.clone(); let mut callback = callback; let thread = thread::spawn(move || { - let mut error_timeout = HIBERATE_TIMEOUT; + let mut error_timeout = HIBERNATE_TIMEOUT; while sp.active() { if sp.has_subscribes() { log::debug!("Enter {} service inner loop", sp.name()); @@ -199,7 +199,7 @@ impl> ServiceTmpl { if let Err(err) = callback(sp.clone()) { log::error!("Error of {} service: {}", sp.name(), err); if tm.elapsed() > time::Duration::from_millis(MAX_ERROR_TIMEOUT) { - error_timeout = HIBERATE_TIMEOUT; + error_timeout = HIBERNATE_TIMEOUT; } else { error_timeout *= 2; } @@ -213,7 +213,7 @@ impl> ServiceTmpl { log::debug!("Exit {} service inner loop", sp.name()); } } - thread::sleep(time::Duration::from_millis(HIBERATE_TIMEOUT)); + thread::sleep(time::Duration::from_millis(HIBERNATE_TIMEOUT)); } }); self.0.write().unwrap().handle = Some(thread);