summaryrefslogtreecommitdiff
path: root/source4/libcli/resolve/dns_ex.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/libcli/resolve/dns_ex.c')
-rw-r--r--source4/libcli/resolve/dns_ex.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/source4/libcli/resolve/dns_ex.c b/source4/libcli/resolve/dns_ex.c
index 20f2c0c03ae..9467521394e 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;