From: Jeremy Allison Date: Tue, 8 Nov 2022 18:13:18 +0000 (-0800) Subject: s4: libcli: Ignore errors when getting A records after fetching AAAA records. X-Git-Tag: samba-4.16.9~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7b49569afcb968a5ac4b4fdd96480bb7b8ab01b7;p=thirdparty%2Fsamba.git 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) Autobuild-User(v4-16-test): Jule Anger Autobuild-Date(v4-16-test): Mon Jan 16 10:47:49 UTC 2023 on sn-devel-184 --- 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) {