Android 5.0.1 release 1
Simplify and always retry DNS64 prefix discovery.

  - Only request AAAAs for the IPv4-only hostname, since that's
    all the information being used.  Perhaps at some point in the
    future when _validation_ of the IPv4 address(es)'s presence
    within the IPv6 address(es) is being done this should be
    revisited.

  - Only use the first AAAA returned to find the DNS64 prefix.
    It's not clear how to properly resolve any potential DNS64
    prefix conflicts anyway.

  - Re-try DNS64 prefix discovery on any type of error.
    If clatd was started (presumably an IPv6-only network), retry
    DNS64 prefix discovery with exponential backoff.  Some
    "permanent" errors can be indistinguishable from transient
    errors (e.g. receiving an erroneous SERVFAIL from a DNS
    resolver, ...).

  - Fix-up back-off logic to not sleep 128 then 120, 120, ...
    :-)

Bug: 17569702
Change-Id: I226ea7772cd7c88d2b60153ef76e5435400e11aa
2 files changed