fix android dns query
This commit is contained in:
@@ -4,6 +4,7 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net"
|
"net"
|
||||||
|
"runtime"
|
||||||
"strings"
|
"strings"
|
||||||
"syscall"
|
"syscall"
|
||||||
"time"
|
"time"
|
||||||
@@ -145,8 +146,12 @@ func (d *Dialer) dialOnce(ctx context.Context, network, addr, ifceName string, i
|
|||||||
default:
|
default:
|
||||||
return nil, fmt.Errorf("dial: unsupported network %s", network)
|
return nil, fmt.Errorf("dial: unsupported network %s", network)
|
||||||
}
|
}
|
||||||
|
var resolver *net.Resolver
|
||||||
|
if runtime.GOOS != "android" {
|
||||||
|
resolver = &net.Resolver{PreferGo: true}
|
||||||
|
}
|
||||||
netd := net.Dialer{
|
netd := net.Dialer{
|
||||||
Resolver: &net.Resolver{PreferGo: true},
|
Resolver: resolver,
|
||||||
LocalAddr: ifAddr,
|
LocalAddr: ifAddr,
|
||||||
Control: func(network, address string, c syscall.RawConn) error {
|
Control: func(network, address string, c syscall.RawConn) error {
|
||||||
return c.Control(func(fd uintptr) {
|
return c.Control(func(fd uintptr) {
|
||||||
|
|||||||
Reference in New Issue
Block a user