diff options
author | Arthur de Jong <arthur@arthurdejong.org> | 2013-07-26 14:59:43 +0200 |
---|---|---|
committer | Arthur de Jong <arthur@arthurdejong.org> | 2013-07-26 14:59:43 +0200 |
commit | e1b0399ee018d217cd50267cef03c28dfdb32fbf (patch) | |
tree | 56229ff26cd878176707d9672fe65148b6073c5a /pynslcd | |
parent | 6054499f9a9952593ccadc83182e01d39ff62f12 (diff) |
Rename nscd_invalidate option to reconnect_invalidate
This also renames the internal nscd module to invalidator for both nslcd
and pynslcd. The new invalidator module is now no longer nscd-specific.
Diffstat (limited to 'pynslcd')
-rw-r--r-- | pynslcd/Makefile.am | 2 | ||||
-rw-r--r-- | pynslcd/cfg.py | 8 | ||||
-rw-r--r-- | pynslcd/invalidator.py (renamed from pynslcd/nscd.py) | 16 | ||||
-rwxr-xr-x | pynslcd/pynslcd.py | 8 | ||||
-rw-r--r-- | pynslcd/search.py | 4 |
5 files changed, 19 insertions, 19 deletions
diff --git a/pynslcd/Makefile.am b/pynslcd/Makefile.am index d0604f4..f96654b 100644 --- a/pynslcd/Makefile.am +++ b/pynslcd/Makefile.am @@ -20,7 +20,7 @@ pynslcddir = $(datadir)/pynslcd pynslcd_PYTHON = pynslcd.py attmap.py cache.py cfg.py common.py expr.py \ - mypidfile.py nscd.py search.py tio.py \ + mypidfile.py invalidator.py search.py tio.py \ alias.py ether.py group.py host.py netgroup.py network.py \ passwd.py protocol.py rpc.py service.py shadow.py pam.py \ usermod.py diff --git a/pynslcd/cfg.py b/pynslcd/cfg.py index 516eeb7..cf9c872 100644 --- a/pynslcd/cfg.py +++ b/pynslcd/cfg.py @@ -85,7 +85,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 # FIXME: add support -nscd_invalidate = set() +reconnect_invalidate = set() # allowed boolean values @@ -311,15 +311,15 @@ 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.*)', + # reconnect_invalidate <MAP>,<MAP>,... + m = re.match('reconnect_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.keys() + ['nfsidmap']: raise ParseError(filename, lineno, 'map %s unknown' % db) - nscd_invalidate.update(dbs) + reconnect_invalidate.update(dbs) continue # unrecognised line raise ParseError(filename, lineno, 'error parsing line %r' % line) diff --git a/pynslcd/nscd.py b/pynslcd/invalidator.py index 1cc05cf..98c0783 100644 --- a/pynslcd/nscd.py +++ b/pynslcd/invalidator.py @@ -1,5 +1,5 @@ -# nscd.py - functions for invalidating the nscd cache +# invalidator.py - functions for invalidating external caches # # Copyright (C) 2013 Arthur de Jong # @@ -41,7 +41,7 @@ _char_to_db = dict((reversed(item) for item in _db_to_char.items())) def exec_invalidate(*args): cmd = ' '.join(args) - logging.debug('nscd_invalidator: %s', cmd) + logging.debug('invalidator: %s', cmd) try: p = subprocess.Popen(args, bufsize=4096, close_fds=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) @@ -49,23 +49,23 @@ def exec_invalidate(*args): if output: output = ': %s' % output[:1024].strip() if p.returncode == 0: - logging.debug('nscd_invalidator: %s (pid %d) success%s', + logging.debug('invalidator: %s (pid %d) success%s', cmd, p.pid, output) elif p.returncode > 0: - logging.debug('nscd_invalidator: %s (pid %d) failed (%d)%s', + logging.debug('invalidator: %s (pid %d) failed (%d)%s', cmd, p.pid, p.returncode, output) else: # p.returncode < 0 - logging.error('nscd_invalidator: %s (pid %d) killed by signal %d%s', + logging.error('invalidator: %s (pid %d) killed by signal %d%s', cmd, p.pid, -p.returncode, output) except: - logging.warn('nscd_invalidator: %s failed', cmd, exc_info=True) + logging.warn('invalidator: %s failed', cmd, exc_info=True) def loop(fd): # set process title try: import setproctitle - setproctitle.setproctitle('(nscd invalidator)') + setproctitle.setproctitle('(invalidator)') except ImportError: pass # set up clean environment @@ -105,7 +105,7 @@ def invalidate(db=None): if db: db = _db_to_char.get(db, '') else: - db = ''.join(_db_to_char[x] for x in cfg.nscd_invalidate) + db = ''.join(_db_to_char[x] for x in cfg.reconnect_invalidate) try: os.write(signalfd, db) except: diff --git a/pynslcd/pynslcd.py b/pynslcd/pynslcd.py index df54bad..4a57155 100755 --- a/pynslcd/pynslcd.py +++ b/pynslcd/pynslcd.py @@ -35,7 +35,7 @@ import cfg import common import constants import mypidfile -import nscd +import invalidator import search @@ -323,9 +323,9 @@ if __name__ == '__main__': logging.getLogger().setLevel(min(level for method, level in cfg.logs)) logging.getLogger().removeHandler(stderrhandler) logging.info('version %s starting', constants.VERSION) - # start nscd sub-process if needed - if cfg.nscd_invalidate: - nscd.start_invalidator() + # start invalidator sub-process if needed + if cfg.invalidator_invalidate: + invalidator.start_invalidator() # create socket nslcd_serversocket = create_socket() # load supplementary groups diff --git a/pynslcd/search.py b/pynslcd/search.py index 3db6e9d..f8c82fb 100644 --- a/pynslcd/search.py +++ b/pynslcd/search.py @@ -55,9 +55,9 @@ class Connection(ldap.ldapobject.ReconnectLDAPObject): self.set_option(ldap.OPT_X_TLS, ldap.OPT_X_TLS_HARD) def reconnect_after_fail(self): - import nscd + import invalidator logging.info('connected to LDAP server %s', cfg.uri) - nscd.invalidate() + invalidator.invalidate() def search_s(self, *args, **kwargs): # wrapper function to keep the global server_error state |