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):
"""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