1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-22 17:35:35 +03:00

resolve/mdns: do not append goodby packet entries to known answers section

When we receive a goodby packet about a host, and we have a cache entry about
the host, we do not immediately remove the cache entry, but update it with TTL 1.
See RFC 6762 section 10.1 and 3755027c2c.

If we receive a request soon after the goodby packet, previously the
entry was included in the known answers section of the reply. But such
information should not be appended.

Follow-up for 3755027c2c.
This commit is contained in:
Yu Watanabe 2024-01-03 04:36:47 +09:00 committed by Luca Boccassi
parent 7c2e495c75
commit 04d4086c22

View File

@ -1303,6 +1303,10 @@ int dns_cache_export_shared_to_packet(DnsCache *cache, DnsPacket *p, usec_t ts,
if (!j->shared_owner)
continue;
/* Ignore cached goodby packet. See on_mdns_packet() and RFC 6762 section 10.1. */
if (j->rr->ttl <= 1)
continue;
/* RFC6762 7.1: Don't append records with less than half the TTL remaining
* as known answers. */
if (usec_sub_unsigned(j->until, ts) < j->rr->ttl * USEC_PER_SEC / 2)