aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugin/cache/item.go7
1 files 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
}