resolve: fix no mDNS announcement after probing

According to RFC 6762 section 8, an mDNS responder is supposed to announce its
records after probing.
Currently, there is a check in dns_scope_announce which returns if there are any
pending transactions. This prevents announcements from being sent out even if there
are pending non-probe transactions.

To fix this, return only if there are active probe transactions.
This commit is contained in:
Vishal Chillara Srinivas 2023-10-13 14:36:06 +05:30 committed by Daan De Meyer
parent e9e40862de
commit 57cf92f741

View file

@ -1420,7 +1420,7 @@ int dns_scope_announce(DnsScope *scope, bool goodbye) {
/* Check if we're done with probing. */
LIST_FOREACH(transactions_by_scope, t, scope->transactions)
if (DNS_TRANSACTION_IS_LIVE(t->state))
if (t->probing && DNS_TRANSACTION_IS_LIVE(t->state))
return 0;
/* Check if there're services pending conflict resolution. */