summaryrefslogtreecommitdiffstats
path: root/ipa_server
diff options
context:
space:
mode:
authorRob Crittenden <rcritten@redhat.com>2008-10-04 05:17:11 -0400
committerRob Crittenden <rcritten@redhat.com>2008-10-04 05:17:11 -0400
commitcb795fa14bc2798fd8f1c6e2b87d19432e3f84a1 (patch)
treedf904bb60d1842d01ba98bd2234913b5d73070ed /ipa_server
parent7e4b0a072e69351496010d7b2151c9b434c8fdb0 (diff)
downloadfreeipa-cb795fa14bc2798fd8f1c6e2b87d19432e3f84a1.tar.gz
freeipa-cb795fa14bc2798fd8f1c6e2b87d19432e3f84a1.tar.xz
freeipa-cb795fa14bc2798fd8f1c6e2b87d19432e3f84a1.zip
Add group plugin, routine to get cn=ipaconfig
Diffstat (limited to 'ipa_server')
-rw-r--r--ipa_server/servercore.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/ipa_server/servercore.py b/ipa_server/servercore.py
index dd23aacb5..34008abe3 100644
--- a/ipa_server/servercore.py
+++ b/ipa_server/servercore.py
@@ -32,6 +32,8 @@ realm = krbctx.default_realm
basedn = ipautil.realm_to_suffix(realm)
DefaultUserContainer = "cn=users,cn=accounts"
+DefaultGroupContainer = "cn=groups,cn=accounts"
+DefaultServiceContainer = "cn=services,cn=accounts"
def convert_entry(ent):
entry = dict(ent.data)
@@ -97,6 +99,16 @@ def get_list (base, searchfilter, sattrs=None):
return map(convert_entry, entries)
+# General searches
+
+def get_entry_by_dn (dn, sattrs=None):
+ """Get a specific entry. Return as a dict of values.
+ Multi-valued fields are represented as lists.
+ """
+ searchfilter = "(objectClass=*)"
+# logging.info("IPA: get_entry_by_dn '%s'" % dn)
+ return get_base_entry(dn, searchfilter, sattrs)
+
def update_entry (oldentry, newentry):
"""Update an LDAP entry
@@ -148,3 +160,14 @@ def get_objectclasses():
result.append(oc[3].replace("'",""))
return result
+
+def get_ipa_config():
+ """Retrieve the IPA configuration"""
+ searchfilter = "cn=ipaconfig"
+ try:
+ config = get_sub_entry("cn=etc," + basedn, searchfilter)
+ except ldap.NO_SUCH_OBJECT, e:
+ # FIXME
+ raise e
+
+ return config