Skip to content
Snippets Groups Projects
Commit 0d155acb authored by Anders Blomdell's avatar Anders Blomdell
Browse files

Check for CNAME conflicts (named)

parent 56258f26
Branches
No related tags found
No related merge requests found
...@@ -12,6 +12,9 @@ class NoNameserverException(Exception): ...@@ -12,6 +12,9 @@ class NoNameserverException(Exception):
class InvalidHostnameException(Exception): class InvalidHostnameException(Exception):
pass pass
class DuplicateCnameException(Exception):
pass
def equal_zone(c1, c2): def equal_zone(c1, c2):
for l1, l2 in zip(c1.split('\n'), c2.split('\n')): for l1, l2 in zip(c1.split('\n'), c2.split('\n')):
if l1 == l2: if l1 == l2:
...@@ -191,7 +194,12 @@ class DomainDict: ...@@ -191,7 +194,12 @@ class DomainDict:
pass pass
if not ttl: if not ttl:
ttl = '' ttl = ''
pass
self.host[name].add((kind, value, ttl)) self.host[name].add((kind, value, ttl))
if (len(self.host[name]) > 1 and
'CNAME' in [ kind for kind,value,ttl in self.host[name] ]):
raise DuplicateCnameException('Conflicting CNAME records %s' %
self.host[name])
pass pass
def value(self, key=None, subdomains=[]): def value(self, key=None, subdomains=[]):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment