From 4af3bd9c919ec2fde98390957896753232343768 Mon Sep 17 00:00:00 2001 From: Philippe Antoine Date: Mon, 12 May 2025 21:13:52 +0200 Subject: [PATCH] rust: bindgen SCDetectHelperKeywordSetCleanCString Ticket: 7667 --- rust/src/detect/mod.rs | 8 +++++--- rust/sys/src/sys.rs | 3 +++ src/detect-engine-register.c | 2 +- src/detect-engine-register.h | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/rust/src/detect/mod.rs b/rust/src/detect/mod.rs index 74050e17a9..c27347abe8 100644 --- a/rust/src/detect/mod.rs +++ b/rust/src/detect/mod.rs @@ -38,7 +38,10 @@ pub mod datasets; use std::os::raw::{c_int, c_void}; use std::ffi::CString; -use suricata_sys::sys::{AppProto, DetectEngineCtx, Signature, SCDetectHelperKeywordRegister, SCSigTableAppLiteElmt}; +use suricata_sys::sys::{ + AppProto, DetectEngineCtx, SCDetectHelperKeywordRegister, SCDetectHelperKeywordSetCleanCString, + SCSigTableAppLiteElmt, Signature, +}; /// EnumString trait that will be implemented on enums that /// derive StringEnum. @@ -87,7 +90,7 @@ pub fn helper_keyword_register_sticky_buffer(kw: &SigTableElmtStickyBuffer) -> c }; unsafe { let r = SCDetectHelperKeywordRegister(&st); - DetectHelperKeywordSetCleanCString(r); + SCDetectHelperKeywordSetCleanCString(r); return r; } } @@ -117,7 +120,6 @@ pub const SIGMATCH_INFO_STICKY_BUFFER: u16 = 0x200; // BIT_U16(9) /// cbindgen:ignore extern "C" { - pub fn DetectHelperKeywordSetCleanCString(id: c_int); pub fn DetectHelperGetData( de: *mut c_void, transforms: *const c_void, flow: *const c_void, flow_flags: u8, tx: *const c_void, list_id: c_int, diff --git a/rust/sys/src/sys.rs b/rust/sys/src/sys.rs index 4e42ffb4f2..b744177703 100644 --- a/rust/sys/src/sys.rs +++ b/rust/sys/src/sys.rs @@ -176,6 +176,9 @@ extern "C" { KeywordsRegister: ::std::option::Option, ) -> ::std::os::raw::c_int; } +extern "C" { + pub fn SCDetectHelperKeywordSetCleanCString(id: ::std::os::raw::c_int); +} #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct DetectEngineCtx_ { diff --git a/src/detect-engine-register.c b/src/detect-engine-register.c index 16e1f3fbe6..49d34ce5f9 100644 --- a/src/detect-engine-register.c +++ b/src/detect-engine-register.c @@ -458,7 +458,7 @@ static void SigCleanCString(SigTableElmt *base) SCDetectSigMatchNamesFree(&kw); } -void DetectHelperKeywordSetCleanCString(int id) +void SCDetectHelperKeywordSetCleanCString(int id) { sigmatch_table[id].Cleanup = SigCleanCString; } diff --git a/src/detect-engine-register.h b/src/detect-engine-register.h index a2ba40e749..1f714e4b46 100644 --- a/src/detect-engine-register.h +++ b/src/detect-engine-register.h @@ -350,6 +350,6 @@ void SigTableSetup(void); int SCSigTablePreRegister(void (*KeywordsRegister)(void)); void SigTableRegisterTests(void); bool SigTableHasKeyword(const char *keyword); -void DetectHelperKeywordSetCleanCString(int id); +void SCDetectHelperKeywordSetCleanCString(int id); #endif /* SURICATA_DETECT_ENGINE_REGISTER_H */ -- 2.47.2