diff options
author | Petr Viktorin <pviktori@redhat.com> | 2013-01-30 09:51:08 -0500 |
---|---|---|
committer | Martin Kosek <mkosek@redhat.com> | 2013-03-01 16:59:46 +0100 |
commit | 982b78277755a301e3baa1d4f2bd7e1663fb88a5 (patch) | |
tree | 1fc9a5c53663f98dd62ec759cc9d16a76ce2fd2b /ipaserver/plugins | |
parent | 29a02a3530214d2e72667e98c5ecc25ebf5fad48 (diff) | |
download | freeipa-982b78277755a301e3baa1d4f2bd7e1663fb88a5.tar.gz freeipa-982b78277755a301e3baa1d4f2bd7e1663fb88a5.tar.xz freeipa-982b78277755a301e3baa1d4f2bd7e1663fb88a5.zip |
Remove some uses of raw python-ldap
Part of the work for: https://fedorahosted.org/freeipa/ticket/2660
Diffstat (limited to 'ipaserver/plugins')
-rw-r--r-- | ipaserver/plugins/dogtag.py | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/ipaserver/plugins/dogtag.py b/ipaserver/plugins/dogtag.py index 343368c99..054a29b40 100644 --- a/ipaserver/plugins/dogtag.py +++ b/ipaserver/plugins/dogtag.py @@ -237,12 +237,10 @@ digits and nothing else follows. ''' from lxml import etree -import urllib import urllib2 import datetime import time from ipapython.dn import DN -from ldap.filter import escape_filter_chars import ipapython.dogtag from ipapython import ipautil @@ -1267,11 +1265,17 @@ class ra(rabase.rabase): Check if a specified host is a master for a specified service. """ - base_dn = DN(('cn', host), ('cn', 'masters'), ('cn', 'ipa'), ('cn', 'etc'), api.env.basedn) - filter = '(&(objectClass=ipaConfigObject)(cn=%s)(ipaConfigString=enabledService))' % escape_filter_chars(service) + ldap2 = self.api.Backend.ldap2 + base_dn = DN(('cn', host), ('cn', 'masters'), ('cn', 'ipa'), + ('cn', 'etc'), api.env.basedn) + filter_attrs = { + 'objectClass': 'ipaConfigObject', + 'cn': service, + 'ipaConfigString': 'enabledService', + } + filter = ldap2.make_filter(filter_attrs, rules='&') try: - ldap2 = self.api.Backend.ldap2 - ent,trunc = ldap2.find_entries(filter=filter, base_dn=base_dn) + ent, trunc = ldap2.find_entries(filter=filter, base_dn=base_dn) if len(ent): return True except Exception, e: @@ -1286,11 +1290,17 @@ class ra(rabase.rabase): Select any host which is a master for a specified service. """ - base_dn = DN(('cn', 'masters'), ('cn', 'ipa'), ('cn', 'etc'), api.env.basedn) - filter = '(&(objectClass=ipaConfigObject)(cn=%s)(ipaConfigString=enabledService))' % escape_filter_chars(service) + ldap2 = self.api.Backend.ldap2 + base_dn = DN(('cn', 'masters'), ('cn', 'ipa'), ('cn', 'etc'), + api.env.basedn) + filter_attrs = { + 'objectClass': 'ipaConfigObject', + 'cn': service, + 'ipaConfigString': 'enabledService', + } + filter = ldap2.make_filter(filter_attrs, rules='&') try: - ldap2 = self.api.Backend.ldap2 - ent,trunc = ldap2.find_entries(filter=filter, base_dn=base_dn) + ent, trunc = ldap2.find_entries(filter=filter, base_dn=base_dn) if len(ent): entry = random.choice(ent) dn = entry[0] |