From 76a07fe9a11a0f2ad515704243df2c0771b7799c Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Sun, 30 Oct 2016 23:54:44 +0100 Subject: [PATCH] s4:repl_meta_data: normalize rdn attribute name via the schema BUG: https://bugzilla.samba.org/show_bug.cgi?id=12399 Signed-off-by: Stefan Metzmacher Autobuild-User(master): Andrew Bartlett Autobuild-Date(master): Thu Dec 8 17:16:47 CET 2016 on sn-devel-144 (cherry picked from commit ec0297bbd0110f8bfddda2e21d94a882094d1c11) --- source4/dsdb/samdb/ldb_modules/repl_meta_data.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c index 7a5906e..73f7d0e 100644 --- a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c +++ b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c @@ -1446,15 +1446,21 @@ static int replmd_update_rpmd_rdn_attr(struct ldb_context *ldb, NTTIME now, bool is_schema_nc) { + const char *rdn_name = ldb_dn_get_rdn_name(msg->dn); + const struct dsdb_attribute *rdn_attr = + dsdb_attribute_by_lDAPDisplayName(ar->schema, rdn_name); + const char *attr_name = rdn_attr != NULL ? + rdn_attr->lDAPDisplayName : + rdn_name; struct ldb_message_element new_el = { .flags = LDB_FLAG_MOD_REPLACE, - .name = ldb_dn_get_rdn_name(msg->dn), + .name = attr_name, .num_values = 1, .values = discard_const_p(struct ldb_val, rdn_new) }; struct ldb_message_element old_el = { .flags = LDB_FLAG_MOD_REPLACE, - .name = ldb_dn_get_rdn_name(msg->dn), + .name = attr_name, .num_values = rdn_old ? 1 : 0, .values = discard_const_p(struct ldb_val, rdn_old) }; -- 1.9.1