diff options
| -rw-r--r-- | pynslcd/cfg.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/pynslcd/cfg.py b/pynslcd/cfg.py index b03b8c7..eaeaff0 100644 --- a/pynslcd/cfg.py +++ b/pynslcd/cfg.py @@ -89,6 +89,7 @@ nss_nested_groups = False validnames = re.compile(r'^[a-z0-9._@$][a-z0-9._@$ \\~-]{0,98}[a-z0-9._@$~-]$', re.IGNORECASE) pam_authz_searches = [] pam_password_prohibit_message = None +nscd_invalidate = set() # allowed boolean values @@ -312,6 +313,16 @@ def read(filename): flags = 0 | re.IGNORECASE if m.group('flags') == 'i' else 0 validnames = re.compile(m.group('value'), flags=flags) continue + # nscd_invalidate <MAP>,<MAP>,... + m = re.match('nscd_invalidate\s+(?P<value>\S.*)', + line, re.IGNORECASE) + if m: + dbs = re.split('[ ,]+', m.group('value').lower()) + for db in dbs: + if db not in maps: + raise ParseError(filename, lineno, 'map %s unknown' % db) + nscd_invalidate.update(dbs) + continue # unrecognised line raise ParseError(filename, lineno, 'error parsing line %r' % line) # if logging is not configured, default to syslog |
