summaryrefslogtreecommitdiff
path: root/pynslcd/group.py
diff options
context:
space:
mode:
authorArthur de Jong <arthur@arthurdejong.org>2011-12-12 21:53:10 +0000
committerArthur de Jong <arthur@arthurdejong.org>2011-12-12 21:53:10 +0000
commit330a28040095fff67e9cb105019f3b4cb7cb5f0e (patch)
tree802d2a763f9210a3a1f581a9f758bdde301b96df /pynslcd/group.py
parentf4b3ad848987eb6ac2cf50d7ea99d1a7b579c70c (diff)
move check of required attributes and other common tests to the Request.handle_entry() method
git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/nss-pam-ldapd@1570 ef36b2f9-881f-0410-afb5-c4e39611909c
Diffstat (limited to 'pynslcd/group.py')
-rw-r--r--pynslcd/group.py12
1 files changed, 3 insertions, 9 deletions
diff --git a/pynslcd/group.py b/pynslcd/group.py
index f3b91a5..aacc44e 100644
--- a/pynslcd/group.py
+++ b/pynslcd/group.py
@@ -42,20 +42,17 @@ filter = '(|(objectClass=posixGroup)(objectClass=groupOfNames))'
class GroupRequest(common.Request):
+ case_sensitive = ('cn', )
+ limit_attributes = ('cn', 'gidNumber')
wantmembers = True
def write(self, dn, attributes, parameters):
# get group names and check against requested group name
names = attributes['cn']
- if 'cn' in parameters:
- if parameters['cn'] not in names:
- return
- names = ( parameters['cn'], )
# get group group password
passwd = attributes['userPassword'][0]
# get group id(s)
- gids = ( parameters['gidNumber'], ) if 'gidNumber' in parameters else attributes['gidNumber']
- gids = [ int(x) for x in gids ]
+ gids = [ int(x) for x in attributes['gidNumber'] ]
# build member list
members = set()
if self.wantmembers:
@@ -116,9 +113,6 @@ class GroupByMemberRequest(GroupRequest):
common.validate_name(memberuid)
return dict(memberUid=memberuid)
- def attributes(self):
- return self.attmap.attributes()
-
def mk_filter(self, parameters):
# we still need a custom mk_filter because this is an | query
memberuid = parameters['memberUid']