summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
authorKamen Mazdrashki <kamenim@samba.org>2010-08-19 03:17:36 +0300
committerKamen Mazdrashki <kamenim@samba.org>2010-08-19 03:34:05 +0300
commit89899f55dc1fb137a0adfd734c87b65039f598a4 (patch)
tree49ae92490072731b6def680cc3dc227a8f52df2c /source4
parente05027401f4733e43b62148fa5c59559f49b4c1b (diff)
downloadsamba-89899f55dc1fb137a0adfd734c87b65039f598a4.tar.gz
samba-89899f55dc1fb137a0adfd734c87b65039f598a4.tar.bz2
samba-89899f55dc1fb137a0adfd734c87b65039f598a4.zip
s4-drs: ATTIDs for deleted attributes should be based on msDs-IntId value if it exists
Diffstat (limited to 'source4')
-rw-r--r--source4/dsdb/schema/schema_syntax.c4
-rw-r--r--source4/rpc_server/drsuapi/getncchanges.c3
2 files changed, 4 insertions, 3 deletions
diff --git a/source4/dsdb/schema/schema_syntax.c b/source4/dsdb/schema/schema_syntax.c
index 213871bc53..db53aea612 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 6b3f5ddca3..23edf6d4b4 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]);