mirror of
https://github.com/coredns/coredns.git
synced 2025-10-28 00:34:24 -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
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