From 1ed6c8cd07fe928074d70507caae864b9a3fc91d Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Tue, 8 Nov 2022 10:13:18 -0800 Subject: [PATCH] s4: libcli: Ignore errors when getting A records after fetching AAAA records. The target may only be available over IPv6. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15226 Signed-off-by: Jeremy Allison Reviewed-by: Stefan Metzmacher Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Wed Nov 9 20:34:07 UTC 2022 on sn-devel-184 (cherry picked from commit 10537a89bb0b461ba31d614b7c9ed56a842422e7) --- source4/libcli/resolve/dns_ex.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/source4/libcli/resolve/dns_ex.c b/source4/libcli/resolve/dns_ex.c index 0bb3ba02287..b8447bec4de 100644 --- a/source4/libcli/resolve/dns_ex.c +++ b/source4/libcli/resolve/dns_ex.c @@ -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) { -- 2.34.1