diff --git a/octodns/source/axfr.py b/octodns/source/axfr.py index be2acf5..70569d1 100644 --- a/octodns/source/axfr.py +++ b/octodns/source/axfr.py @@ -192,12 +192,17 @@ class ZoneFileSource(AxfrBaseSource): # The directory holding the zone files # Filenames should match zone name (eg. example.com.) directory: ./zonefiles + # Should sanity checks of the origin node be done + # (optional, default true) + check_origin: false ''' - def __init__(self, id, directory): + def __init__(self, id, directory, check_origin=True): self.log = logging.getLogger('ZoneFileSource[{}]'.format(id)) - self.log.debug('__init__: id=%s, directory=%s', id, directory) + self.log.debug('__init__: id=%s, directory=%s, check_origin=%s', id, + directory, check_origin) super(ZoneFileSource, self).__init__(id) self.directory = directory + self.check_origin = check_origin self._zone_records = {} @@ -206,7 +211,8 @@ class ZoneFileSource(AxfrBaseSource): if zone_name in zonefiles: try: z = dns.zone.from_file(join(self.directory, zone_name), - zone_name, relativize=False) + zone_name, relativize=False, + check_origin=self.check_origin) except DNSException as error: raise ZoneFileSourceLoadFailure(error) else: diff --git a/requirements.txt b/requirements.txt index 1636c8d..d77f298 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,8 @@ PyYaml==5.3 azure-common==1.1.24 azure-mgmt-dns==3.0.0 -boto3==1.12.5 -botocore==1.15.5 +boto3==1.12.11 +botocore==1.15.11 dnspython==1.16.0 docutils==0.16 dyn==1.8.1 @@ -11,7 +11,7 @@ futures==3.2.0; python_version < '3.0' google-cloud-core==1.3.0 google-cloud-dns==0.32.0 ipaddress==1.0.23 -jmespath==0.9.4 +jmespath==0.9.5 msrestazure==0.6.2 natsort==6.2.1 ns1-python==0.15.0