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:
parent
0455febc34
commit
565e416407
1 changed files with 3 additions and 4 deletions
7
plugin/cache/item.go
vendored
7
plugin/cache/item.go
vendored
|
@ -32,7 +32,7 @@ func newItem(m *dns.Msg, now time.Time, d time.Duration) *item {
|
||||||
i.Answer = m.Answer
|
i.Answer = m.Answer
|
||||||
i.Ns = m.Ns
|
i.Ns = m.Ns
|
||||||
i.Extra = make([]dns.RR, len(m.Extra))
|
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
|
j := 0
|
||||||
for _, e := range m.Extra {
|
for _, e := range m.Extra {
|
||||||
if e.Header().Rrtype == dns.TypeOPT {
|
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] = dns.Copy(r)
|
||||||
m1.Ns[j].Header().Ttl = ttl
|
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 {
|
for j, r := range i.Extra {
|
||||||
m1.Extra[j] = dns.Copy(r)
|
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
|
return m1
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue