http2: fix parsing of goaway frames

There was a last stream id before the error code
As per section 6.8 of RFC 7540

Ticket: 7991
(cherry picked from commit 9a4a29e218)
pull/14039/head
Philippe Antoine 6 months ago committed by Victor Julien
parent 3e071d73c6
commit 77d5c7c324

@ -69,7 +69,7 @@ pub enum HTTP2ConnectionState {
const HTTP2_FRAME_HEADER_LEN: usize = 9;
const HTTP2_MAGIC_LEN: usize = 24;
const HTTP2_FRAME_GOAWAY_LEN: usize = 4;
const HTTP2_FRAME_GOAWAY_LEN: usize = 8;
const HTTP2_FRAME_RSTSTREAM_LEN: usize = 4;
const HTTP2_FRAME_PRIORITY_LEN: usize = 5;
const HTTP2_FRAME_WINDOWUPDATE_LEN: usize = 4;

@ -161,6 +161,7 @@ pub struct HTTP2FrameGoAway {
}
pub fn http2_parse_frame_goaway(i: &[u8]) -> IResult<&[u8], HTTP2FrameGoAway> {
let (i, _last_stream_id) = be_u32(i)?;
let (i, errorcode) = be_u32(i)?;
Ok((i, HTTP2FrameGoAway { errorcode }))
}

Loading…
Cancel
Save