plugin/cache: don't recheck the OPT records (#1772)

These are not stored with newItem so we don't have to check them later.
This commit is contained in:
Miek Gieben 2018-05-08 18:36:08 +01:00 committed by GitHub
parent 0455febc34
commit 565e416407
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -32,7 +32,7 @@ func newItem(m *dns.Msg, now time.Time, d time.Duration) *item {
i.Answer = m.Answer
i.Ns = m.Ns
i.Extra = make([]dns.RR, len(m.Extra))
// Don't copy OPT record as these are hop-by-hop.
// Don't copy OPT records as these are hop-by-hop.
j := 0
for _, e := range m.Extra {
if e.Header().Rrtype == dns.TypeOPT {
@ -75,11 +75,10 @@ func (i *item) toMsg(m *dns.Msg, now time.Time) *dns.Msg {
m1.Ns[j] = dns.Copy(r)
m1.Ns[j].Header().Ttl = ttl
}
// newItem skips OPT records, so we can just use i.Extra as is.
for j, r := range i.Extra {
m1.Extra[j] = dns.Copy(r)
if m1.Extra[j].Header().Rrtype != dns.TypeOPT {
m1.Extra[j].Header().Ttl = ttl
}
m1.Extra[j].Header().Ttl = ttl
}
return m1
}