From 192e54c91d007268e127e4ce4f95972c9492b540 Mon Sep 17 00:00:00 2001 From: Garming Sam Date: Wed, 27 Jul 2016 14:22:39 +1200 Subject: [PATCH] rpc_server/drsuapi: Don't set msDS_IntId as attid for linked attributes if schema Signed-off-by: Garming Sam Reviewed-by: Andrew Bartlett --- selftest/knownfail | 1 - source4/rpc_server/drsuapi/getncchanges.c | 12 ++++++++---- 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, -- 2.11.4.GIT