summaryrefslogtreecommitdiff
path: root/pynslcd/cfg.py
diff options
context:
space:
mode:
Diffstat (limited to 'pynslcd/cfg.py')
-rw-r--r--pynslcd/cfg.py11
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