############################################################################ # 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 https://mozilla.org/MPL/2.0/. # # See the COPYRIGHT file distributed with this work for additional # information regarding copyright ownership. ############################################################################ import os import sys import re from subprocess import Popen, PIPE ######################################################################## # Exceptions ######################################################################## class KeyZoneException(Exception): pass ######################################################################## # class keyzone ######################################################################## class keyzone: """reads a zone file to find data relevant to keys""" def __init__(self, name, filename, czpath): self.maxttl = None self.keyttl = None if not name: return if not czpath or not os.path.isfile(czpath) \ or not os.access(czpath, os.X_OK): raise KeyZoneException('"named-compilezone" not found') return maxttl = keyttl = None fp, _ = Popen([czpath, "-o", "-", name, filename], stdout=PIPE, stderr=PIPE).communicate() for line in fp.splitlines(): if type(line) is not str: line = line.decode('ascii') if re.search('^[:space:]*;', line): continue fields = line.split() if not maxttl or int(fields[1]) > maxttl: maxttl = int(fields[1]) if fields[3] == "DNSKEY": keyttl = int(fields[1]) self.keyttl = keyttl self.maxttl = maxttl
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
__init__.py | File | 937 B | 0644 |
|
checkds.py | File | 6.79 KB | 0644 |
|
coverage.py | File | 9.75 KB | 0644 |
|
dnskey.py | File | 16.03 KB | 0644 |
|
eventlist.py | File | 5.71 KB | 0644 |
|
keydict.py | File | 2.78 KB | 0644 |
|
keyevent.py | File | 2.76 KB | 0644 |
|
keymgr.py | File | 6.35 KB | 0644 |
|
keyseries.py | File | 8.52 KB | 0644 |
|
keyzone.py | File | 1.94 KB | 0644 |
|
parsetab.py | File | 7.87 KB | 0644 |
|
policy.py | File | 25.8 KB | 0644 |
|
rndc.py | File | 6.54 KB | 0644 |
|
utils.py | File | 2.16 KB | 0644 |
|