Skip to content
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -2422,7 +2422,7 @@ fi
AC_PATH_PROG(CBINDGEN, cbindgen, "no")
if test "x$CBINDGEN" != "xno"; then
cbindgen_version=$(cbindgen --version 2>&1 | cut -d' ' -f2-)
min_cbindgen_version="0.10.0"
min_cbindgen_version="0.16.0"
AS_VERSION_COMPARE([$cbindgen_version], [$min_cbindgen_version],
[cbindgen_ok="no"],
[cbindgen_ok="yes"],
Expand Down
9 changes: 2 additions & 7 deletions rust/src/conf.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,13 +81,8 @@ pub fn conf_get(key: &str) -> Option<&str> {
// Return the value of key as a boolean. A value that is not set is
// the same as having it set to false.
pub fn conf_get_bool(key: &str) -> bool {
if let Some(val) = conf_get(key) {
match val {
"1" | "yes" | "true" | "on" => {
return true;
},
_ => {},
}
if let Some("1" | "yes" | "true" | "on") = conf_get(key) {
return true;
}

return false;
Expand Down
4 changes: 2 additions & 2 deletions rust/src/dcerpc/dcerpc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -507,8 +507,8 @@ impl DCERPCState {
/// type: unsigned 32 bit integer
/// description: call_id param derived from TCP Header
/// * `dir`:
/// type: enum Direction
/// description: direction of the flow
/// type: enum Direction
/// description: direction of the flow
///
/// Return value:
/// Option mutable reference to DCERPCTransaction
Expand Down
7 changes: 2 additions & 5 deletions rust/src/dcerpc/dcerpc_udp.rs
Original file line number Diff line number Diff line change
Expand Up @@ -410,11 +410,8 @@ mod tests {
0x1c, 0x7d, 0xcf, 0x11,
];

match parser::parse_dcerpc_udp_header(request) {
Ok((_rem, _header)) => {
{ assert!(false); }
}
_ => {}
if let Ok((_rem, _header)) = parser::parse_dcerpc_udp_header(request) {
{ assert!(false); }
}
}

Expand Down
9 changes: 2 additions & 7 deletions rust/src/dcerpc/detect.rs
Original file line number Diff line number Diff line change
Expand Up @@ -212,13 +212,8 @@ pub extern "C" fn rs_dcerpc_iface_match(
}

match state.get_hdr_type() {
Some(x) => match x {
DCERPC_TYPE_REQUEST | DCERPC_TYPE_RESPONSE => {}
_ => {
return 0;
}
},
None => {
Some(DCERPC_TYPE_REQUEST | DCERPC_TYPE_RESPONSE) => {}
_ => {
return 0;
}
};
Expand Down
7 changes: 2 additions & 5 deletions rust/src/detect/uint.rs
Original file line number Diff line number Diff line change
Expand Up @@ -417,11 +417,8 @@ mod tests {
assert!(false);
}
}
match detect_parse_uint::<u8>("2kb") {
Ok((_, _val)) => {
assert!(false);
}
Err(_) => {}
if let Ok((_, _val)) = detect_parse_uint::<u8>("2kb") {
assert!(false);
}
match detect_parse_uint::<u32>("3MB") {
Ok((_, val)) => {
Expand Down
7 changes: 2 additions & 5 deletions rust/src/http2/parser.rs
Original file line number Diff line number Diff line change
Expand Up @@ -882,11 +882,8 @@ mod tests {
match r {
Ok((rem, ctx)) => {
assert_eq!(ctx.id, HTTP2SettingsId::EnablePush);
match ctx.value {
Some(_) => {
panic!("Unexpected value");
}
None => {}
if ctx.value.is_some() {
panic!("Unexpected value");
}
assert_eq!(rem.len(), 0);
}
Expand Down
16 changes: 5 additions & 11 deletions rust/src/ssh/parser.rs
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ impl<'a> SshPacketKeyExchange<'a> {
slices
.iter()
.for_each(|&x| hassh_string.extend_from_slice(x));
hassh.extend(format!("{:x}", Md5::new().chain(&hassh_string).finalize()).as_bytes());
hassh.extend(format!("{:x}", Md5::new().chain(hassh_string).finalize()).as_bytes());
}
}

Expand Down Expand Up @@ -552,11 +552,8 @@ mod tests {
,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00];
let mut hassh_string: Vec<u8> = vec!();
let mut hassh: Vec<u8> = vec!();
match ssh_parse_key_exchange(&client_key_exchange){
Ok((_, key_exchange)) => {
key_exchange.generate_hassh(&mut hassh_string, &mut hassh, &true);
}
Err(_) => { }
if let Ok((_, key_exchange)) = ssh_parse_key_exchange(&client_key_exchange) {
key_exchange.generate_hassh(&mut hassh_string, &mut hassh, &true);
}

assert_eq!(hassh_string, "curve25519-sha256,curve25519-sha256@libssh.org,\
Expand Down Expand Up @@ -643,11 +640,8 @@ mod tests {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00];
let mut hassh_server_string: Vec<u8> = vec!();
let mut hassh_server: Vec<u8> = vec!();
match ssh_parse_key_exchange(&server_key_exchange){
Ok((_, key_exchange)) => {
key_exchange.generate_hassh(&mut hassh_server_string, &mut hassh_server, &true);
}
Err(_) => { }
if let Ok((_, key_exchange)) = ssh_parse_key_exchange(&server_key_exchange) {
key_exchange.generate_hassh(&mut hassh_server_string, &mut hassh_server, &true);
}
assert_eq!(hassh_server, "b12d2871a1189eff20364cf5333619ee".as_bytes().to_vec());
}
Expand Down
10 changes: 5 additions & 5 deletions src/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -1343,7 +1343,7 @@ if BUILD_FUZZTARGETS
LDFLAGS_FUZZ = $(all_libraries) $(SECLDFLAGS)
LDADD_FUZZ = libsuricata_c.a $(RUST_SURICATA_LIB) $(HTP_LDADD) $(RUST_LDADD)

fuzz_applayerprotodetectgetproto_SOURCES = tests/fuzz/fuzz_applayerprotodetectgetproto.c
fuzz_applayerprotodetectgetproto_SOURCES = tests/fuzz/fuzz_applayerprotodetectgetproto.c tests/fuzz/confyaml.c
fuzz_applayerprotodetectgetproto_LDFLAGS = $(LDFLAGS_FUZZ)
fuzz_applayerprotodetectgetproto_LDADD = $(LDADD_FUZZ)
if HAS_FUZZLDFLAGS
Expand All @@ -1354,7 +1354,7 @@ endif
# force usage of CXX for linker
nodist_EXTRA_fuzz_applayerprotodetectgetproto_SOURCES = force-cxx-linking.cxx

fuzz_applayerparserparse_SOURCES = tests/fuzz/fuzz_applayerparserparse.c
fuzz_applayerparserparse_SOURCES = tests/fuzz/fuzz_applayerparserparse.c tests/fuzz/confyaml.c
fuzz_applayerparserparse_LDFLAGS = $(LDFLAGS_FUZZ)
fuzz_applayerparserparse_LDADD = $(LDADD_FUZZ)
if HAS_FUZZLDFLAGS
Expand Down Expand Up @@ -1398,7 +1398,7 @@ endif
# force usage of CXX for linker
nodist_EXTRA_fuzz_decodepcapfile_SOURCES = force-cxx-linking.cxx

fuzz_sigpcap_SOURCES = tests/fuzz/fuzz_sigpcap.c
fuzz_sigpcap_SOURCES = tests/fuzz/fuzz_sigpcap.c tests/fuzz/confyaml.c
fuzz_sigpcap_LDFLAGS = $(LDFLAGS_FUZZ)
fuzz_sigpcap_LDADD = $(LDADD_FUZZ)
if HAS_FUZZLDFLAGS
Expand All @@ -1410,7 +1410,7 @@ endif
nodist_EXTRA_fuzz_sigpcap_SOURCES = force-cxx-linking.cxx

if HAS_FUZZPCAP
fuzz_sigpcap_aware_SOURCES = tests/fuzz/fuzz_sigpcap_aware.c
fuzz_sigpcap_aware_SOURCES = tests/fuzz/fuzz_sigpcap_aware.c tests/fuzz/confyaml.c
fuzz_sigpcap_aware_LDFLAGS = $(LDFLAGS_FUZZ)
fuzz_sigpcap_aware_LDADD = $(LDADD_FUZZ) -lfuzzpcap
if HAS_FUZZLDFLAGS
Expand All @@ -1421,7 +1421,7 @@ endif
# force usage of CXX for linker
nodist_EXTRA_fuzz_sigpcap_aware_SOURCES = force-cxx-linking.cxx

fuzz_predefpcap_aware_SOURCES = tests/fuzz/fuzz_predefpcap_aware.c
fuzz_predefpcap_aware_SOURCES = tests/fuzz/fuzz_predefpcap_aware.c tests/fuzz/confyaml.c
fuzz_predefpcap_aware_LDFLAGS = $(LDFLAGS_FUZZ)
fuzz_predefpcap_aware_LDADD = $(LDADD_FUZZ) -lfuzzpcap
if HAS_FUZZLDFLAGS
Expand Down
18 changes: 2 additions & 16 deletions src/detect-bsize.c
Original file line number Diff line number Diff line change
Expand Up @@ -157,20 +157,6 @@ int DetectBsizeMatch(const SigMatchCtx *ctx, const uint64_t buffer_size, bool eo
return 0;
}

/**
* \brief This function is used to parse bsize options passed via bsize: keyword
*
* \param bsizestr Pointer to the user provided bsize options
*
* \retval bsized pointer to DetectU64Data on success
* \retval NULL on failure
*/

static DetectU64Data *DetectBsizeParse(const char *str)
{
return DetectU64Parse(str);
}

static int SigParseGetMaxBsize(DetectU64Data *bsz)
{
switch (bsz->mode) {
Expand Down Expand Up @@ -208,9 +194,9 @@ static int DetectBsizeSetup (DetectEngineCtx *de_ctx, Signature *s, const char *
if (list == DETECT_SM_LIST_NOTSET)
SCReturnInt(-1);

DetectU64Data *bsz = DetectBsizeParse(sizestr);
DetectU64Data *bsz = DetectU64Parse(sizestr);
if (bsz == NULL)
goto error;
SCReturnInt(-1);

sm = SigMatchAlloc();
if (sm == NULL)
Expand Down
9 changes: 3 additions & 6 deletions src/detect-dsize.c
Original file line number Diff line number Diff line change
Expand Up @@ -124,15 +124,15 @@ static int DetectDsizeSetup (DetectEngineCtx *de_ctx, Signature *s, const char *
if (DetectGetLastSMFromLists(s, DETECT_DSIZE, -1)) {
SCLogError("Can't use 2 or more dsizes in "
"the same sig. Invalidating signature.");
goto error;
return -1;
}

SCLogDebug("\'%s\'", rawstr);

dd = DetectU16Parse(rawstr);
if (dd == NULL) {
SCLogError("Parsing \'%s\' failed", rawstr);
goto error;
return -1;
}

/* Okay so far so good, lets get this into a SigMatch
Expand All @@ -141,7 +141,7 @@ static int DetectDsizeSetup (DetectEngineCtx *de_ctx, Signature *s, const char *
if (sm == NULL){
SCLogError("Failed to allocate memory for SigMatch");
rs_detect_u16_free(dd);
goto error;
return -1;
}

sm->type = DETECT_DSIZE;
Expand All @@ -160,9 +160,6 @@ static int DetectDsizeSetup (DetectEngineCtx *de_ctx, Signature *s, const char *
}

return 0;

error:
return -1;
}

/**
Expand Down
2 changes: 1 addition & 1 deletion src/detect-filesize.c
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ static int DetectFilesizeSetup (DetectEngineCtx *de_ctx, Signature *s, const cha

fsd = DetectU64Parse(str);
if (fsd == NULL)
goto error;
SCReturnInt(-1);

sm = SigMatchAlloc();
if (sm == NULL)
Expand Down
3 changes: 2 additions & 1 deletion src/detect-icode.c
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,8 @@ static int DetectICodeSetup(DetectEngineCtx *de_ctx, Signature *s, const char *i
SigMatch *sm = NULL;

icd = DetectU8Parse(icodestr);
if (icd == NULL) goto error;
if (icd == NULL)
return -1;

sm = SigMatchAlloc();
if (sm == NULL) goto error;
Expand Down
35 changes: 11 additions & 24 deletions src/detect-itype.c
Original file line number Diff line number Diff line change
Expand Up @@ -101,20 +101,6 @@ static int DetectITypeMatch (DetectEngineThreadCtx *det_ctx, Packet *p,
return DetectU8Match(pitype, itd);
}

/**
* \brief This function is used to parse itype options passed via itype: keyword
*
* \param de_ctx Pointer to the detection engine context
* \param itypestr Pointer to the user provided itype options
*
* \retval itd pointer to DetectU8Data on success
* \retval NULL on failure
*/
static DetectU8Data *DetectITypeParse(DetectEngineCtx *de_ctx, const char *itypestr)
{
return DetectU8Parse(itypestr);
}

/**
* \brief this function is used to add the parsed itype data into the current signature
*
Expand All @@ -131,8 +117,9 @@ static int DetectITypeSetup(DetectEngineCtx *de_ctx, Signature *s, const char *i
DetectU8Data *itd = NULL;
SigMatch *sm = NULL;

itd = DetectITypeParse(de_ctx, itypestr);
if (itd == NULL) goto error;
itd = DetectU8Parse(itypestr);
if (itd == NULL)
return -1;

sm = SigMatchAlloc();
if (sm == NULL) goto error;
Expand Down Expand Up @@ -221,7 +208,7 @@ static bool PrefilterITypeIsPrefilterable(const Signature *s)
static int DetectITypeParseTest01(void)
{
DetectU8Data *itd = NULL;
itd = DetectITypeParse(NULL, "8");
itd = DetectU8Parse("8");
FAIL_IF_NULL(itd);
FAIL_IF_NOT(itd->arg1 == 8);
FAIL_IF_NOT(itd->mode == DETECT_UINT_EQ);
Expand All @@ -237,7 +224,7 @@ static int DetectITypeParseTest01(void)
static int DetectITypeParseTest02(void)
{
DetectU8Data *itd = NULL;
itd = DetectITypeParse(NULL, ">8");
itd = DetectU8Parse(">8");
FAIL_IF_NULL(itd);
FAIL_IF_NOT(itd->arg1 == 8);
FAIL_IF_NOT(itd->mode == DETECT_UINT_GT);
Expand All @@ -253,7 +240,7 @@ static int DetectITypeParseTest02(void)
static int DetectITypeParseTest03(void)
{
DetectU8Data *itd = NULL;
itd = DetectITypeParse(NULL, "<8");
itd = DetectU8Parse("<8");
FAIL_IF_NULL(itd);
FAIL_IF_NOT(itd->arg1 == 8);
FAIL_IF_NOT(itd->mode == DETECT_UINT_LT);
Expand All @@ -269,7 +256,7 @@ static int DetectITypeParseTest03(void)
static int DetectITypeParseTest04(void)
{
DetectU8Data *itd = NULL;
itd = DetectITypeParse(NULL, "8<>20");
itd = DetectU8Parse("8<>20");
FAIL_IF_NULL(itd);
FAIL_IF_NOT(itd->arg1 == 8);
FAIL_IF_NOT(itd->arg2 == 20);
Expand All @@ -286,7 +273,7 @@ static int DetectITypeParseTest04(void)
static int DetectITypeParseTest05(void)
{
DetectU8Data *itd = NULL;
itd = DetectITypeParse(NULL, " 8 ");
itd = DetectU8Parse(" 8 ");
FAIL_IF_NULL(itd);
FAIL_IF_NOT(itd->arg1 == 8);
FAIL_IF_NOT(itd->mode == DETECT_UINT_EQ);
Expand All @@ -302,7 +289,7 @@ static int DetectITypeParseTest05(void)
static int DetectITypeParseTest06(void)
{
DetectU8Data *itd = NULL;
itd = DetectITypeParse(NULL, " > 8 ");
itd = DetectU8Parse(" > 8 ");
FAIL_IF_NULL(itd);
FAIL_IF_NOT(itd->arg1 == 8);
FAIL_IF_NOT(itd->mode == DETECT_UINT_GT);
Expand All @@ -318,7 +305,7 @@ static int DetectITypeParseTest06(void)
static int DetectITypeParseTest07(void)
{
DetectU8Data *itd = NULL;
itd = DetectITypeParse(NULL, " 8 <> 20 ");
itd = DetectU8Parse(" 8 <> 20 ");
FAIL_IF_NULL(itd);
FAIL_IF_NOT(itd->arg1 == 8);
FAIL_IF_NOT(itd->arg2 == 20);
Expand All @@ -334,7 +321,7 @@ static int DetectITypeParseTest07(void)
static int DetectITypeParseTest08(void)
{
DetectU8Data *itd = NULL;
itd = DetectITypeParse(NULL, "> 8 <> 20");
itd = DetectU8Parse("> 8 <> 20");
FAIL_IF_NOT_NULL(itd);

PASS;
Expand Down
Loading