]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
http2: add settings from newer RFCs
authorPhilippe Antoine <pantoine@oisf.net>
Fri, 22 Dec 2023 14:51:33 +0000 (15:51 +0100)
committerVictor Julien <victor@inliniac.net>
Wed, 17 Apr 2024 05:17:02 +0000 (07:17 +0200)
Including the one for websocket over HTTP/2

rust/src/http2/parser.rs

index 64799460aa9af98a6884b035d7f3d28f690b1093..39df368a84163456fe81368a17e88c8a7bf26fb4 100644 (file)
@@ -695,6 +695,8 @@ pub enum HTTP2SettingsId {
     InitialWindowSize = 4,
     MaxFrameSize = 5,
     MaxHeaderListSize = 6,
+    EnableConnectProtocol = 8, // rfc8441
+    NoRfc7540Priorities = 9, // rfc9218
 }
 
 impl fmt::Display for HTTP2SettingsId {
@@ -716,6 +718,8 @@ impl std::str::FromStr for HTTP2SettingsId {
             "SETTINGS_INITIAL_WINDOW_SIZE" => Ok(HTTP2SettingsId::InitialWindowSize),
             "SETTINGS_MAX_FRAME_SIZE" => Ok(HTTP2SettingsId::MaxFrameSize),
             "SETTINGS_MAX_HEADER_LIST_SIZE" => Ok(HTTP2SettingsId::MaxHeaderListSize),
+            "SETTINGS_ENABLE_CONNECT_PROTOCOL" => Ok(HTTP2SettingsId::EnableConnectProtocol),
+            "SETTINGS_NO_RFC7540_PRIORITIES" => Ok(HTTP2SettingsId::NoRfc7540Priorities),
             _ => Err(format!("'{}' is not a valid value for HTTP2SettingsId", s)),
         }
     }