change host alias to always be host-domain relative
authorTero Marttila <terom@paivola.fi>
Thu, 19 Dec 2013 20:03:22 +0200
changeset 325 9be2b216e87c
parent 324 9b9c662f36b2
child 326 5ecd1226f445
change host alias to always be host-domain relative
bin/pvl.hosts-dns
bin/pvl.hosts-import
--- a/bin/pvl.hosts-dns	Thu Dec 19 19:30:35 2013 +0200
+++ b/bin/pvl.hosts-dns	Thu Dec 19 20:03:22 2013 +0200
@@ -14,12 +14,10 @@
         Resolve alias@domain within given zone.
     """
 
-    if '.' in alias :
-        pass
-    elif host_domain :
+    if host_domain :
         alias = pvl.dns.join(alias, host_domain)
     else :
-        raise ValueError("no domain given for alias: %s / %s" % (alias, ))
+        raise ValueError("no domain given for host %s alias %s" % (host, alias, ))
 
     if alias.endswith('.' + origin) :
         # strip
--- a/bin/pvl.hosts-import	Thu Dec 19 19:30:35 2013 +0200
+++ b/bin/pvl.hosts-import	Thu Dec 19 20:03:22 2013 +0200
@@ -167,8 +167,10 @@
             
             if domain == alias_domain :
                 yield (alias_host, alias_domain), 'alias', host
+            elif domain.endswith('.' + alias_domain) :
+                yield (alias_host, alias_domain), 'alias', pvl.dns.join(host, domain[:(len(domain) - len(alias_domain) - 1)])
             else :
-                yield (alias_host, alias_domain), 'alias', pvl.dns.join(host, domain)
+                log.warn("%s@%s: alias outside of target domain: %s", host, domain, alias_domain)
         
         elif rr.type == 'TXT' :
             txt, = rr.data