summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--selftest/knownfail1
-rw-r--r--source4/rpc_server/drsuapi/getncchanges.c12
2 files changed, 8 insertions, 5 deletions
diff --git a/selftest/knownfail b/selftest/knownfail
index 71b6fcfc864..397e53c1f08 100644
--- a/selftest/knownfail
+++ b/selftest/knownfail
@@ -286,4 +286,3 @@
^samba4.krb5.kdc.*as-req-aes.*fl2000dc
# nt4_member and ad_member don't support ntlmv1
^samba3.blackbox.smbclient_auth.plain.*_member.*option=clientntlmv2auth=no.member.creds.*as.user
-^samba4.drs.repl_schema.python.*repl_schema.DrsReplSchemaTestCase.test_classWithCustomLinkAttribute
diff --git a/source4/rpc_server/drsuapi/getncchanges.c b/source4/rpc_server/drsuapi/getncchanges.c
index f44a79a8a55..f002836da0f 100644
--- a/source4/rpc_server/drsuapi/getncchanges.c
+++ b/source4/rpc_server/drsuapi/getncchanges.c
@@ -410,7 +410,8 @@ static WERROR get_nc_changes_add_la(TALLOC_CTX *mem_ctx,
struct ldb_message *msg,
struct dsdb_dn *dsdb_dn,
struct drsuapi_DsReplicaLinkedAttribute **la_list,
- uint32_t *la_count)
+ uint32_t *la_count,
+ bool is_schema_nc)
{
struct drsuapi_DsReplicaLinkedAttribute *la;
bool active;
@@ -482,7 +483,7 @@ static WERROR get_nc_changes_add_la(TALLOC_CTX *mem_ctx,
return WERR_OK;
}
}
- la->attid = dsdb_attribute_get_attid(sa, false);
+ la->attid = dsdb_attribute_get_attid(sa, is_schema_nc);
la->flags = active?DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE:0;
status = dsdb_get_extended_dn_uint32(dsdb_dn->dn, &la->meta_data.version, "RMD_VERSION");
@@ -531,6 +532,7 @@ static WERROR get_nc_changes_add_la(TALLOC_CTX *mem_ctx,
static WERROR get_nc_changes_add_links(struct ldb_context *sam_ctx,
TALLOC_CTX *mem_ctx,
struct ldb_dn *ncRoot_dn,
+ bool is_schema_nc,
struct dsdb_schema *schema,
uint64_t highest_usn,
uint32_t replica_flags,
@@ -594,8 +596,9 @@ static WERROR get_nc_changes_add_links(struct ldb_context *sam_ctx,
continue;
}
- werr = get_nc_changes_add_la(mem_ctx, sam_ctx, schema, sa, msg,
- dsdb_dn, la_list, la_count);
+ werr = get_nc_changes_add_la(mem_ctx, sam_ctx, schema,
+ sa, msg, dsdb_dn, la_list,
+ la_count, is_schema_nc);
if (!W_ERROR_IS_OK(werr)) {
talloc_free(tmp_ctx);
return werr;
@@ -2097,6 +2100,7 @@ allowed:
werr = get_nc_changes_add_links(sam_ctx, getnc_state,
getnc_state->ncRoot_dn,
+ getnc_state->is_schema_nc,
schema, getnc_state->min_usn,
req10->replica_flags,
msg,