mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-30 17:53:21 -04:00 
			
		
		
		
	DoH: Fixing panic in case if there's no response (#2577)
* Fixing panic in case if there's no response There could be a situation when there's no response after ServeDNS call. With the current implementation, this leads to panic. * Add comment
This commit is contained in:
		
				
					committed by
					
						 Miek Gieben
						Miek Gieben
					
				
			
			
				
	
			
			
			
						parent
						
							47cce40d19
						
					
				
				
					commit
					2b6fb578c3
				
			| @@ -119,6 +119,14 @@ func (s *ServerHTTPS) ServeHTTP(w http.ResponseWriter, r *http.Request) { | |||||||
| 	// We should expect a packet to be returned that we can send to the client. | 	// We should expect a packet to be returned that we can send to the client. | ||||||
| 	s.ServeDNS(context.Background(), dw, msg) | 	s.ServeDNS(context.Background(), dw, msg) | ||||||
|  |  | ||||||
|  | 	// See section 4.2.1 of RFC 8484. | ||||||
|  | 	// We are using code 500 to indicate an unexpected situation when the chain | ||||||
|  | 	// handler has not provided any response message. | ||||||
|  | 	if dw.Msg == nil { | ||||||
|  | 		http.Error(w, "No response", http.StatusInternalServerError) | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	buf, _ := dw.Msg.Pack() | 	buf, _ := dw.Msg.Pack() | ||||||
|  |  | ||||||
| 	mt, _ := response.Typify(dw.Msg, time.Now().UTC()) | 	mt, _ := response.Typify(dw.Msg, time.Now().UTC()) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user