summaryrefslogtreecommitdiffstats
path: root/src/resolve/resolved-dns-scope.c
diff options
context:
space:
mode:
authorVishal Chillara Srinivas <vishal.chillarasrinivas@philips.com>2023-10-13 11:06:06 +0200
committerDaan De Meyer <daan.j.demeyer@gmail.com>2023-10-16 09:21:51 +0200
commit57cf92f74148307fd63cb01d27040e2617c91a42 (patch)
tree161585b658588a233fc9d42fd3aa8e31997db067 /src/resolve/resolved-dns-scope.c
parentfuzz: Add fuzzer for efi conf/osrel parsing (diff)
downloadsystemd-57cf92f74148307fd63cb01d27040e2617c91a42.tar.xz
systemd-57cf92f74148307fd63cb01d27040e2617c91a42.zip
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.
Diffstat (limited to '')
-rw-r--r--src/resolve/resolved-dns-scope.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/resolve/resolved-dns-scope.c b/src/resolve/resolved-dns-scope.c
index 35085a6ef5..cd5945eb00 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. */