diff options
Diffstat (limited to 'source4/torture')
-rw-r--r-- | source4/torture/rpc/dssync.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/source4/torture/rpc/dssync.c b/source4/torture/rpc/dssync.c index 5e5929f734..860c3ebfcf 100644 --- a/source4/torture/rpc/dssync.c +++ b/source4/torture/rpc/dssync.c @@ -538,8 +538,10 @@ static bool test_analyse_objects(struct torture_context *tctx, } } - drs_msg = ldb_msg_canonicalize(ldb, objs->objects[i].msg); - talloc_steal(search_req, drs_msg); + ret = ldb_msg_normalize(ldb, search_req, + objs->objects[i].msg, &drs_msg); + torture_assert(tctx, ret == LDB_SUCCESS, + "ldb_msg_normalize() has failed"); for (j=0; j < drs_msg->num_elements; j++) { if (drs_msg->elements[j].num_values == 0) { @@ -575,8 +577,9 @@ static bool test_analyse_objects(struct torture_context *tctx, } - new_msg = ldb_msg_diff(ldb, drs_msg, ldap_msg); - talloc_steal(search_req, new_msg); + ret = ldb_msg_difference(ldb, search_req, + drs_msg, ldap_msg, &new_msg); + torture_assert(tctx, ret == LDB_SUCCESS, "ldb_msg_difference() has failed"); if (new_msg->num_elements != 0) { char *s; struct ldb_ldif ldif; @@ -585,7 +588,9 @@ static bool test_analyse_objects(struct torture_context *tctx, s = ldb_ldif_write_string(ldb, new_msg, &ldif); s = talloc_asprintf(tctx, "\n# Difference in between DRS and LDAP objects: \n%s\n", s); - ldif.msg = ldb_msg_diff(ldb, ldap_msg, drs_msg); + ret = ldb_msg_difference(ldb, search_req, + ldap_msg, drs_msg, &ldif.msg); + torture_assert(tctx, ret == LDB_SUCCESS, "ldb_msg_difference() has failed"); s = talloc_asprintf_append(s, "\n# Difference in between LDAP and DRS objects: \n%s\n", ldb_ldif_write_string(ldb, new_msg, &ldif)); |