mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-31 10:13:14 -04:00 
			
		
		
		
	middleware/caching: don't set TTL on OPT
When setting the TTL on all RR in the message we would also do this for the OPT RR. This is wrong as the OPT RR does *not* have a TTL.
This commit is contained in:
		
							
								
								
									
										6
									
								
								middleware/cache/cache.go
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								middleware/cache/cache.go
									
									
									
									
										vendored
									
									
								
							| @@ -74,7 +74,7 @@ func (c *CachingResponseWriter) WriteMsg(res *dns.Msg) error { | ||||
|  | ||||
| func (c *CachingResponseWriter) set(m *dns.Msg, key string, mt middleware.MsgType) { | ||||
| 	if key == "" { | ||||
| 		// logger the log? TODO(miek) | ||||
| 		log.Printf("[ERROR] Caching called with empty cache key") | ||||
| 		return | ||||
| 	} | ||||
|  | ||||
| @@ -94,6 +94,10 @@ func (c *CachingResponseWriter) set(m *dns.Msg, key string, mt middleware.MsgTyp | ||||
| 		i := newItem(m, duration) | ||||
|  | ||||
| 		c.cache.Set(key, i, duration) | ||||
| 	case middleware.OtherError: | ||||
| 		// don't cache these | ||||
| 	default: | ||||
| 		log.Printf("[WARNING] Caching called with unknown middleware MsgType: %d", mt) | ||||
| 	} | ||||
| } | ||||
|  | ||||
|   | ||||
							
								
								
									
										3
									
								
								middleware/cache/item.go
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								middleware/cache/item.go
									
									
									
									
										vendored
									
									
								
							| @@ -74,6 +74,9 @@ func setCap(m *dns.Msg, ttl uint32) { | ||||
| 		r.Header().Ttl = uint32(ttl) | ||||
| 	} | ||||
| 	for _, r := range m.Extra { | ||||
| 		if r.Header().Rrtype == dns.TypeOPT { | ||||
| 			continue | ||||
| 		} | ||||
| 		r.Header().Ttl = uint32(ttl) | ||||
| 	} | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user