Server IP : 68.65.122.142 / Your IP : 18.223.170.103 Web Server : LiteSpeed System : Linux server167.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64 User : glenirhm ( 1318) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /lib/python3.6/site-packages/isc/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
############################################################################ # 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