Bugzilla will be upgraded to version 5.0 on a still to be determined date in the near future. The original upgrade date has been delayed.
Bug 164017 - Attribute uniqueness plugin doesn't deal with subtrees properly
Attribute uniqueness plugin doesn't deal with subtrees properly
Product: 389
Classification: Retired
Component: Server - Plugins (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Nathan Kinder
Orla Hegarty
Depends On:
  Show dependency treegraph
Reported: 2005-07-22 17:42 EDT by Nathan Kinder
Modified: 2007-04-18 13:29 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2005-10-14 13:53:59 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
CVS Diffs (883 bytes, patch)
2005-07-22 19:13 EDT, Nathan Kinder
no flags Details | Diff
CVS Commit (138 bytes, text/plain)
2005-08-01 14:10 EDT, Nathan Kinder
no flags Details

  None (edit)
Description Nathan Kinder 2005-07-22 17:42:23 EDT
Description of problem:

The documentation states that the attribute uniqueness plugin is supposed to
enforce uniqueness individually within each subtree that it is configured for. 
For example, if you configure the plugin to enforce uid uniqueness in both the
"ou=sales,dc=example,dc=com" and "ou=engineering,dc=example,dc=com" subtrees,
you should be able to create a "uid=test" entry in both subtrees, but not twice
in the same one.

What actually happens is that the plugin checks all of the subtrees it is
configured to work against for a conflict, and rejects the operation if it finds
a conflict, regardless of what suffix the incoming operation affects.
Steps to Reproduce:
1. Create "ou=sales,dc=example,dc=com" and "ou=engineering,dc=example,dc=com"

2. Enable the attribute uniqueness plugin to enforce uid uniqueness within the
"ou=sales,dc=example,dc=com" subtree.

3. Add "uid=tuser,ou=sales,dc=example,dc=com" to your database.

4. Attempt to add "uid=tuser,ou=engineering,dc=example,dc=com" to your database.
Actual results: The operation will be rejected by the plugin with a constraint

Expected results: The entry should be added.
Comment 1 Nathan Kinder 2005-07-22 19:13:31 EDT
Created attachment 117086 [details]
CVS Diffs

This makes the plugin check if the target DN for the incoming operation applies
to a subtree before searching for a conflict within it.
Comment 2 Nathan Kinder 2005-08-01 14:10:12 EDT
Created attachment 117350 [details]
CVS Commit

Checked into ldapserver.  Reviewed by Noriko.
Comment 5 Orla Hegarty 2005-10-14 13:53:59 EDT
Verified Fixed. 

Note You need to log in before you can comment on or make changes to this bug.