chiark / gitweb /
peerdb/tripe-newpeers.in: Keep track of the canonical hostname too.
authorMark Wooding <mdw@distorted.org.uk>
Tue, 26 Sep 2017 21:56:19 +0000 (22:56 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sat, 16 Jun 2018 18:14:10 +0000 (19:14 +0100)
Not that I plan to do anything useful with that.

peerdb/tripe-newpeers.in

index 1f17811e96d39220a0d9e6349e94e392e85a469e..8297d5690db6f9ca08134dcc297cf046f7c140d3 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