[PATCH] s4-drs: replmd_delete implementation

Eduardo Lima eduardoll at gmail.com
Mon Dec 7 10:48:37 MST 2009


Hi Tridge,

Sorry for the late answer. The two last weeks were very difficult here. Now
I'm working hard on this task to delivery it faster.

>I think though that dsdb_get_deleted_objects_dn() needs to be redone
> to take a DN argument, as the correct Deleted Objects container is
> different depending on what DN is being deleted. So I think you should
> probably first write a function which finds the root of a NC given a
> DN, and then construct the Deleted Objects DN from that. The function
> to find the root of a NC might look like this:
>
>  struct ldb_dn *dsdb_find_nc_root(struct ldb_context *samdb, const struct
ldb_dn *dn);
>
> it could operate in a couple of different ways. One possibility is to
> get the list of naming contexts from the rootDSE and then find the NC
> that matches the DN that is passed in. To make this easy you would
> sort the DNs from the list of naming contexts using a function similar
> to partition_sort_compare(). You'd then find the matching one by
> calling ldb_dn_compare_base().

I've updated my repository to a new version of replmd_delete that uses
dsdb_find_nc_root (that code in the repository is currently not working..
it's just there to show it to you). I also created two new functions inside
util.c to help in the sorting of namingContexts. Is there a better place to
put these functions?



More information about the samba-technical mailing list