1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-07-01 11:35:23 +00:00

Merge pull request #2150 from mellow-io/fix-dns

revert broken dns changes
This commit is contained in:
Kslr 2020-01-01 12:21:30 +08:00 committed by GitHub
commit 1cb43035f1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 18 deletions

View File

@ -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

View File

@ -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() {