From 89899f55dc1fb137a0adfd734c87b65039f598a4 Mon Sep 17 00:00:00 2001 From: Kamen Mazdrashki Date: Thu, 19 Aug 2010 03:17:36 +0300 Subject: [PATCH] s4-drs: ATTIDs for deleted attributes should be based on msDs-IntId value if it exists --- source4/dsdb/schema/schema_syntax.c | 4 ++-- source4/rpc_server/drsuapi/getncchanges.c | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/source4/dsdb/schema/schema_syntax.c b/source4/dsdb/schema/schema_syntax.c index 213871bc538..db53aea612a 100644 --- a/source4/dsdb/schema/schema_syntax.c +++ b/source4/dsdb/schema/schema_syntax.c @@ -57,8 +57,8 @@ void dsdb_syntax_ctx_init(struct dsdb_syntax_ctx *ctx, * Schema NC or msDs-IntId is set for schemaAttribute * for the attribute. */ -static uint32_t dsdb_attribute_get_attid(const struct dsdb_attribute *attr, - bool for_schema_nc) +uint32_t dsdb_attribute_get_attid(const struct dsdb_attribute *attr, + bool for_schema_nc) { if (!for_schema_nc && attr->msDS_IntId) { return attr->msDS_IntId; diff --git a/source4/rpc_server/drsuapi/getncchanges.c b/source4/rpc_server/drsuapi/getncchanges.c index 6b3f5ddca3c..23edf6d4b4a 100644 --- a/source4/rpc_server/drsuapi/getncchanges.c +++ b/source4/rpc_server/drsuapi/getncchanges.c @@ -269,7 +269,8 @@ static WERROR get_nc_changes_build_object(struct drsuapi_DsReplicaObjectListItem DEBUG(5,("No element '%s' for attributeID %u in message\n", sa->lDAPDisplayName, attids[i])); ZERO_STRUCT(obj->object.attribute_ctr.attributes[i]); - obj->object.attribute_ctr.attributes[i].attid = attids[i]; + obj->object.attribute_ctr.attributes[i].attid = + dsdb_attribute_get_attid(sa, syntax_ctx.is_schema_nc); } else { werr = sa->syntax->ldb_to_drsuapi(&syntax_ctx, sa, el, obj, &obj->object.attribute_ctr.attributes[i]); -- 2.34.1