send a HeadersStreamDataDecompressFailure error when H2 frame parsing fails

fixes #479
This commit is contained in:
Marten Seemann
2017-03-15 11:11:38 +07:00
parent 0a825a397d
commit 7f416a06c4
6 changed files with 13 additions and 6 deletions

View File

@@ -128,7 +128,7 @@ func (s *Server) handleHeaderStream(session streamCreator) {
if _, ok := err.(*qerr.QuicError); !ok {
utils.Errorf("error handling h2 request: %s", err.Error())
}
session.Close(qerr.Error(qerr.InvalidHeadersStreamData, err.Error()))
session.Close(err)
return
}
}
@@ -138,7 +138,7 @@ func (s *Server) handleHeaderStream(session streamCreator) {
func (s *Server) handleRequest(session streamCreator, headerStream quic.Stream, headerStreamMutex *sync.Mutex, hpackDecoder *hpack.Decoder, h2framer *http2.Framer) error {
h2frame, err := h2framer.ReadFrame()
if err != nil {
return err
return qerr.Error(qerr.HeadersStreamDataDecompressFailure, "cannot read frame")
}
h2headersFrame, ok := h2frame.(*http2.HeadersFrame)
if !ok {