summaryrefslogtreecommitdiffstats
path: root/ipaserver
diff options
context:
space:
mode:
authorPavel Zuna <pzuna@redhat.com>2009-07-31 18:01:51 +0200
committerJason Gerard DeRose <jderose@redhat.com>2009-08-03 23:01:44 -0600
commitb4d173d8448c50eed22ecf79f030d8c038d873c6 (patch)
tree7045fed6e122c574421929ee8fcf9e74873a3909 /ipaserver
parentb20c69dec73cbacd43b9ca0b926fd267c8839407 (diff)
downloadfreeipa-b4d173d8448c50eed22ecf79f030d8c038d873c6.tar.gz
freeipa-b4d173d8448c50eed22ecf79f030d8c038d873c6.tar.xz
freeipa-b4d173d8448c50eed22ecf79f030d8c038d873c6.zip
Fix bug in _get_syntax (it was always returning None).
Also prevent a few cases of double processing of arguments.
Diffstat (limited to 'ipaserver')
-rw-r--r--ipaserver/plugins/ldap2.py22
1 files changed, 7 insertions, 15 deletions
diff --git a/ipaserver/plugins/ldap2.py b/ipaserver/plugins/ldap2.py
index a904afaa1..4df288dfc 100644
--- a/ipaserver/plugins/ldap2.py
+++ b/ipaserver/plugins/ldap2.py
@@ -143,7 +143,8 @@ def _load_schema(host, port):
_schema = _load_schema(api.env.ldap_host, api.env.ldap_port)
def _get_syntax(attr, value):
- api.Backend.ldap2._schema.get_obj(_ldap.schema.AttributeType, attr)
+ schema = api.Backend.ldap2._schema
+ return schema.get_obj(_ldap.schema.AttributeType, attr).syntax
# ldap backend class
@@ -569,21 +570,18 @@ class ldap2(CrudBackend, Encoder):
except _ldap.LDAPError, e:
_handle_errors(e, **{})
- @encode_args(1, 2, 3)
def add_entry_to_group(self, dn, group_dn, member_attr='member'):
"""Add entry to group."""
- # encode/normalize arguments
- dn = self.normalize_dn(dn)
- group_dn = self.normalize_dn(group_dn)
- # check if we're not trying to add group into itself
- if dn == group_dn:
- raise errors.SameGroupError()
# check if the entry exists
(dn, entry_attrs) = self.get_entry(dn, ['objectclass'])
# get group entry
(group_dn, group_entry_attrs) = self.get_entry(group_dn, [member_attr])
+ # check if we're not trying to add group into itself
+ if dn == group_dn:
+ raise errors.SameGroupError()
+
# add dn to group entry's `member_attr` attribute
members = group_entry_attrs.get(member_attr, [])
members.append(dn)
@@ -595,12 +593,8 @@ class ldap2(CrudBackend, Encoder):
except errors.EmptyModlist:
raise errors.AlreadyGroupMember()
- @encode_args(1, 2, 3)
def remove_entry_from_group(self, dn, group_dn, member_attr='member'):
"""Remove entry from group."""
- # encode/normalize arguments
- dn = self.normalize_dn(dn)
-
# get group entry
(group_dn, group_entry_attrs) = self.get_entry(group_dn, [member_attr])
@@ -615,11 +609,9 @@ class ldap2(CrudBackend, Encoder):
# update group entry
self.update_entry(group_dn, group_entry_attrs)
- @encode_args(1)
def set_entry_active(self, dn, active):
"""Mark entry active/inactive."""
assert isinstance(active, bool)
- dn = self.normalize_dn(dn)
# get the entry in question
(dn, entry_attrs) = self.get_entry(dn, ['nsaccountlock', 'memberof'])
@@ -692,7 +684,7 @@ class ldap2(CrudBackend, Encoder):
def _get_normalized_entry_for_crud(self, dn, attrs_list=None):
(dn, entry_attrs) = self.get_entry(dn, attrs_list)
- entry_attrs['dn'] = [dn]
+ entry_attrs['dn'] = dn
return entry_attrs
def create(self, **kw):