summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Kinder <nkinder@redhat.com>2005-08-25 23:05:20 +0000
committerNathan Kinder <nkinder@redhat.com>2005-08-25 23:05:20 +0000
commit3ad44b386d44e7d384573a942aaf5b3059863aaa (patch)
tree395e2d06bb7736381d6d0b669be4f78d6ddf0b37
parent7e856eff9d6985ab61e37ec9293476e4cd26a799 (diff)
downloadds-3ad44b386d44e7d384573a942aaf5b3059863aaa.tar.gz
ds-3ad44b386d44e7d384573a942aaf5b3059863aaa.tar.xz
ds-3ad44b386d44e7d384573a942aaf5b3059863aaa.zip
164836 - Attribute uniqueness needs to check if the target DN for the incoming operation applies to a subtree before searchnig for a conflict within it.
-rw-r--r--ldap/servers/plugins/uiduniq/uid.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/ldap/servers/plugins/uiduniq/uid.c b/ldap/servers/plugins/uiduniq/uid.c
index 10beab34..b1f0d1da 100644
--- a/ldap/servers/plugins/uiduniq/uid.c
+++ b/ldap/servers/plugins/uiduniq/uid.c
@@ -383,8 +383,14 @@ searchAllSubtrees(int argc, char *argv[], const char *attrName,
*/
for(;argc > 0;argc--,argv++)
{
- result = search(*argv, attrName, attr, values, dn);
- if (result) break;
+ /*
+ * The DN should already be normalized, so we don't have to
+ * worry about that here.
+ */
+ if (slapi_dn_issuffix(dn, *argv)) {
+ result = search(*argv, attrName, attr, values, dn);
+ if (result) break;
+ }
}
return result;
}