diff options
author | Arthur de Jong <arthur@arthurdejong.org> | 2013-07-29 23:14:47 +0200 |
---|---|---|
committer | Arthur de Jong <arthur@arthurdejong.org> | 2013-07-29 23:14:47 +0200 |
commit | 7092d40f32df9b419fff475f3368b5df2ff1c521 (patch) | |
tree | 8495b140b7fb23b43f9e8eda4c59bd718731ace6 | |
parent | a0e12e6b98616994aca595de7589c003bb68013e (diff) |
Handle the nss_initgroups_ignoreusers option in pynslcd
-rw-r--r-- | pynslcd/cfg.py | 2 | ||||
-rw-r--r-- | pynslcd/group.py | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/pynslcd/cfg.py b/pynslcd/cfg.py index b4967f8..310d308 100644 --- a/pynslcd/cfg.py +++ b/pynslcd/cfg.py @@ -79,7 +79,7 @@ tls_key = None # other options pagesize = 0 # FIXME: add support -nss_initgroups_ignoreusers = set() # FIXME: add support +nss_initgroups_ignoreusers = set() nss_min_uid = 0 # FIXME: add support nss_nested_groups = False validnames = re.compile(r'^[a-z0-9._@$][a-z0-9._@$ \\~-]{0,98}[a-z0-9._@$~-]$', re.IGNORECASE) diff --git a/pynslcd/group.py b/pynslcd/group.py index a72c57d..ee1d268 100644 --- a/pynslcd/group.py +++ b/pynslcd/group.py @@ -187,6 +187,14 @@ class GroupByMemberRequest(GroupRequest): for result in self.convert(dn, attributes, parameters): yield result + def handle_request(self, parameters): + # check whether requested user is in nss_initgroups_ignoreusers + if parameters['memberUid'] in cfg.nss_initgroups_ignoreusers: + # write the final result code to signify empty results + self.fp.write_int32(constants.NSLCD_RESULT_END) + return + return super(GroupByMemberRequest, self).handle_request(parameters) + class GroupAllRequest(GroupRequest): |