]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
resolved: return org.freedesktop.resolve1.DnsError.NXDOMAIN on LLMNR resolution failure
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 20 Apr 2020 11:52:35 +0000 (13:52 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 20 Apr 2020 13:33:18 +0000 (15:33 +0200)
Fixes #14922.

src/resolve/resolved-dns-transaction.c

index fb54d160da4fa754f751b0b25a2d5e4ecbe7412b..5898308d5fa46f6060d0c83c4743028ce49dee86 100644 (file)
@@ -1350,7 +1350,16 @@ static int dns_transaction_prepare(DnsTransaction *t, usec_t ts) {
         }
 
         if (t->n_attempts >= TRANSACTION_ATTEMPTS_MAX(t->scope->protocol)) {
-                dns_transaction_complete(t, DNS_TRANSACTION_ATTEMPTS_MAX_REACHED);
+                DnsTransactionState result;
+
+                if (t->scope->protocol == DNS_PROTOCOL_LLMNR)
+                        /* If we didn't find anything on LLMNR, it's not an error, but a failure to resolve
+                         * the name. */
+                        result = DNS_TRANSACTION_NOT_FOUND;
+                else
+                        result = DNS_TRANSACTION_ATTEMPTS_MAX_REACHED;
+
+                dns_transaction_complete(t, result);
                 return 0;
         }