Skip to content

Commit

Permalink
Skip link local addresses while checking for redundant announcements …
Browse files Browse the repository at this point in the history
…or query packets (#235)
  • Loading branch information
hrzlgnm authored Aug 6, 2024
1 parent b1a173a commit 1e9840f
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions src/service_daemon.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1205,11 +1205,13 @@ impl Zeroconf {

for (_, intf_sock) in self.intf_socks.iter() {
let subnet = ifaddr_subnet(&intf_sock.intf.addr);
if subnet_set.contains(&subnet) {
if !intf_sock.intf.is_link_local() && subnet_set.contains(&subnet) {
continue; // no need to send again in the same subnet.
}
if self.broadcast_service_on_intf(info, intf_sock) {
subnet_set.insert(subnet);
if !intf_sock.intf.is_link_local() {
subnet_set.insert(subnet);
}
outgoing_addrs.push(intf_sock.intf.ip());
}
}
Expand Down Expand Up @@ -1400,11 +1402,13 @@ impl Zeroconf {

let mut subnet_set: HashSet<u128> = HashSet::new();
for (_, intf_sock) in self.intf_socks.iter() {
let subnet = ifaddr_subnet(&intf_sock.intf.addr);
if subnet_set.contains(&subnet) {
continue; // no need to send query the same subnet again.
if !intf_sock.intf.is_link_local() {
let subnet = ifaddr_subnet(&intf_sock.intf.addr);
if subnet_set.contains(&subnet) {
continue; // no need to send query the same subnet again.
}
subnet_set.insert(subnet);
}
subnet_set.insert(subnet);
broadcast_dns_on_intf(&out, intf_sock);
}
}
Expand Down

0 comments on commit 1e9840f

Please sign in to comment.