summaryrefslogtreecommitdiff
path: root/source4/dsdb/samdb
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2009-12-21 21:18:31 +1100
committerAndrew Tridgell <tridge@samba.org>2010-01-02 08:16:53 +1100
commit0d5d7f58473c989bff4d7f7d65da31f9b037de3a (patch)
treebcc25df2dfb75284f71cd79f0fa39b367c6d51b6 /source4/dsdb/samdb
parent0c2afdd5a95c247eb8e7ce7d721ac61fb111220c (diff)
downloadsamba-0d5d7f58473c989bff4d7f7d65da31f9b037de3a.tar.gz
samba-0d5d7f58473c989bff4d7f7d65da31f9b037de3a.tar.bz2
samba-0d5d7f58473c989bff4d7f7d65da31f9b037de3a.zip
s4-drs: treat a zero GUID as not present in replmd_add_fix_la
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source4/dsdb/samdb')
-rw-r--r--source4/dsdb/samdb/ldb_modules/repl_meta_data.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
index 87868354a9..6e0c9b44e5 100644
--- a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
+++ b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
@@ -618,9 +618,12 @@ static int replmd_add_fix_la(struct ldb_module *module, struct ldb_message_eleme
/* note that the DN already has the extended
components from the extended_dn_store module */
status = dsdb_get_extended_dn_guid(dsdb_dn->dn, &target_guid, "GUID");
- if (!NT_STATUS_IS_OK(status)) {
- talloc_free(tmp_ctx);
- return LDB_ERR_OPERATIONS_ERROR;
+ if (!NT_STATUS_IS_OK(status) || GUID_all_zero(&target_guid)) {
+ ret = dsdb_module_guid_by_dn(module, dsdb_dn->dn, &target_guid);
+ if (ret != LDB_SUCCESS) {
+ talloc_free(tmp_ctx);
+ return ret;
+ }
}
ret = replmd_add_backlink(module, schema, guid, &target_guid, true, sa, false);