summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
Diffstat (limited to 'source4')
-rw-r--r--source4/dsdb/repl/drepl_out_helpers.c2
-rw-r--r--source4/libcli/resolve/dns_ex.c16
2 files changed, 17 insertions, 1 deletions
diff --git a/source4/dsdb/repl/drepl_out_helpers.c b/source4/dsdb/repl/drepl_out_helpers.c
index 8cfafb9527e..16825d400b5 100644
--- a/source4/dsdb/repl/drepl_out_helpers.c
+++ b/source4/dsdb/repl/drepl_out_helpers.c
@@ -845,7 +845,7 @@ static void dreplsrv_update_refs_done(struct tevent_req *subreq)
* running production as this error otherwise never happen and
* due to the fact the send a DsReplicaUpdateRefs after each getNcChanges
*/
- if (!W_ERROR_EQUAL(werr, WERR_DS_DRA_BUSY)) {
+ if (!W_ERROR_EQUAL(r->out.result, WERR_DS_DRA_BUSY)) {
tevent_req_nterror(req, status);
return;
}
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;