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

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

Merge "Fix DnsResolver API could not bypass private DNS correctly" am: 40e7fb6a am: 70155729

am: 51a5dab5

Change-Id: Ic9e078f8acf7688850dfe31f15ed065739ad5281
parents 410fd7f4 51a5dab5
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -197,7 +197,7 @@ public final class DnsResolver {
        final FileDescriptor queryfd;
        try {
            queryfd = resNetworkSend((network != null
                ? network.netId : NETID_UNSET), query, query.length, flags);
                ? network.getNetIdForResolv() : NETID_UNSET), query, query.length, flags);
        } catch (ErrnoException e) {
            executor.execute(() -> callback.onError(new DnsException(ERROR_SYSTEM, e)));
            return;
@@ -238,7 +238,7 @@ public final class DnsResolver {
        final FileDescriptor queryfd;
        try {
            queryfd = resNetworkQuery((network != null
                    ? network.netId : NETID_UNSET), domain, nsClass, nsType, flags);
                    ? network.getNetIdForResolv() : NETID_UNSET), domain, nsClass, nsType, flags);
        } catch (ErrnoException e) {
            executor.execute(() -> callback.onError(new DnsException(ERROR_SYSTEM, e)));
            return;
@@ -346,7 +346,8 @@ public final class DnsResolver {
        if (queryIpv6) {
            try {
                v6fd = resNetworkQuery((network != null
                        ? network.netId : NETID_UNSET), domain, CLASS_IN, TYPE_AAAA, flags);
                        ? network.getNetIdForResolv() : NETID_UNSET),
                        domain, CLASS_IN, TYPE_AAAA, flags);
            } catch (ErrnoException e) {
                executor.execute(() -> callback.onError(new DnsException(ERROR_SYSTEM, e)));
                return;
@@ -365,7 +366,8 @@ public final class DnsResolver {
        if (queryIpv4) {
            try {
                v4fd = resNetworkQuery((network != null
                        ? network.netId : NETID_UNSET), domain, CLASS_IN, TYPE_A, flags);
                        ? network.getNetIdForResolv() : NETID_UNSET),
                        domain, CLASS_IN, TYPE_A, flags);
            } catch (ErrnoException e) {
                if (queryIpv6) resNetworkCancel(v6fd);  // Closes fd, marks it invalid.
                executor.execute(() -> callback.onError(new DnsException(ERROR_SYSTEM, e)));
@@ -423,7 +425,7 @@ public final class DnsResolver {
        final FileDescriptor queryfd;
        try {
            queryfd = resNetworkQuery((network != null
                    ? network.netId : NETID_UNSET), domain, CLASS_IN, nsType, flags);
                    ? network.getNetIdForResolv() : NETID_UNSET), domain, CLASS_IN, nsType, flags);
        } catch (ErrnoException e) {
            executor.execute(() -> callback.onError(new DnsException(ERROR_SYSTEM, e)));
            return;