mirror of https://github.com/v2ray/v2ray-core
fix localnameserver creation
parent
69820788b5
commit
c9e35bb1ba
|
@ -10,11 +10,11 @@ type NameServer interface {
|
||||||
QueryIP(ctx context.Context, domain string) ([]net.IP, error)
|
QueryIP(ctx context.Context, domain string) ([]net.IP, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
type LocalNameServer struct {
|
type localNameServer struct {
|
||||||
resolver net.Resolver
|
resolver net.Resolver
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *LocalNameServer) QueryIP(ctx context.Context, domain string) ([]net.IP, error) {
|
func (s *localNameServer) QueryIP(ctx context.Context, domain string) ([]net.IP, error) {
|
||||||
ipAddr, err := s.resolver.LookupIPAddr(ctx, domain)
|
ipAddr, err := s.resolver.LookupIPAddr(ctx, domain)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -26,8 +26,8 @@ func (s *LocalNameServer) QueryIP(ctx context.Context, domain string) ([]net.IP,
|
||||||
return ips, nil
|
return ips, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewLocalNameServer() *LocalNameServer {
|
func NewLocalNameServer() *localNameServer {
|
||||||
return &LocalNameServer{
|
return &localNameServer{
|
||||||
resolver: net.Resolver{
|
resolver: net.Resolver{
|
||||||
PreferGo: true,
|
PreferGo: true,
|
||||||
},
|
},
|
||||||
|
|
|
@ -44,7 +44,7 @@ func New(ctx context.Context, config *Config) (*Server, error) {
|
||||||
for idx, destPB := range config.NameServers {
|
for idx, destPB := range config.NameServers {
|
||||||
address := destPB.Address.AsAddress()
|
address := destPB.Address.AsAddress()
|
||||||
if address.Family().IsDomain() && address.Domain() == "localhost" {
|
if address.Family().IsDomain() && address.Domain() == "localhost" {
|
||||||
server.servers[idx] = &LocalNameServer{}
|
server.servers[idx] = NewLocalNameServer()
|
||||||
} else {
|
} else {
|
||||||
dest := destPB.AsDestination()
|
dest := destPB.AsDestination()
|
||||||
if dest.Network == net.Network_Unknown {
|
if dest.Network == net.Network_Unknown {
|
||||||
|
@ -56,7 +56,7 @@ func New(ctx context.Context, config *Config) (*Server, error) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if len(config.NameServers) == 0 {
|
if len(config.NameServers) == 0 {
|
||||||
server.servers = append(server.servers, &LocalNameServer{})
|
server.servers = append(server.servers, NewLocalNameServer())
|
||||||
}
|
}
|
||||||
|
|
||||||
return server, nil
|
return server, nil
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 17ef924799bd76d2e939bb6ccf8356bdfb19671d
|
Subproject commit 353d1e4e044e28bcf2ce8dccd9056bfd3385dbb8
|
Loading…
Reference in New Issue