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. | ||||
| 	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() | ||||
|  | ||||
| 	mt, _ := response.Typify(dw.Msg, time.Now().UTC()) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user