Source code for dns_sprockets_lib.validators.dnskey_bits
'''
dnskey_bits - Record test: DnskeyBits
.. Copyright (c) 2015 Neustar, Inc. All rights reserved.
.. See COPYRIGHT.txt for full notice. See LICENSE.txt for terms and conditions.
'''
import dns.rdtypes.ANY.DNSKEY
import dns_sprockets_lib.validators as validators
[docs]class DnskeyBits(validators.RecTest):
# pylint: disable=too-few-public-methods
'''
Checks DNSKEY flags and protocol.
'''
TEST_DNSSECTYPE = True
TEST_RRTYPE = 'DNSKEY'
[docs] def run(self, context, suggested_tested, name, ttl, rdata):
# pylint: disable=too-many-arguments
result = None
if (rdata.flags & dns.rdtypes.ANY.DNSKEY.ZONE) and name != context.zone_name:
result = 'Zone signing key not at zone apex'
if rdata.protocol != 3:
if result:
result += ', and '
else:
result = ''
result += 'Protocol not 3'
return (suggested_tested, result)
# end of file