]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s4: libcli: Ignore errors when getting A records after fetching AAAA records.
authorJeremy Allison <jra@samba.org>
Tue, 8 Nov 2022 18:13:18 +0000 (10:13 -0800)
committerJule Anger <janger@samba.org>
Mon, 16 Jan 2023 10:47:49 +0000 (10:47 +0000)
The target may only be available over IPv6.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15226

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Wed Nov  9 20:34:07 UTC 2022 on sn-devel-184

(cherry picked from commit 10537a89bb0b461ba31d614b7c9ed56a842422e7)

Autobuild-User(v4-16-test): Jule Anger <janger@samba.org>
Autobuild-Date(v4-16-test): Mon Jan 16 10:47:49 UTC 2023 on sn-devel-184

source4/libcli/resolve/dns_ex.c

index 0bb3ba022872c5cf696665b9c914e49b4e519181..b8447bec4de25802018c89ac9cad89501269e61e 100644 (file)
@@ -245,13 +245,15 @@ static struct dns_records_container get_a_aaaa_records(TALLOC_CTX *mem_ctx,
                * Most of the server do it, let's ask for A specificaly.
                */
                err = dns_lookup(tmp_ctx, name, QTYPE_A, &reply);
-               if (!ERR_DNS_IS_OK(err)) {
-                       goto done;
-               }
-
-               total = reply_to_addrs(tmp_ctx, &a_num, &addrs, total,
+               if (ERR_DNS_IS_OK(err)) {
+                       /*
+                        * Ignore an error here and just return any AAAA
+                        * records we already got. This may be an IPv6-only
+                        * config.
+                        */
+                       total = reply_to_addrs(tmp_ctx, &a_num, &addrs, total,
                                        reply, port);
-
+               }
        }
 
        if (total) {