return;
}
- if (manager_our_packet(scope->manager, p))
+ if (manager_packet_from_local_address(scope->manager, p))
return;
r = dns_packet_extract(p);
assert(t);
assert(p);
+ assert(t->scope->protocol == DNS_PROTOCOL_LLMNR);
- if (manager_our_packet(t->scope->manager, p) != 0)
+ if (manager_packet_from_local_address(t->scope->manager, p) != 0)
return;
(void) in_addr_to_string(p->family, &p->sender, &pretty);
if (r <= 0)
return r;
- if (manager_our_packet(m, p))
+ if (manager_packet_from_local_address(m, p))
return 0;
scope = manager_find_scope(m, p);
return NULL;
}
-bool manager_our_packet(Manager *m, DnsPacket *p) {
+bool manager_packet_from_local_address(Manager *m, DnsPacket *p) {
assert(m);
assert(p);
+ /* Let's see if this packet comes from an IP address we have on any local interface */
+
return !!manager_find_link_address(m, p->family, &p->sender);
}
void manager_refresh_rrs(Manager *m);
int manager_next_hostname(Manager *m);
-bool manager_our_packet(Manager *m, DnsPacket *p);
+bool manager_packet_from_local_address(Manager *m, DnsPacket *p);
DnsScope* manager_find_scope(Manager *m, DnsPacket *p);
void manager_verify_all(Manager *m);
if (r <= 0)
return r;
- if (manager_our_packet(m, p))
+ if (manager_packet_from_local_address(m, p))
return 0;
scope = manager_find_scope(m, p);