Codebase list dnsviz / 286f06f
New upstream version 0.9.2 Robert Edmonds 3 years ago
15 changed file(s) with 54 addition(s) and 24 deletion(s). Raw diff Collapse all Expand all
00 Metadata-Version: 1.1
11 Name: dnsviz
2 Version: 0.9.1
2 Version: 0.9.2
33 Summary: DNS analysis and visualization tool suite
44 Home-page: https://github.com/dnsviz/dnsviz/
55 Author: Casey Deccio
00 Name: dnsviz
1 Version: 0.9.1
1 Version: 0.9.2
22 Release: 1%{?dist}
33 Summary: Tools for analyzing and visualizing DNS and DNSSEC behavior
44
5757 %{_mandir}/man1/%{name}-query.1*
5858
5959 %changelog
60 * Fri Feb 5 2021 Casey Deccio
61 0.9.2 release
6062 * Tue Jan 19 2021 Casey Deccio
6163 0.9.1 release
6264 * Fri Jan 8 2021 Casey Deccio
255255 return info_obj
256256
257257 def _get_response_info(self, name, rdtype):
258 #XXX there are reasons for this (e.g., NXDOMAIN, after which no further
259 # queries are made), but it would be good to have a sanity check, so
260 # we don't simply produce an incomplete output.
261 # see also: dnsviz.viz.dnssec.graph_rrset_auth()
262 if (name, rdtype) not in self.queries:
263 return None
264
258265 query = self.queries[(name, rdtype)]
259266 name_to_info_mapping = {}
260267 rrset_to_cname_mapping = {}
111111
112112 def test_pygraphviz():
113113 try:
114 from pygraphviz import release
115 try:
116 major, minor = release.version.split('.')[:2]
114 try:
115 # pygraphviz < 1.7 used pygraphviz.release.version
116 from pygraphviz import release
117 version = release.version
118 except ImportError:
119 # pygraphviz 1.7 changed to pygraphviz.__version__
120 from pygraphviz import __version__
121 version = __version__
122 try:
123 major, minor = version.split('.')[:2]
117124 major = int(major)
118125 minor = int(re.sub(r'(\d+)[^\d].*', r'\1', minor))
119126 if (major, minor) < (1,3):
120 logger.error('''pygraphviz version >= 1.3 is required, but version %s is installed.''' % release.version)
127 logger.error('''pygraphviz version >= 1.3 is required, but version %s is installed.''' % version)
121128 sys.exit(2)
122129 except ValueError:
123 logger.error('''pygraphviz version >= 1.3 is required, but version %s is installed.''' % release.version)
130 logger.error('''pygraphviz version >= 1.3 is required, but version %s is installed.''' % version)
124131 sys.exit(2)
125132 except ImportError:
126133 logger.error('''pygraphviz is required, but not installed.''')
271271
272272 def test_pygraphviz():
273273 try:
274 from pygraphviz import release
275 try:
276 major, minor = release.version.split('.')[:2]
274 try:
275 # pygraphviz < 1.7 used pygraphviz.release.version
276 from pygraphviz import release
277 version = release.version
278 except ImportError:
279 # pygraphviz 1.7 changed to pygraphviz.__version__
280 from pygraphviz import __version__
281 version = __version__
282 try:
283 major, minor = version.split('.')[:2]
277284 major = int(major)
278285 minor = int(re.sub(r'(\d+)[^\d].*', r'\1', minor))
279286 if (major, minor) < (1,3):
280 logger.error('''pygraphviz version >= 1.3 is required, but version %s is installed.''' % release.version)
287 logger.error('''pygraphviz version >= 1.3 is required, but version %s is installed.''' % version)
281288 sys.exit(2)
282289 except ValueError:
283 logger.error('''pygraphviz version >= 1.3 is required, but version %s is installed.''' % release.version)
290 logger.error('''pygraphviz version >= 1.3 is required, but version %s is installed.''' % version)
284291 sys.exit(2)
285292 except ImportError:
286293 logger.error('''pygraphviz is required, but not installed.''')
7575 GOST_DIGEST_NAME = b'GOST R 34.11-94'
7676
7777 ED25519_PREFIX = b'\x30\x2a\x30\x05\x06\x03\x2b\x65\x70\x03\x21\x00'
78 ED448_PREFIX = b'\x30\x2a\x30\x05\x06\x03\x2b\x65\x71\x03\x21\x00'
78 ED448_PREFIX = b'\x30\x43\x30\x05\x06\x03\x2b\x65\x71\x03\x3a\x00'
7979
8080 # python3/python2 dual compatibility
8181 if not isinstance(GOST_ENGINE_NAME, str):
8282 GOST_ENGINE_NAME = lb2s(GOST_ENGINE_NAME)
8383 GOST_DIGEST_NAME = lb2s(GOST_DIGEST_NAME)
84
85 try:
86 # available from python 3.1
87 base64encodebytes = base64.encodebytes
88 except AttributeError:
89 # available until python 3.8
90 base64encodebytes = base64.encodestring
8491
8592 EC_NOCOMPRESSION = b'\x04'
8693
274281
275282 def _dnskey_to_gost(key):
276283 der = GOST_PREFIX + key
277 pem = b'-----BEGIN PUBLIC KEY-----\n'+base64.encodestring(der)+b'-----END PUBLIC KEY-----'
284 pem = b'-----BEGIN PUBLIC KEY-----\n'+base64encodebytes(der)+b'-----END PUBLIC KEY-----'
278285
279286 return EVP.load_key_string_pubkey(pem)
280287
286293 else:
287294 raise ValueError('Algorithm not supported')
288295
289 pem = b'-----BEGIN PUBLIC KEY-----\n'+base64.encodestring(der)+b'-----END PUBLIC KEY-----'
296 pem = b'-----BEGIN PUBLIC KEY-----\n'+base64encodebytes(der)+b'-----END PUBLIC KEY-----'
290297 return EVP.load_key_string_pubkey(pem)
291298
292299 def _dnskey_to_ec(alg, key):
811811
812812 def init_req(self):
813813 data = self._post_data()
814 self.msg_send = codecs.encode('POST %s HTTP/1.1\r\nHost: %s\r\nUser-Agent: DNSViz/0.9.1\r\nAccept: application/json\r\n%sContent-Length: %d\r\nContent-Type: application/x-www-form-urlencoded\r\n\r\n%s' % (self.path, self.host, self._authentication_header(), len(data), data), 'latin1')
814 self.msg_send = codecs.encode('POST %s HTTP/1.1\r\nHost: %s\r\nUser-Agent: DNSViz/0.9.2\r\nAccept: application/json\r\n%sContent-Length: %d\r\nContent-Type: application/x-www-form-urlencoded\r\n\r\n%s' % (self.path, self.host, self._authentication_header(), len(data), data), 'latin1')
815815 self.msg_send_len = len(self.msg_send)
816816 self.msg_send_index = 0
817817
00 Metadata-Version: 1.1
11 Name: dnsviz
2 Version: 0.9.1
2 Version: 0.9.2
33 Summary: DNS analysis and visualization tool suite
44 Home-page: https://github.com/dnsviz/dnsviz/
55 Author: Casey Deccio
1919 .\" You should have received a copy of the GNU General Public License along
2020 .\" with DNSViz. If not, see <http://www.gnu.org/licenses/>.
2121 .\"
22 .TH dnsviz-probe 1 "19 Jan 2021" "0.9.1"
22 .TH dnsviz-probe 1 "5 Feb 2021" "0.9.2"
2323 .SH NAME
2424 dnsviz-graph \- graph the assessment of diagnostic DNS queries
2525 .SH SYNOPSIS
1919 .\" You should have received a copy of the GNU General Public License along
2020 .\" with DNSViz. If not, see <http://www.gnu.org/licenses/>.
2121 .\"
22 .TH dnsviz-grok 1 "19 Jan 2021" "0.9.1"
22 .TH dnsviz-grok 1 "5 Feb 2021" "0.9.2"
2323 .SH NAME
2424 dnsviz-grok \- assess diagnostic DNS queries
2525 .SH SYNOPSIS
1919 .\" You should have received a copy of the GNU General Public License along
2020 .\" with DNSViz. If not, see <http://www.gnu.org/licenses/>.
2121 .\"
22 .TH dnsviz-print 1 "19 Jan 2021" "0.9.1"
22 .TH dnsviz-print 1 "5 Feb 2021" "0.9.2"
2323 .SH NAME
2424 dnsviz-print \- print the assessment of diagnostic DNS queries
2525 .SH SYNOPSIS
1919 .\" You should have received a copy of the GNU General Public License along
2020 .\" with DNSViz. If not, see <http://www.gnu.org/licenses/>.
2121 .\"
22 .TH dnsviz-probe 1 "19 Jan 2021" "0.9.1"
22 .TH dnsviz-probe 1 "5 Feb 2021" "0.9.2"
2323 .SH NAME
2424 dnsviz-probe \- issue diagnostic DNS queries
2525 .SH SYNOPSIS
1919 .\" You should have received a copy of the GNU General Public License along
2020 .\" with DNSViz. If not, see <http://www.gnu.org/licenses/>.
2121 .\"
22 .TH dnsviz-query 1 "19 Jan 2021" "0.9.1"
22 .TH dnsviz-query 1 "5 Feb 2021" "0.9.2"
2323 .SH NAME
2424 dnsviz-query \- assess a DNS query
2525 .SH SYNOPSIS
1919 .\" You should have received a copy of the GNU General Public License along
2020 .\" with DNSViz. If not, see <http://www.gnu.org/licenses/>.
2121 .\"
22 .TH dnsviz 1 "19 Jan 2021" "0.9.1"
22 .TH dnsviz 1 "5 Feb 2021" "0.9.2"
2323 .SH NAME
2424 dnsviz \- issue and assess diagnostic DNS queries
2525 .SH SYNOPSIS
119119
120120 create_config('')
121121 setup(name='dnsviz',
122 version='0.9.1',
122 version='0.9.2',
123123 author='Casey Deccio',
124124 author_email='casey@deccio.net',
125125 url='https://github.com/dnsviz/dnsviz/',