[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha8-1084-ga0df109
Andrew Tridgell
tridge at samba.org
Tue Aug 18 23:57:27 MDT 2009
The branch, master has been updated
via a0df109d663e76e6ab47a5c68bb68eb30c9ba4b0 (commit)
via e38f38fe484dda2db871b7c83d8132fd10f0cabd (commit)
from 8d0345e5a097fc4a0d297c089539bcd3702d4431 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit a0df109d663e76e6ab47a5c68bb68eb30c9ba4b0
Author: Andrew Tridgell <tridge at samba.org>
Date: Wed Aug 19 15:53:19 2009 +1000
added basic support for rename in DRS replication
Added simple DRS rename support in replication. This should be done
async, and I'm not sure if we should also do any repl data updates to
indicate the rename. I'm still learning how this stuff works, but at
least this allows a rename on a DC to propogate correctly
commit e38f38fe484dda2db871b7c83d8132fd10f0cabd
Author: Andrew Tridgell <tridge at samba.org>
Date: Wed Aug 19 15:51:07 2009 +1000
we need the Deleted Objects container for replication
When objects are deleted they get renamed to this container. The
container needs to exist when we provision
-----------------------------------------------------------------------
Summary of changes:
source4/dsdb/samdb/ldb_modules/repl_meta_data.c | 14 +++++++++-----
source4/setup/provision_configuration.ldif | 6 ++++++
2 files changed, 15 insertions(+), 5 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
index 53d6d07..5d4c486 100644
--- a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
+++ b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
@@ -751,15 +751,19 @@ static int replmd_replicated_apply_merge(struct replmd_replicated_request *ar)
omd.version = 1;
/*
- * TODO: add rename conflict handling
+ * TODO: check repl data is correct after a rename
*/
if (ldb_dn_compare(msg->dn, ar->search_msg->dn) != 0) {
- ldb_debug_set(ldb, LDB_DEBUG_FATAL, "replmd_replicated_apply_merge[%u]: rename not supported",
- ar->index_current);
- ldb_debug(ldb, LDB_DEBUG_FATAL, "%s => %s\n",
+ ldb_debug(ldb, LDB_DEBUG_TRACE, "replmd_replicated_request rename %s => %s\n",
ldb_dn_get_linearized(ar->search_msg->dn),
ldb_dn_get_linearized(msg->dn));
- return replmd_replicated_request_werror(ar, WERR_NOT_SUPPORTED);
+ if (ldb_rename(ldb, ar->search_msg->dn, msg->dn) != LDB_SUCCESS) {
+ ldb_debug(ldb, LDB_DEBUG_FATAL, "replmd_replicated_request rename %s => %s failed - %s\n",
+ ldb_dn_get_linearized(ar->search_msg->dn),
+ ldb_dn_get_linearized(msg->dn),
+ ldb_errstring(ldb));
+ return replmd_replicated_request_werror(ar, WERR_DS_DRA_DB_ERROR);
+ }
}
ret = ldb_sequence_number(ldb, LDB_SEQ_NEXT, &seq_num);
diff --git a/source4/setup/provision_configuration.ldif b/source4/setup/provision_configuration.ldif
index 4e0cc71..b3e0d83 100644
--- a/source4/setup/provision_configuration.ldif
+++ b/source4/setup/provision_configuration.ldif
@@ -687,6 +687,12 @@ objectClass: locality
objectClass: physicalLocation
l: Physical Locations tree root
+dn: CN=Deleted Objects,${CONFIGDN}
+objectClass: top
+objectClass: container
+description: Container for deleted objects
+isDeleted: TRUE
+
# Schema located in "ad-schema/*.txt"
dn: CN=Services,${CONFIGDN}
--
Samba Shared Repository
More information about the samba-cvs
mailing list