summaryrefslogtreecommitdiffstats
path: root/ldap/servers/slapd/schema.c
diff options
context:
space:
mode:
authorNathan Kinder <nkinder@redhat.com>2009-01-19 21:27:24 +0000
committerNathan Kinder <nkinder@redhat.com>2009-01-19 21:27:24 +0000
commitb9a1fee404f818bbf1ce20452e199caf64e24855 (patch)
tree97de1bd8b1940c0eb6c2d60a66b9c5d07c50670f /ldap/servers/slapd/schema.c
parentd2f3bc13f8eb834fb1d23f178ad10bc3b3295b48 (diff)
downloadds-b9a1fee404f818bbf1ce20452e199caf64e24855.tar.gz
ds-b9a1fee404f818bbf1ce20452e199caf64e24855.tar.xz
ds-b9a1fee404f818bbf1ce20452e199caf64e24855.zip
Resolves: 480384
Summary: Allow attribute aliases to be used as SUP attribute in attributetype definitions.
Diffstat (limited to 'ldap/servers/slapd/schema.c')
-rw-r--r--ldap/servers/slapd/schema.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/ldap/servers/slapd/schema.c b/ldap/servers/slapd/schema.c
index e63d9068..5383006d 100644
--- a/ldap/servers/slapd/schema.c
+++ b/ldap/servers/slapd/schema.c
@@ -3111,7 +3111,16 @@ at_sup_dependency_callback(struct asyntaxinfo *asi, void *arg)
if(asi->asi_name != NULL) {
if (strcasecmp (asi->asi_name, aew->sup ) == 0) {
aew->rc=0;
- }
+ } else if (asi->asi_aliases) {
+ int i = 0;
+
+ /* Loop through aliases to see if any match */
+ for (i=0; asi->asi_aliases[i] != NULL; i++) {
+ if (strcasecmp (asi->asi_aliases[i], aew->sup ) == 0) {
+ aew->rc=0;
+ }
+ }
+ }
}
}
}