Merge "Fix DnsResolver API could not bypass private DNS correctly"
This commit is contained in:
@@ -197,7 +197,7 @@ public final class DnsResolver {
|
|||||||
final FileDescriptor queryfd;
|
final FileDescriptor queryfd;
|
||||||
try {
|
try {
|
||||||
queryfd = resNetworkSend((network != null
|
queryfd = resNetworkSend((network != null
|
||||||
? network.netId : NETID_UNSET), query, query.length, flags);
|
? network.getNetIdForResolv() : NETID_UNSET), query, query.length, flags);
|
||||||
} catch (ErrnoException e) {
|
} catch (ErrnoException e) {
|
||||||
executor.execute(() -> callback.onError(new DnsException(ERROR_SYSTEM, e)));
|
executor.execute(() -> callback.onError(new DnsException(ERROR_SYSTEM, e)));
|
||||||
return;
|
return;
|
||||||
@@ -238,7 +238,7 @@ public final class DnsResolver {
|
|||||||
final FileDescriptor queryfd;
|
final FileDescriptor queryfd;
|
||||||
try {
|
try {
|
||||||
queryfd = resNetworkQuery((network != null
|
queryfd = resNetworkQuery((network != null
|
||||||
? network.netId : NETID_UNSET), domain, nsClass, nsType, flags);
|
? network.getNetIdForResolv() : NETID_UNSET), domain, nsClass, nsType, flags);
|
||||||
} catch (ErrnoException e) {
|
} catch (ErrnoException e) {
|
||||||
executor.execute(() -> callback.onError(new DnsException(ERROR_SYSTEM, e)));
|
executor.execute(() -> callback.onError(new DnsException(ERROR_SYSTEM, e)));
|
||||||
return;
|
return;
|
||||||
@@ -346,7 +346,8 @@ public final class DnsResolver {
|
|||||||
if (queryIpv6) {
|
if (queryIpv6) {
|
||||||
try {
|
try {
|
||||||
v6fd = resNetworkQuery((network != null
|
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) {
|
} catch (ErrnoException e) {
|
||||||
executor.execute(() -> callback.onError(new DnsException(ERROR_SYSTEM, e)));
|
executor.execute(() -> callback.onError(new DnsException(ERROR_SYSTEM, e)));
|
||||||
return;
|
return;
|
||||||
@@ -365,7 +366,8 @@ public final class DnsResolver {
|
|||||||
if (queryIpv4) {
|
if (queryIpv4) {
|
||||||
try {
|
try {
|
||||||
v4fd = resNetworkQuery((network != null
|
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) {
|
} catch (ErrnoException e) {
|
||||||
if (queryIpv6) resNetworkCancel(v6fd); // Closes fd, marks it invalid.
|
if (queryIpv6) resNetworkCancel(v6fd); // Closes fd, marks it invalid.
|
||||||
executor.execute(() -> callback.onError(new DnsException(ERROR_SYSTEM, e)));
|
executor.execute(() -> callback.onError(new DnsException(ERROR_SYSTEM, e)));
|
||||||
@@ -423,7 +425,7 @@ public final class DnsResolver {
|
|||||||
final FileDescriptor queryfd;
|
final FileDescriptor queryfd;
|
||||||
try {
|
try {
|
||||||
queryfd = resNetworkQuery((network != null
|
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) {
|
} catch (ErrnoException e) {
|
||||||
executor.execute(() -> callback.onError(new DnsException(ERROR_SYSTEM, e)));
|
executor.execute(() -> callback.onError(new DnsException(ERROR_SYSTEM, e)));
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user