summaryrefslogtreecommitdiff
path: root/source4/torture/drs/rpc/dssync.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/torture/drs/rpc/dssync.c')
-rw-r--r--source4/torture/drs/rpc/dssync.c64
1 files changed, 4 insertions, 60 deletions
diff --git a/source4/torture/drs/rpc/dssync.c b/source4/torture/drs/rpc/dssync.c
index 641a537298..5a7ceb8dc5 100644
--- a/source4/torture/drs/rpc/dssync.c
+++ b/source4/torture/drs/rpc/dssync.c
@@ -335,67 +335,11 @@ static bool test_analyse_objects(struct torture_context *tctx,
const char *err_msg;
struct dsdb_schema *ldap_schema;
+ /* load dsdb_schema using remote prefixMap */
+ torture_assert(tctx,
+ drs_util_dsdb_schema_load_ldb(tctx, ldb, mapping_ctr, false),
+ "drs_util_dsdb_schema_load_ldb() failed");
ldap_schema = dsdb_get_schema(ldb, NULL);
- if (!ldap_schema) {
- struct ldb_result *a_res;
- struct ldb_result *c_res;
- struct ldb_dn *schema_dn = ldb_get_schema_basedn(ldb);
- ldap_schema = dsdb_new_schema(ctx);
- if (!ldap_schema) {
- return false;
- }
- status = dsdb_load_prefixmap_from_drsuapi(ldap_schema, mapping_ctr);
-
- /*
- * load the attribute definitions
- */
- ret = ldb_search(ldb, ldap_schema, &a_res,
- schema_dn, LDB_SCOPE_ONELEVEL, NULL,
- "(objectClass=attributeSchema)");
- if (ret != LDB_SUCCESS) {
- err_msg = talloc_asprintf(tctx,
- "failed to search attributeSchema objects: %s",
- ldb_errstring(ldb));
- torture_fail(tctx, err_msg);
- }
-
- /*
- * load the objectClass definitions
- */
- ret = ldb_search(ldb, ldap_schema, &c_res,
- schema_dn, LDB_SCOPE_ONELEVEL, NULL,
- "(objectClass=classSchema)");
- if (ret != LDB_SUCCESS) {
- err_msg = talloc_asprintf(tctx,
- "failed to search classSchema objects: %s",
- ldb_errstring(ldb));
- torture_fail(tctx, err_msg);
- }
-
- /* Build schema */
- for (i=0; i < a_res->count; i++) {
- status = dsdb_attribute_from_ldb(ldb, ldap_schema, a_res->msgs[i]);
- torture_assert_werr_ok(tctx, status,
- talloc_asprintf(tctx,
- "dsdb_attribute_from_ldb() failed for: %s",
- ldb_dn_get_linearized(a_res->msgs[i]->dn)));
- }
-
- for (i=0; i < c_res->count; i++) {
- status = dsdb_class_from_ldb(ldap_schema, c_res->msgs[i]);
- torture_assert_werr_ok(tctx, status,
- talloc_asprintf(tctx,
- "dsdb_class_from_ldb() failed for: %s",
- ldb_dn_get_linearized(c_res->msgs[i]->dn)));
- }
- talloc_free(a_res);
- talloc_free(c_res);
- ret = dsdb_set_schema(ldb, ldap_schema);
- if (ret != LDB_SUCCESS) {
- torture_fail(tctx,
- talloc_asprintf(tctx, "dsdb_set_schema() failed: %s", ldb_strerror(ret)));
- }
- }
status = dsdb_extended_replicated_objects_convert(ldb,
partition,