summaryrefslogtreecommitdiff
path: root/source4/dsdb/samdb
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2008-01-25 08:08:33 +0100
committerStefan Metzmacher <metze@samba.org>2008-01-25 08:08:50 +0100
commitb0e286a5be6137a0c5cd4029cdb3ae7abbd48b25 (patch)
treecf9e6594773edee3fb48987bafd1be41383bbcd7 /source4/dsdb/samdb
parent1b18de131c556280004dea6393e22547c9681fd9 (diff)
downloadsamba-b0e286a5be6137a0c5cd4029cdb3ae7abbd48b25.tar.gz
samba-b0e286a5be6137a0c5cd4029cdb3ae7abbd48b25.tar.bz2
samba-b0e286a5be6137a0c5cd4029cdb3ae7abbd48b25.zip
repl_meta_data: add some TODOs to replmd_modify_originating()
metze (This used to be commit ba495f9d19e7c7cfc9135a5d40e1050dd8f9ebc6)
Diffstat (limited to 'source4/dsdb/samdb')
-rw-r--r--source4/dsdb/samdb/ldb_modules/repl_meta_data.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
index 5100b7cb7c..441dbc9598 100644
--- a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
+++ b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
@@ -509,6 +509,18 @@ static int replmd_modify_originating(struct ldb_module *module,
return LDB_ERR_OPERATIONS_ERROR;
}
+ /* TODO:
+ * - get the whole old object
+ * - if the old object doesn't exist report an error
+ * - give an error when a readonly attribute should
+ * be modified
+ * - merge the changed into the old object
+ * if the caller set values to the same value
+ * ignore the attribute, return success when no
+ * attribute was changed
+ * - calculate the new replPropertyMetaData attribute
+ */
+
if (add_time_element(msg, "whenChanged", t) != 0) {
talloc_free(down_req);
return LDB_ERR_OPERATIONS_ERROR;
@@ -523,6 +535,11 @@ static int replmd_modify_originating(struct ldb_module *module,
}
}
+ /* TODO:
+ * - sort the attributes by attid with replmd_ldb_message_sort()
+ * - replace the old object with the newly constructed one
+ */
+
ldb_set_timeout_from_prev_req(module->ldb, req, down_req);
/* go on with the call chain */