diff options
| -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): |
