peerdb/tripe-newpeers.in: Keep track of the canonical hostname too.
[tripe] / peerdb / tripe-newpeers.in
index 1f17811..8297d56 100644 (file)
@@ -123,8 +123,8 @@ class BulkResolver (object):
       me._namemap[name] = host = ResolvingHost(name)
       host._resolv = M.SelResolveByName(
         name,
-        lambda cname, alias, addr: me._resolved(host, addr),
-        lambda: me._resolved(host, []))
+        lambda cname, alias, addr: me._resolved(host, cname, addr),
+        lambda: me._resolved(host, None, []))
       me._noutstand += 1
 
   def run(me):
@@ -135,11 +135,12 @@ class BulkResolver (object):
     """Fetch the address corresponding to the host NAME."""
     return me._namemap[name].get(flags)
 
-  def _resolved(me, host, addr):
+  def _resolved(me, host, cname, addr):
     """Callback function: remember that ADDRs are the addresses for HOST."""
     if not addr:
       host.failed('(unknown failure)')
     else:
+      if cname is not None: host.name = cname
       for a in addr: host.addaddr(a)
     host._resolv = None
     me._noutstand -= 1