mirror of
https://github.com/v2fly/v2ray-core.git
synced 2024-12-30 14:06:58 -05:00
Merge pull request #2150 from mellow-io/fix-dns
revert broken dns changes
This commit is contained in:
commit
1cb43035f1
@ -177,16 +177,10 @@ func parseResponse(payload []byte) (*IPRecord, error) {
|
||||
}
|
||||
|
||||
now := time.Now()
|
||||
var ipRecExpire time.Time
|
||||
if h.RCode != dnsmessage.RCodeSuccess {
|
||||
// A default TTL, maybe a negtive cache
|
||||
ipRecExpire = now.Add(time.Second * 120)
|
||||
}
|
||||
|
||||
ipRecord := &IPRecord{
|
||||
ReqID: h.ID,
|
||||
RCode: h.RCode,
|
||||
Expire: ipRecExpire,
|
||||
Expire: now.Add(time.Second * 600),
|
||||
}
|
||||
|
||||
L:
|
||||
@ -199,6 +193,15 @@ L:
|
||||
break
|
||||
}
|
||||
|
||||
ttl := ah.TTL
|
||||
if ttl == 0 {
|
||||
ttl = 600
|
||||
}
|
||||
expire := now.Add(time.Duration(ttl) * time.Second)
|
||||
if ipRecord.Expire.After(expire) {
|
||||
ipRecord.Expire = expire
|
||||
}
|
||||
|
||||
switch ah.Type {
|
||||
case dnsmessage.TypeA:
|
||||
ans, err := parser.AResource()
|
||||
@ -221,16 +224,6 @@ L:
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
if ipRecord.Expire.IsZero() {
|
||||
ttl := ah.TTL
|
||||
if ttl < 600 {
|
||||
// at least 10 mins TTL
|
||||
ipRecord.Expire = now.Add(time.Minute * 10)
|
||||
} else {
|
||||
ipRecord.Expire = now.Add(time.Duration(ttl) * time.Second)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ipRecord, nil
|
||||
|
@ -364,7 +364,7 @@ func (s *Server) lookupIPInternal(domain string, option IPOption) ([]net.IP, err
|
||||
}
|
||||
}
|
||||
|
||||
return nil, dns.ErrEmptyResponse.Base(lastErr)
|
||||
return nil, newError("returning nil for domain ", domain).Base(lastErr)
|
||||
}
|
||||
|
||||
func init() {
|
||||
|
Loading…
Reference in New Issue
Block a user