• Asanka Herath's avatar
    [net/dns] Return correct CNAME from AsyncDNS resolver. · 2d0226c9
    Asanka Herath authored
    While AsyncDNS resolver is perfectly capable of following a CNAME chain,
    it doesn't return the owner name for an address record. This field is
    important for callers of the resolver who expected the returned
    AddressList to contain the correct canonical name.
    
    This CL fixes the issue by plumbing the name into the AddressList.
    I.e. assume we have the following RRs:
    
      www.foo.example.       1000    IN     CNAME   host.foo.example.
      host.foo.example.      1000    IN     A       10.10.10.10
    
    The canonical name for www.foo.example is host.foo.example since that's
    the owner name for the A record. Prior to this CL the AsyncDNS resolver
    would return www.foo.example. After the CL it returns host.foo.example.
    
    Bug: 883969
    Change-Id: I8a44f68e2dbbb1726467fde0c65c1d4e9ee304d4
    Reviewed-on: https://chromium-review.googlesource.com/c/1292435Reviewed-by: default avatarMatt Menke <mmenke@chromium.org>
    Commit-Queue: Asanka Herath <asanka@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#602330}
    2d0226c9
host_resolver_impl_unittest.cc 238 KB