summaryrefslogtreecommitdiffstats
path: root/ipaserver/plugins
diff options
context:
space:
mode:
authorPetr Viktorin <pviktori@redhat.com>2013-01-30 09:51:08 -0500
committerMartin Kosek <mkosek@redhat.com>2013-03-01 16:59:46 +0100
commit982b78277755a301e3baa1d4f2bd7e1663fb88a5 (patch)
tree1fc9a5c53663f98dd62ec759cc9d16a76ce2fd2b /ipaserver/plugins
parent29a02a3530214d2e72667e98c5ecc25ebf5fad48 (diff)
downloadfreeipa-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.py30
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]