X7ROOT File Manager
Current Path:
/usr/lib/python2.7/site-packages/isc
usr
/
lib
/
python2.7
/
site-packages
/
isc
/
📁
..
📄
__init__.py
(936 B)
📄
__init__.pyc
(617 B)
📄
__init__.pyo
(617 B)
📄
checkds.py
(6.49 KB)
📄
checkds.pyc
(5.29 KB)
📄
checkds.pyo
(5.29 KB)
📄
coverage.py
(9.61 KB)
📄
coverage.pyc
(7.37 KB)
📄
coverage.pyo
(7.37 KB)
📄
dnskey.py
(15.9 KB)
📄
dnskey.pyc
(16.59 KB)
📄
dnskey.pyo
(16.59 KB)
📄
eventlist.py
(5.71 KB)
📄
eventlist.pyc
(4.83 KB)
📄
eventlist.pyo
(4.83 KB)
📄
keydict.py
(2.67 KB)
📄
keydict.pyc
(3.21 KB)
📄
keydict.pyo
(3.21 KB)
📄
keyevent.py
(2.76 KB)
📄
keyevent.pyc
(2.32 KB)
📄
keyevent.pyo
(2.32 KB)
📄
keymgr.py
(6.35 KB)
📄
keymgr.pyc
(4.91 KB)
📄
keymgr.pyo
(4.91 KB)
📄
keyseries.py
(7.34 KB)
📄
keyseries.pyc
(5 KB)
📄
keyseries.pyo
(5 KB)
📄
keyzone.py
(1.86 KB)
📄
keyzone.pyc
(1.54 KB)
📄
keyzone.pyo
(1.54 KB)
📄
parsetab.py
(9.98 KB)
📄
parsetab.pyc
(10.36 KB)
📄
parsetab.pyo
(10.36 KB)
📄
policy.py
(25.8 KB)
📄
policy.pyc
(22.62 KB)
📄
policy.pyo
(22.62 KB)
📄
rndc.py
(6.54 KB)
📄
rndc.pyc
(6.34 KB)
📄
rndc.pyo
(6.34 KB)
📄
utils.py
(2.17 KB)
📄
utils.pyc
(1.59 KB)
📄
utils.pyo
(1.59 KB)
Editing: keydict.py
############################################################################ # Copyright (C) Internet Systems Consortium, Inc. ("ISC") # # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # # See the COPYRIGHT file distributed with this work for additional # information regarding copyright ownership. ############################################################################ from collections import defaultdict from . import dnskey import os import glob ######################################################################## # Class keydict ######################################################################## class keydict: """ A dictionary of keys, indexed by name, algorithm, and key id """ _keydict = defaultdict(lambda: defaultdict(dict)) _defttl = None _missing = [] def __init__(self, dp=None, **kwargs): self._defttl = kwargs.get('keyttl', None) zones = kwargs.get('zones', None) if not zones: path = kwargs.get('path',None) or '.' self.readall(path) else: for zone in zones: if 'path' in kwargs and kwargs['path'] is not None: path = kwargs['path'] else: path = dp and dp.policy(zone).directory or '.' if not self.readone(path, zone): self._missing.append(zone) def readall(self, path): files = glob.glob(os.path.join(path, '*.private')) for infile in files: key = dnskey(infile, path, self._defttl) self._keydict[key.name][key.alg][key.keyid] = key def readone(self, path, zone): match='K' + zone + '.+*.private' files = glob.glob(os.path.join(path, match)) found = False for infile in files: key = dnskey(infile, path, self._defttl) if key.name != zone: # shouldn't ever happen continue self._keydict[key.name][key.alg][key.keyid] = key found = True return found def __iter__(self): for zone, algorithms in self._keydict.items(): for alg, keys in algorithms.items(): for key in keys.values(): yield key def __getitem__(self, name): return self._keydict[name] def zones(self): return (self._keydict.keys()) def algorithms(self, zone): return (self._keydict[zone].keys()) def keys(self, zone, alg): return (self._keydict[zone][alg].keys()) def missing(self): return (self._missing)
Upload File
Create Folder