From 565e4164071778d076a48ece1698a0cf66e7548b Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Tue, 8 May 2018 18:36:08 +0100 Subject: [PATCH] plugin/cache: don't recheck the OPT records (#1772) These are not stored with newItem so we don't have to check them later. --- plugin/cache/item.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/plugin/cache/item.go b/plugin/cache/item.go index 27102da8a..094b8bb2e 100644 --- a/plugin/cache/item.go +++ b/plugin/cache/item.go @@ -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 }