summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2009-12-21 21:12:19 +1100
committerAndrew Tridgell <tridge@samba.org>2010-01-02 08:16:52 +1100
commit5bf257fa9ba32ec31886be34edff35eb41f885d4 (patch)
tree573c2bb0a0871002bbc683144398a5a113022c36
parent7653f56bd48859dce2481ef1e7ee885b25bfc709 (diff)
downloadsamba-5bf257fa9ba32ec31886be34edff35eb41f885d4.tar.gz
samba-5bf257fa9ba32ec31886be34edff35eb41f885d4.tar.bz2
samba-5bf257fa9ba32ec31886be34edff35eb41f885d4.zip
s4-drs: use the extended linearized form for DRS replication
We were sending zero GUIDs. Not good! Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
-rw-r--r--source4/rpc_server/drsuapi/getncchanges.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/source4/rpc_server/drsuapi/getncchanges.c b/source4/rpc_server/drsuapi/getncchanges.c
index b48bc68293..18c9242a10 100644
--- a/source4/rpc_server/drsuapi/getncchanges.c
+++ b/source4/rpc_server/drsuapi/getncchanges.c
@@ -239,7 +239,6 @@ static WERROR get_nc_changes_add_la(TALLOC_CTX *mem_ctx,
const struct dsdb_schema *schema,
const struct dsdb_attribute *sa,
struct ldb_message *msg,
- struct ldb_message_element *el,
struct dsdb_dn *dsdb_dn,
struct drsuapi_DsReplicaLinkedAttribute **la_list,
uint32_t *la_count)
@@ -287,9 +286,9 @@ static WERROR get_nc_changes_add_la(TALLOC_CTX *mem_ctx,
}
/* we need a message_element with just one value in it */
- v = data_blob_string_const(dsdb_dn_get_linearized(*la_list, dsdb_dn));
+ v = data_blob_string_const(dsdb_dn_get_extended_linearized(*la_list, dsdb_dn, 1));
- val_el = *el;
+ val_el.name = sa->lDAPDisplayName;
val_el.values = &v;
val_el.num_values = 1;
@@ -298,7 +297,7 @@ static WERROR get_nc_changes_add_la(TALLOC_CTX *mem_ctx,
if (drs.value_ctr.num_values != 1) {
DEBUG(1,(__location__ ": Failed to build DRS blob for linked attribute %s in %s\n",
- el->name, ldb_dn_get_linearized(msg->dn)));
+ sa->lDAPDisplayName, ldb_dn_get_linearized(msg->dn)));
return WERR_DS_DRA_INTERNAL_ERROR;
}
@@ -379,7 +378,7 @@ static WERROR get_nc_changes_add_links(struct ldb_context *sam_ctx,
}
werr = get_nc_changes_add_la(mem_ctx, sam_ctx, schema, sa, msg,
- el, dsdb_dn, la_list, la_count);
+ dsdb_dn, la_list, la_count);
if (!W_ERROR_IS_OK(werr)) {
talloc_free(tmp_ctx);
return werr;