From: Philippe Antoine Date: Fri, 4 Jun 2021 08:28:10 +0000 (+0200) Subject: rust: fix app-layer parser flags X-Git-Tag: suricata-6.0.3~35 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9aa5c6aff008c92f208b673e1e644f4307f83f69;p=thirdparty%2Fsuricata.git rust: fix app-layer parser flags This especially allows for SSH bypass to work (cherry picked from commit fdab22d924702168e3b7d07d061009ebdcfa9aa9) --- diff --git a/rust/src/applayer.rs b/rust/src/applayer.rs index 3b23a126d4..659870e773 100644 --- a/rust/src/applayer.rs +++ b/rust/src/applayer.rs @@ -298,12 +298,12 @@ extern { } // Defined in app-layer-parser.h -pub const APP_LAYER_PARSER_EOF_TS : u8 = 0b0101; -pub const APP_LAYER_PARSER_EOF_TC : u8 = 0b0110; -pub const APP_LAYER_PARSER_NO_INSPECTION : u8 = 0b1; -pub const APP_LAYER_PARSER_NO_REASSEMBLY : u8 = 0b10; -pub const APP_LAYER_PARSER_NO_INSPECTION_PAYLOAD : u8 = 0b100; -pub const APP_LAYER_PARSER_BYPASS_READY : u8 = 0b1000; +pub const APP_LAYER_PARSER_EOF_TS : u8 = BIT_U8!(5); +pub const APP_LAYER_PARSER_EOF_TC : u8 = BIT_U8!(6); +pub const APP_LAYER_PARSER_NO_INSPECTION : u8 = BIT_U8!(1); +pub const APP_LAYER_PARSER_NO_REASSEMBLY : u8 = BIT_U8!(2); +pub const APP_LAYER_PARSER_NO_INSPECTION_PAYLOAD : u8 = BIT_U8!(3); +pub const APP_LAYER_PARSER_BYPASS_READY : u8 = BIT_U8!(4); pub const APP_LAYER_PARSER_OPT_ACCEPT_GAPS: u32 = BIT_U32!(0); pub const APP_LAYER_PARSER_OPT_UNIDIR_TXS: u32 = BIT_U32!(1); diff --git a/rust/src/core.rs b/rust/src/core.rs index 2fb3ac1eca..61073ed657 100644 --- a/rust/src/core.rs +++ b/rust/src/core.rs @@ -48,6 +48,10 @@ pub static mut ALPROTO_FAILED : AppProto = 0; // updated during init pub const IPPROTO_TCP : i32 = 6; pub const IPPROTO_UDP : i32 = 17; +macro_rules!BIT_U8 { + ($x:expr) => (1 << $x); +} + macro_rules!BIT_U16 { ($x:expr) => (1 << $x); }