Support variety of IPv6 addresses on RDNS-on-cache
IPv6 address has multiple representation formats. The following
addresses are the same:
"2001:db8::102:304"
"2001:0db8:0000:0000:0000:0000:0102:0304"
"2001:db8::1.2.3.4"
In original design, the RDNS-on-cache can only match IPv6 address with
format "2001:db8::102:304", but not with the others. It is because all
different representations are converted to a single binary form while
they are stored in cache. And of course, it will be a single format if
the cached IP address is converted back to text form while doing text
comparison. In this commit, the RDNS-on-cache converts query address to
binary form and binary compares with cached entry, rather than text
comparison. Also, add two test cases.
Bug: 131051938
Test: atest resolv_cache_unit_test.cpp#GetHostByAddrFromCache_InvalidArgs
atest resolv_cache_unit_test.cpp#GetHostByAddrFromCache
Change-Id: I064f4bafca91ad7dbbd9b37ce3c2d05f8d6b954d
Loading
Please register or sign in to comment