From 7f47cf9484bfa3e5c01ca40f4887bd62fbdf0fa0 Mon Sep 17 00:00:00 2001 From: Eric Price Date: Thu, 8 May 2008 05:22:04 -0400 Subject: [PATCH] CNAME xvm.mit.edu to sipb-xen-dev.mit.edu svn path=/trunk/packages/sipb-xen-dns/; revision=508 --- code/dnsserver.py | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/code/dnsserver.py b/code/dnsserver.py index 1a188c6..3d6c296 100755 --- a/code/dnsserver.py +++ b/code/dnsserver.py @@ -43,27 +43,30 @@ class DatabaseAuthority(common.ResolverBase): if name.lower() in self.domains: domain = name.lower() else: - found = False for domain in self.domains: if name.lower().endswith('.'+domain): - found = True break - if not found: - #Not us + else: #Not us return defer.fail(failure.Failure(dns.DomainError(name))) results = [] if cls == dns.IN and type in (dns.A, dns.ALL_RECORDS): host = name[:-len(domain)-1] - value = sipb_xen_database.Machine.get_by(name=host) - if value is None or not value.nics: - return defer.fail(failure.Failure(dns.AuthoritativeDomainError(name))) - ip = value.nics[0].ip - if ip is None: #Deactivated? - return defer.fail(failure.Failure(dns.AuthoritativeDomainError(name))) - ttl = 900 - record = dns.Record_A(ip, ttl) - results.append(dns.RRHeader(name, dns.A, dns.IN, - ttl, record, auth=True)) + if not host: + ttl = 900 + record = dns.Record_CNAME('sipb-xen-dev.mit.edu', ttl) + results.append(dns.RRHeader(name, dns.CNAME, dns.IN, + ttl, record, auth=True)) + else: + value = sipb_xen_database.Machine.get_by(name=host) + if value is None or not value.nics: + return defer.fail(failure.Failure(dns.AuthoritativeDomainError(name))) + ip = value.nics[0].ip + if ip is None: #Deactivated? + return defer.fail(failure.Failure(dns.AuthoritativeDomainError(name))) + ttl = 900 + record = dns.Record_A(ip, ttl) + results.append(dns.RRHeader(name, dns.A, dns.IN, + ttl, record, auth=True)) authority = [] authority.append(dns.RRHeader(domain, dns.SOA, dns.IN, 3600, self.soa, auth=True)) -- 1.7.9.5