diff options
Diffstat (limited to 'ipa_server/plugins/b_ldap.py')
-rw-r--r-- | ipa_server/plugins/b_ldap.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/ipa_server/plugins/b_ldap.py b/ipa_server/plugins/b_ldap.py index 2c65ba457..b58a644a3 100644 --- a/ipa_server/plugins/b_ldap.py +++ b/ipa_server/plugins/b_ldap.py @@ -60,6 +60,16 @@ class ldap(CrudBackend): self.api.env.basedn, ) + def make_hostgroup_dn(self, cn): + """ + Construct group of hosts dn from cn. + """ + return 'cn=%s,%s,%s' % ( + self.dn.escape_dn_chars(cn), + self.api.env.container_hostgroup, + self.api.env.basedn, + ) + def make_service_dn(self, principal): """ Construct service principal dn from principal name @@ -106,7 +116,7 @@ class ldap(CrudBackend): if not object_type: return None - filter = "(&(%s=%s)(objectclass=%s))" % ( + search_filter = "(&(%s=%s)(objectclass=%s))" % ( key_attribute, self.dn.escape_dn_chars(primary_key), object_type @@ -114,7 +124,7 @@ class ldap(CrudBackend): search_base = "%s, %s" % (self.api.env.container_accounts, self.api.env.basedn) - entry = servercore.get_sub_entry(search_base, filter, ['dn', 'objectclass']) + entry = servercore.get_sub_entry(search_base, search_filter, ['dn', 'objectclass']) return entry.get('dn') |