Andrew Bartlett wrote:
On Tue, 2008-05-27 at 18:43 -0700, Howard Chu wrote:
Andrew Bartlett wrote:
On Tue, 2008-05-27 at 18:22 -0700, Howard Chu wrote:
This needs to occur even between databases on the server, but I won't ask that it occur outside the known trees.
It's already possible for operations in one database to reference entries in a different database, so that aspect of validation should be fine. However, as noted before, "validation" is generally bogus to begin with. In particular, how do you create entries with circular references? If you disallow references to nonexistent entries, you can't set the references until after all of the entries have been created. This means that you cannot backup a database that has these references and then later reload it in a single pass.
An interesting point, but I need to match the windows runtime behaviour.
Only when it has a visible impact on other clients. What software will break if the directory allows you to add new entries that contain dangling references? What will break if the directory allows you to modify a reference attribute to point to a nonexistent entry?
Sure, I'm not asking for a change to default behaviours. I'm listing the things that our testsuite finds are differences, and looking for solutions.
I don't believe your proposed solution will ever be satisfactory. Entries with circular references will also break syncrepl Refresh if the constraint you're asking for is enforced. That will clearly have visible impact in many deployments. If the only thing that complains with the current behavior is your testsuite and not any real world clients, I suggest you just note the difference and move on.
There's a lot of Windows behavior that is clearly wrong, by any number of metrics. You need to be a bit more selective in prioritizing the list of things to chase down.
This is the currently the top priority for an LDAP Backend for Samba4.