diff options
author | Arthur de Jong <arthur@arthurdejong.org> | 2011-12-12 21:53:10 +0000 |
---|---|---|
committer | Arthur de Jong <arthur@arthurdejong.org> | 2011-12-12 21:53:10 +0000 |
commit | 330a28040095fff67e9cb105019f3b4cb7cb5f0e (patch) | |
tree | 802d2a763f9210a3a1f581a9f758bdde301b96df /pynslcd/group.py | |
parent | f4b3ad848987eb6ac2cf50d7ea99d1a7b579c70c (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.py | 12 |
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'] |