|
|
|
@ -27,8 +27,14 @@ pub unsafe extern "C" fn SCDetectMimeEmailGetData(
|
|
|
|
ctx: &MimeStateSMTP, buffer: *mut *const u8, buffer_len: *mut u32,
|
|
|
|
ctx: &MimeStateSMTP, buffer: *mut *const u8, buffer_len: *mut u32,
|
|
|
|
hname: *const std::os::raw::c_char,
|
|
|
|
hname: *const std::os::raw::c_char,
|
|
|
|
) -> u8 {
|
|
|
|
) -> u8 {
|
|
|
|
|
|
|
|
*buffer = ptr::null();
|
|
|
|
|
|
|
|
*buffer_len = 0;
|
|
|
|
|
|
|
|
|
|
|
|
let c_str = CStr::from_ptr(hname); //unsafe
|
|
|
|
let c_str = CStr::from_ptr(hname); //unsafe
|
|
|
|
let str = c_str.to_str().unwrap_or("");
|
|
|
|
let Ok(str) = c_str.to_str() else {
|
|
|
|
|
|
|
|
SCLogDebug!("Received non-UTF8 string in SCDetectMimeEmailGetData");
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
for h in &ctx.headers[..ctx.main_headers_nb] {
|
|
|
|
for h in &ctx.headers[..ctx.main_headers_nb] {
|
|
|
|
if mime::slice_equals_lowercase(&h.name, str.as_bytes()) {
|
|
|
|
if mime::slice_equals_lowercase(&h.name, str.as_bytes()) {
|
|
|
|
@ -37,10 +43,6 @@ pub unsafe extern "C" fn SCDetectMimeEmailGetData(
|
|
|
|
return 1;
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
*buffer = ptr::null();
|
|
|
|
|
|
|
|
*buffer_len = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -69,8 +71,14 @@ pub unsafe extern "C" fn SCDetectMimeEmailGetDataArray(
|
|
|
|
ctx: &MimeStateSMTP, buffer: *mut *const u8, buffer_len: *mut u32,
|
|
|
|
ctx: &MimeStateSMTP, buffer: *mut *const u8, buffer_len: *mut u32,
|
|
|
|
hname: *const std::os::raw::c_char, idx: u32,
|
|
|
|
hname: *const std::os::raw::c_char, idx: u32,
|
|
|
|
) -> u8 {
|
|
|
|
) -> u8 {
|
|
|
|
|
|
|
|
*buffer = ptr::null();
|
|
|
|
|
|
|
|
*buffer_len = 0;
|
|
|
|
|
|
|
|
|
|
|
|
let c_str = CStr::from_ptr(hname); //unsafe
|
|
|
|
let c_str = CStr::from_ptr(hname); //unsafe
|
|
|
|
let str = c_str.to_str().unwrap_or("");
|
|
|
|
let Ok(str) = c_str.to_str() else {
|
|
|
|
|
|
|
|
SCLogDebug!("Received non-UTF8 string in SCDetectMimeEmailGetDataArray");
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
let mut i = 0;
|
|
|
|
let mut i = 0;
|
|
|
|
for h in &ctx.headers[..ctx.main_headers_nb] {
|
|
|
|
for h in &ctx.headers[..ctx.main_headers_nb] {
|
|
|
|
@ -83,9 +91,5 @@ pub unsafe extern "C" fn SCDetectMimeEmailGetDataArray(
|
|
|
|
i += 1;
|
|
|
|
i += 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
*buffer = ptr::null();
|
|
|
|
|
|
|
|
*buffer_len = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|