Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fbd74f86 authored by Luke Huang's avatar Luke Huang Committed by android-build-merger
Browse files

Merge "Minor changes for DnsUtils and its test" am: 8c4ef95c am: dfda1571

am: e8eaaa70

Change-Id: I940cca86b6214ea48d79575c64c9b11680597aa6
parents efd5943e e8eaaa70
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -141,14 +141,17 @@ public class DnsUtils {
     */
    public static @NonNull List<InetAddress> rfc6724Sort(@Nullable Network network,
            @NonNull List<InetAddress> answers) {
        List<SortableAddress> sortableAnswerList = new ArrayList<>();
        answers.forEach(addr -> sortableAnswerList.add(
                new SortableAddress(addr, findSrcAddress(network, addr))));
        final ArrayList<SortableAddress> sortableAnswerList = new ArrayList<>();
        for (InetAddress addr : answers) {
            sortableAnswerList.add(new SortableAddress(addr, findSrcAddress(network, addr)));
        }

        Collections.sort(sortableAnswerList, sRfc6724Comparator);

        final List<InetAddress> sortedAnswers = new ArrayList<>();
        sortableAnswerList.forEach(ans -> sortedAnswers.add(ans.address));
        for (SortableAddress ans : sortableAnswerList) {
            sortedAnswers.add(ans.address);
        }

        return sortedAnswers;
    }
+26 −12
Original line number Diff line number Diff line
@@ -57,24 +57,38 @@ public class DnsUtilsTest {
    @Test
    public void testRfc6724Comparator() {
        final List<DnsUtils.SortableAddress> test = Arrays.asList(
                makeSortableAddress("216.58.200.36"),             // Ipv4
                makeSortableAddress("2404:6800:4008:801::2004"),  // global
                makeSortableAddress("::1"),                       // loop back
                makeSortableAddress("fe80::c46f:1cff:fe04:39b4"), // link local
                makeSortableAddress("::ffff:192.168.95.3"),       // IPv4-mapped IPv6
                makeSortableAddress("2001::47c1"),                // teredo tunneling
                makeSortableAddress("::216.58.200.36"),           // IPv4-compatible
                makeSortableAddress("3ffe::1234:5678"));          // 6bone
                // Ipv4
                makeSortableAddress("216.58.200.36", "192.168.1.1"),
                // global with different scope src
                makeSortableAddress("2404:6800:4008:801::2004", "fe80::1111:2222"),
                // global without src addr
                makeSortableAddress("2404:6800:cafe:801::1"),
                // loop back
                makeSortableAddress("::1", "::1"),
                // link local
                makeSortableAddress("fe80::c46f:1cff:fe04:39b4", "fe80::1"),
                // teredo tunneling
                makeSortableAddress("2001::47c1", "2001::2"),
                // 6bone without src addr
                makeSortableAddress("3ffe::1234:5678"),
                // IPv4-compatible
                makeSortableAddress("::216.58.200.36", "::216.58.200.9"),
                // 6bone
                makeSortableAddress("3ffe::1234:5678", "3ffe::1234:1"),
                // IPv4-mapped IPv6
                makeSortableAddress("::ffff:192.168.95.7", "::ffff:192.168.95.1"));

        final List<InetAddress> expected = Arrays.asList(
                stringToAddress("::1"),                       // loop back
                stringToAddress("fe80::c46f:1cff:fe04:39b4"), // link local
                stringToAddress("2404:6800:4008:801::2004"),  // global
                stringToAddress("216.58.200.36"),             // Ipv4
                stringToAddress("::ffff:192.168.95.3"),       // IPv4-mapped IPv6
                stringToAddress("::ffff:192.168.95.7"),       // IPv4-mapped IPv6
                stringToAddress("2001::47c1"),                // teredo tunneling
                stringToAddress("::216.58.200.36"),           // IPv4-compatible
                stringToAddress("3ffe::1234:5678"));          // 6bone
                stringToAddress("3ffe::1234:5678"),           // 6bone
                stringToAddress("2404:6800:4008:801::2004"),  // global with different scope src
                stringToAddress("2404:6800:cafe:801::1"),     // global without src addr
                stringToAddress("3ffe::1234:5678"));          // 6bone without src addr

        Collections.sort(test, new DnsUtils.Rfc6724Comparator());