dnp3/doc: list possible values for enum keywords

Ticket: 8675
This commit is contained in:
Philippe Antoine
2026-10-08 13:08:20 +00:00
committed by Victor Julien
parent f3d8af65cb
commit b47bde6cda
3 changed files with 17 additions and 0 deletions
+2
View File
@@ -64,6 +64,8 @@ Where value is one of:
* unsolicited_response
* authenticate_resp
See ``suricata --list-keywords=json | jq .dnp3_func.enum_values``
dnp3_ind
--------
+9
View File
@@ -18,6 +18,9 @@
use crate::detect::uint::{
detect_parse_uint_bitflags, detect_parse_uint_enum, DetectBitflagModifier, DetectUintData,
};
use crate::detect::EnumString;
use crate::jsonbuilder::JsonBuilder;
use suricata_sys::sys::SCJsonBuilder;
use std::ffi::CStr;
@@ -103,6 +106,12 @@ pub unsafe extern "C" fn SCDnp3DetectIndParse(
return std::ptr::null_mut();
}
#[no_mangle]
pub unsafe extern "C" fn SCDnp3DetectFuncListValues(jsb: *mut SCJsonBuilder) {
let jsb = cast_pointer!(jsb, JsonBuilder);
let _ = Dnp3Func::list_values(jsb);
}
#[no_mangle]
pub unsafe extern "C" fn SCDnp3DetectFuncParse(
ustr: *const std::os::raw::c_char,
+6
View File
@@ -268,6 +268,11 @@ static int DetectDNP3IndMatch(DetectEngineThreadCtx *det_ctx,
return DetectU16Match((uint16_t)((tx->iin.iin1 << 8) | tx->iin.iin2), detect);
}
static void DetectDNP3FuncListValues(SCJsonBuilder *jsb)
{
SCDnp3DetectFuncListValues(jsb);
}
static void DetectDNP3FuncRegister(void)
{
SCEnter();
@@ -282,6 +287,7 @@ static void DetectDNP3FuncRegister(void)
sigmatch_table[DETECT_DNP3FUNC].Setup = DetectDNP3FuncSetup;
sigmatch_table[DETECT_DNP3FUNC].Free = DetectDNP3FuncFree;
sigmatch_table[DETECT_DNP3FUNC].flags = SIGMATCH_INFO_UINT8 | SIGMATCH_INFO_ENUM_UINT;
sigmatch_table[DETECT_DNP3FUNC].JsonAdditionalInfo = DetectDNP3FuncListValues;
#ifdef UNITTESTS
sigmatch_table[DETECT_DNP3FUNC].RegisterTests = DetectDNP3FuncRegisterTests;
#endif