///
/// s must be allocated by rust, using `CString::new`
#[no_mangle]
-pub unsafe extern "C" fn rs_cstring_free(s: *mut c_char) {
+pub unsafe extern "C" fn SCRustCStringFree(s: *mut c_char) {
if s.is_null() {
return;
}
}
#[no_mangle]
-pub unsafe extern "C" fn rs_to_hex(
+pub unsafe extern "C" fn SCToHex(
output: *mut u8, out_len: usize, input: *const u8, in_len: usize,
) {
if out_len < 2 * in_len + 1 {
}
#[no_mangle]
-pub unsafe extern "C" fn rs_to_hex_sep(
+pub unsafe extern "C" fn SCToHex_sep(
output: *mut u8, out_len: usize, sep: u8, input: *const u8, in_len: usize,
) {
if out_len < 3 * in_len {
}
#[no_mangle]
-pub extern "C" fn rs_init(context: &'static SuricataContext)
+pub extern "C" fn SCRustInit(context: &'static SuricataContext)
{
init_ffi(context);
}
export_state_data_get!(ike_get_state_data, IKEState);
#[no_mangle]
-pub unsafe extern "C" fn rs_ike_register_parser() {
+pub unsafe extern "C" fn SCRegisterIkeParser() {
let default_port = CString::new("500").unwrap();
let parser = RustParser {
name: PARSER_NAME.as_ptr() as *const std::os::raw::c_char,
// sanity check to avoid memory exhaustion
if state.defrag_buf_ts.len() + buf.len() > 100000 {
SCLogDebug!(
- "rs_krb5_parse_request_tcp: TCP buffer exploded {} {}",
+ "krb5_parse_request_tcp: TCP buffer exploded {} {}",
state.defrag_buf_ts.len(),
buf.len()
);
return AppLayerResult::ok();
}
_ => {
- SCLogDebug!("rs_krb5_parse_request_tcp: reading record mark failed!");
+ SCLogDebug!("krb5_parse_request_tcp: reading record mark failed!");
return AppLayerResult::err();
}
}
// sanity check to avoid memory exhaustion
if state.defrag_buf_tc.len() + buf.len() > 100000 {
SCLogDebug!(
- "rs_krb5_parse_response_tcp: TCP buffer exploded {} {}",
+ "krb5_parse_response_tcp: TCP buffer exploded {} {}",
state.defrag_buf_tc.len(),
buf.len()
);
}
#[no_mangle]
-pub unsafe extern "C" fn rs_ldap_logger_log(
+pub unsafe extern "C" fn SCLdapLoggerLog(
tx: *mut std::os::raw::c_void, js: &mut JsonBuilder,
) -> bool {
let tx = cast_pointer!(tx, LdapTransaction);
const PARSER_NAME: &[u8] = b"ntp\0";
#[no_mangle]
-pub unsafe extern "C" fn rs_register_ntp_parser() {
+pub unsafe extern "C" fn SCRegisterNtpParser() {
let default_port = CString::new("123").unwrap();
let parser = RustParser {
name: PARSER_NAME.as_ptr() as *const std::os::raw::c_char,
//do nothing
}
-unsafe extern "C" fn rs_ssh_parse_request(
+unsafe extern "C" fn ssh_parse_request(
flow: *const Flow, state: *mut std::os::raw::c_void, pstate: *mut std::os::raw::c_void,
stream_slice: StreamSlice, _data: *const std::os::raw::c_void,
) -> AppLayerResult {
state_new: ssh_state_new,
state_free: ssh_state_free,
tx_free: ssh_state_tx_free,
- parse_ts: rs_ssh_parse_request,
+ parse_ts: ssh_parse_request,
parse_tc: ssh_parse_response,
get_tx_count: ssh_state_get_tx_count,
get_tx: SCSshStateGetTx,
use nom7::IResult;
#[no_mangle]
-pub unsafe extern "C" fn rs_check_utf8(val: *const c_char) -> bool {
+pub unsafe extern "C" fn SCCheckUtf8(val: *const c_char) -> bool {
CStr::from_ptr(val).to_str().is_ok()
}
void RegisterIKEParsers(void)
{
- rs_ike_register_parser();
+ SCRegisterIkeParser();
#ifdef UNITTESTS
AppLayerParserRegisterProtocolUnittests(IPPROTO_UDP, ALPROTO_IKE, IKEParserRegisterTests);
#endif
RegisterDNP3Parsers();
RegisterNFSTCPParsers();
RegisterNFSUDPParsers();
- rs_register_ntp_parser();
+ SCRegisterNtpParser();
RegisterTFTPParsers();
RegisterIKEParsers();
SCRegisterKrb5Parser();
uint8_t hash[SC_SHA1_LEN];
if (SCSha1HashBuffer(input, cert_len, hash, sizeof(hash)) == 1) {
- rs_to_hex_sep(
+ SCToHex_sep(
(uint8_t *)connp->cert0_fingerprint, SHA1_STRING_LENGTH, ':', hash, SC_SHA1_LEN);
}
return 0;
{
if (connp->cert0_sans) {
for (uint16_t i = 0; i < connp->cert0_sans_len; i++) {
- rs_cstring_free(connp->cert0_sans[i]);
+ SCRustCStringFree(connp->cert0_sans[i]);
}
SCFree(connp->cert0_sans);
}
SSLCertsChain *item;
if (ssl_state->client_connp.cert0_subject)
- rs_cstring_free(ssl_state->client_connp.cert0_subject);
+ SCRustCStringFree(ssl_state->client_connp.cert0_subject);
if (ssl_state->client_connp.cert0_issuerdn)
- rs_cstring_free(ssl_state->client_connp.cert0_issuerdn);
+ SCRustCStringFree(ssl_state->client_connp.cert0_issuerdn);
if (ssl_state->client_connp.cert0_serial)
- rs_cstring_free(ssl_state->client_connp.cert0_serial);
+ SCRustCStringFree(ssl_state->client_connp.cert0_serial);
if (ssl_state->client_connp.cert0_fingerprint)
SCFree(ssl_state->client_connp.cert0_fingerprint);
if (ssl_state->client_connp.sni)
SCFree(ssl_state->client_connp.hs_buffer);
if (ssl_state->server_connp.cert0_subject)
- rs_cstring_free(ssl_state->server_connp.cert0_subject);
+ SCRustCStringFree(ssl_state->server_connp.cert0_subject);
if (ssl_state->server_connp.cert0_issuerdn)
- rs_cstring_free(ssl_state->server_connp.cert0_issuerdn);
+ SCRustCStringFree(ssl_state->server_connp.cert0_issuerdn);
if (ssl_state->server_connp.cert0_serial)
- rs_cstring_free(ssl_state->server_connp.cert0_serial);
+ SCRustCStringFree(ssl_state->server_connp.cert0_serial);
if (ssl_state->server_connp.cert0_fingerprint)
SCFree(ssl_state->server_connp.cert0_fingerprint);
if (ssl_state->server_connp.sni)
{
SCEnter();
- if (!rs_check_utf8(sigstr)) {
+ if (!SCCheckUtf8(sigstr)) {
SCLogError("rule is not valid UTF-8");
SCReturnInt(-1);
}
ALPROTO_PGSQL, (EveJsonSimpleTxLogFunc)JsonPgsqlAddMetadata, NULL);
RegisterSimpleJsonApplayerLogger(
ALPROTO_WEBSOCKET, (EveJsonSimpleTxLogFunc)SCWebSocketLoggerLog, NULL);
- RegisterSimpleJsonApplayerLogger(
- ALPROTO_LDAP, (EveJsonSimpleTxLogFunc)rs_ldap_logger_log, NULL);
+ RegisterSimpleJsonApplayerLogger(ALPROTO_LDAP, (EveJsonSimpleTxLogFunc)SCLdapLoggerLog, NULL);
RegisterSimpleJsonApplayerLogger(ALPROTO_DOH2, (EveJsonSimpleTxLogFunc)AlertJsonDoh2, NULL);
RegisterSimpleJsonApplayerLogger(
ALPROTO_TEMPLATE, (EveJsonSimpleTxLogFunc)SCTemplateLoggerLog, NULL);
int InitGlobal(void)
{
- rs_init(&suricata_context);
+ SCRustInit(&suricata_context);
SC_ATOMIC_INIT(engine_stage);
void PrintHexString(char *str, size_t size, uint8_t *buf, size_t buf_len)
{
DEBUG_VALIDATE_BUG_ON(size < 2 * buf_len);
- rs_to_hex((uint8_t *)str, size, buf, buf_len);
+ SCToHex((uint8_t *)str, size, buf, buf_len);
}