1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-12-22 18:17:52 -05:00

rename dns.Server

This commit is contained in:
Darien Raymond 2017-12-28 23:19:41 +01:00
parent 2bf5a008f0
commit bc52a105ff
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169

View File

@ -33,19 +33,19 @@ func (r *DomainRecord) Inactive() bool {
return r.Expire.Before(now) || r.LastAccess.Add(time.Minute*5).Before(now) return r.Expire.Before(now) || r.LastAccess.Add(time.Minute*5).Before(now)
} }
type CacheServer struct { type Server struct {
sync.Mutex sync.Mutex
hosts map[string]net.IP hosts map[string]net.IP
records map[string]*DomainRecord records map[string]*DomainRecord
servers []NameServer servers []NameServer
} }
func NewCacheServer(ctx context.Context, config *Config) (*CacheServer, error) { func New(ctx context.Context, config *Config) (*Server, error) {
space := app.SpaceFromContext(ctx) space := app.SpaceFromContext(ctx)
if space == nil { if space == nil {
return nil, newError("no space in context") return nil, newError("no space in context")
} }
server := &CacheServer{ server := &Server{
records: make(map[string]*DomainRecord), records: make(map[string]*DomainRecord),
servers: make([]NameServer, len(config.NameServers)), servers: make([]NameServer, len(config.NameServers)),
hosts: config.GetInternalHosts(), hosts: config.GetInternalHosts(),
@ -77,18 +77,20 @@ func NewCacheServer(ctx context.Context, config *Config) (*CacheServer, error) {
return server, nil return server, nil
} }
func (*CacheServer) Interface() interface{} { func (*Server) Interface() interface{} {
return (*CacheServer)(nil) return (*Server)(nil)
} }
func (s *CacheServer) Start() error { func (s *Server) Start() error {
net.RegisterIPResolver(s) net.RegisterIPResolver(s)
return nil return nil
} }
func (*CacheServer) Close() {} func (*Server) Close() {
net.RegisterIPResolver(net.SystemIPResolver())
}
func (s *CacheServer) GetCached(domain string) []net.IP { func (s *Server) GetCached(domain string) []net.IP {
s.Lock() s.Lock()
defer s.Unlock() defer s.Unlock()
@ -99,7 +101,7 @@ func (s *CacheServer) GetCached(domain string) []net.IP {
return nil return nil
} }
func (s *CacheServer) tryCleanup() { func (s *Server) tryCleanup() {
s.Lock() s.Lock()
defer s.Unlock() defer s.Unlock()
@ -116,7 +118,7 @@ func (s *CacheServer) tryCleanup() {
} }
} }
func (s *CacheServer) LookupIP(domain string) ([]net.IP, error) { func (s *Server) LookupIP(domain string) ([]net.IP, error) {
if ip, found := s.hosts[domain]; found { if ip, found := s.hosts[domain]; found {
return []net.IP{ip}, nil return []net.IP{ip}, nil
} }
@ -154,6 +156,6 @@ func (s *CacheServer) LookupIP(domain string) ([]net.IP, error) {
func init() { func init() {
common.Must(common.RegisterConfig((*Config)(nil), func(ctx context.Context, config interface{}) (interface{}, error) { common.Must(common.RegisterConfig((*Config)(nil), func(ctx context.Context, config interface{}) (interface{}, error) {
return NewCacheServer(ctx, config.(*Config)) return New(ctx, config.(*Config))
})) }))
} }