repl_meta_data: add some TODOs to replmd_modify_originating()
authorStefan Metzmacher <metze@samba.org>
Fri, 25 Jan 2008 07:08:33 +0000 (08:08 +0100)
committerStefan Metzmacher <metze@samba.org>
Fri, 25 Jan 2008 07:08:50 +0000 (08:08 +0100)
metze

source/dsdb/samdb/ldb_modules/repl_meta_data.c

index 5100b7cb7c89ea2e6a4bb9521b52980fd2b5c743..441dbc95983a9167079140c2949352ecc552a3ba 100644 (file)
@@ -509,6 +509,18 @@ static int replmd_modify_originating(struct ldb_module *module,
                return LDB_ERR_OPERATIONS_ERROR;
        }
 
                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;
        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 */
        ldb_set_timeout_from_prev_req(module->ldb, req, down_req);
 
        /* go on with the call chain */