From 57cf92f74148307fd63cb01d27040e2617c91a42 Mon Sep 17 00:00:00 2001 From: Vishal Chillara Srinivas Date: Fri, 13 Oct 2023 14:36:06 +0530 Subject: [PATCH] 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. --- src/resolve/resolved-dns-scope.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/resolve/resolved-dns-scope.c b/src/resolve/resolved-dns-scope.c index 35085a6ef57..cd5945eb000 100644 --- a/src/resolve/resolved-dns-scope.c +++ b/src/resolve/resolved-dns-scope.c @@ -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. */ -- 2.47.3