summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Basti <mbasti@redhat.com>2015-11-17 11:43:57 +0100
committerMartin Basti <mbasti@redhat.com>2015-11-25 14:56:30 +0100
commit6bbde3e0f7d661fa559ed5e3365381d2ba113dce (patch)
tree96961bb842c9c7ef154594d05a75c4d2ebdcbf66
parentd43c3becbd406d145426d0409b8fe2a36ee6c63c (diff)
downloadfreeipa-6bbde3e0f7d661fa559ed5e3365381d2ba113dce.tar.gz
freeipa-6bbde3e0f7d661fa559ed5e3365381d2ba113dce.tar.xz
freeipa-6bbde3e0f7d661fa559ed5e3365381d2ba113dce.zip
Compare objectclasses as case insensitive in baseuser.py
Objectclasses must be handled as case insensitive. https://fedorahosted.org/freeipa/ticket/5456 Reviewed-By: Martin Babinsky <mbabinsk@redhat.com>
-rw-r--r--ipalib/plugins/baseuser.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/ipalib/plugins/baseuser.py b/ipalib/plugins/baseuser.py
index e2572930e..ae7fad462 100644
--- a/ipalib/plugins/baseuser.py
+++ b/ipalib/plugins/baseuser.py
@@ -551,20 +551,23 @@ class baseuser_mod(LDAPUpdate):
_entry_attrs = ldap.get_entry(dn, ['objectclass'])
obj_classes = entry_attrs['objectclass'] = _entry_attrs['objectclass']
+ # IMPORTANT: compare objectclasses as case insensitive
+ obj_classes = [o.lower() for o in obj_classes]
+
if 'ipasshpubkey' in entry_attrs and 'ipasshuser' not in obj_classes:
- obj_classes.append('ipasshuser')
+ entry_attrs['objectclass'].append('ipasshuser')
if 'ipauserauthtype' in entry_attrs and 'ipauserauthtypeclass' not in obj_classes:
- obj_classes.append('ipauserauthtypeclass')
+ entry_attrs['objectclass'].append('ipauserauthtypeclass')
if 'userclass' in entry_attrs and 'ipauser' not in obj_classes:
- obj_classes.append('ipauser')
+ entry_attrs['objectclass'].append('ipauser')
if 'ipatokenradiusconfiglink' in entry_attrs:
cl = entry_attrs['ipatokenradiusconfiglink']
if cl:
if 'ipatokenradiusproxyuser' not in obj_classes:
- obj_classes.append('ipatokenradiusproxyuser')
+ entry_attrs['objectclass'].append('ipatokenradiusproxyuser')
answer = self.api.Object['radiusproxy'].get_dn_if_exists(cl)
entry_attrs['ipatokenradiusconfiglink'] = answer