From fdab22d924702168e3b7d07d061009ebdcfa9aa9 Mon Sep 17 00:00:00 2001 From: Philippe Antoine Date: Fri, 4 Jun 2021 10:28:10 +0200 Subject: [PATCH] rust: fix app-layer parser flags This especially allows for SSH bypass to work --- rust/src/applayer.rs | 12 ++++++------ rust/src/core.rs | 4 ++++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/rust/src/applayer.rs b/rust/src/applayer.rs index 75a46de9d84d..4fbe714eb0ed 100644 --- a/rust/src/applayer.rs +++ b/rust/src/applayer.rs @@ -303,12 +303,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 7fab32876682..62c8a599d22b 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); }