no mask check for wol to avoid unexpected bug

This commit is contained in:
rustdesk 2023-06-17 00:17:56 +08:00
parent fe8ab49827
commit 82d6032655
2 changed files with 8 additions and 15 deletions

View File

@ -1905,7 +1905,7 @@ pub async fn handle_test_delay(t: TestDelay, peer: &mut Stream) {
/// Whether is track pad scrolling. /// Whether is track pad scrolling.
#[inline] #[inline]
#[cfg(all(target_os = "macos"))] #[cfg(all(target_os = "macos", not(feature = "flutter")))]
fn check_scroll_on_mac(mask: i32, x: i32, y: i32) -> bool { fn check_scroll_on_mac(mask: i32, x: i32, y: i32) -> bool {
// flutter version we set mask type bit to 4 when track pad scrolling. // flutter version we set mask type bit to 4 when track pad scrolling.
if mask & 7 == crate::input::MOUSE_TYPE_TRACKPAD { if mask & 7 == crate::input::MOUSE_TYPE_TRACKPAD {

View File

@ -73,21 +73,14 @@ pub fn send_wol(id: String) {
let interfaces = default_net::get_interfaces(); let interfaces = default_net::get_interfaces();
for peer in &config::LanPeers::load().peers { for peer in &config::LanPeers::load().peers {
if peer.id == id { if peer.id == id {
for (ip, mac) in peer.ip_mac.iter() { for (_, mac) in peer.ip_mac.iter() {
if let Ok(mac_addr) = mac.parse() { if let Ok(mac_addr) = mac.parse() {
if let Ok(IpAddr::V4(ip)) = ip.parse() { for interface in &interfaces {
for interface in &interfaces { for ipv4 in &interface.ipv4 {
for ipv4 in &interface.ipv4 { // remove below mask check to avoid unexpected bug
if (u32::from(ipv4.addr) & u32::from(ipv4.netmask)) // if (u32::from(ipv4.addr) & u32::from(ipv4.netmask)) == (u32::from(peer_ip) & u32::from(ipv4.netmask))
== (u32::from(ip) & u32::from(ipv4.netmask)) log::info!("Send wol to {mac_addr} of {}", ipv4.addr);
{ allow_err!(wol::send_wol(mac_addr, None, Some(IpAddr::V4(ipv4.addr))));
allow_err!(wol::send_wol(
mac_addr,
None,
Some(IpAddr::V4(ipv4.addr))
));
}
}
} }
} }
} }