diff options
Diffstat (limited to 'source4/libcli/resolve/dns_ex.c')
-rw-r--r-- | source4/libcli/resolve/dns_ex.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/source4/libcli/resolve/dns_ex.c b/source4/libcli/resolve/dns_ex.c index 20f2c0c03a..9467521394 100644 --- a/source4/libcli/resolve/dns_ex.c +++ b/source4/libcli/resolve/dns_ex.c @@ -89,6 +89,14 @@ static uint32_t count_dns_rr(struct rk_resource_record *head, unsigned record_ty continue; } + if (rr->type == rk_ns_t_ns) { + /* + * Record that will follow will be related to the NS + * not what we are really interested with. + * It's a good idea not to count them + */ + break; + } /* we are only interested by requested record */ if (rr->type != record_type) { continue; @@ -234,6 +242,14 @@ static struct dns_records_container get_a_aaaa_records(TALLOC_CTX *mem_ctx, continue; } + if (rr->type == rk_ns_t_ns) { + /* + * After the record for NS will come the A or AAAA + * record of the NS. + */ + break; + } + /* we are only interested in A and AAAA records */ if (rr->type != rk_ns_t_a && rr->type != rk_ns_t_aaaa) { continue; |