From: Juliana Fajardini Date: Mon, 23 Sep 2024 18:56:49 +0000 (-0300) Subject: pgsql: use new API style for extern C functions X-Git-Tag: suricata-7.0.7~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=629b5d7298d30462a0a8934d10b23ebaca2402ab;p=thirdparty%2Fsuricata.git pgsql: use new API style for extern C functions (cherry picked from commit 2c7824a41f4c28895ce581b9b3e444f94f86a339) --- diff --git a/rust/src/pgsql/logger.rs b/rust/src/pgsql/logger.rs index bcfcb5a8e9..57fad43c2c 100644 --- a/rust/src/pgsql/logger.rs +++ b/rust/src/pgsql/logger.rs @@ -291,7 +291,7 @@ fn log_pgsql_param(param: &PgsqlParameter) -> Result { } #[no_mangle] -pub unsafe extern "C" fn rs_pgsql_logger( +pub unsafe extern "C" fn SCPgsqlLogger( tx: *mut std::os::raw::c_void, flags: u32, js: &mut JsonBuilder, ) -> bool { let tx_pgsql = cast_pointer!(tx, PgsqlTransaction); diff --git a/rust/src/pgsql/pgsql.rs b/rust/src/pgsql/pgsql.rs index f3f4e0e12a..a95e9dcf99 100644 --- a/rust/src/pgsql/pgsql.rs +++ b/rust/src/pgsql/pgsql.rs @@ -553,7 +553,7 @@ fn probe_tc(input: &[u8]) -> bool { /// C entry point for a probing parser. #[no_mangle] -pub unsafe extern "C" fn rs_pgsql_probing_parser_ts( +pub unsafe extern "C" fn SCPgsqlProbingParserTS( _flow: *const Flow, _direction: u8, input: *const u8, input_len: u32, _rdir: *mut u8, ) -> AppProto { if input_len >= 1 && !input.is_null() { @@ -580,7 +580,7 @@ pub unsafe extern "C" fn rs_pgsql_probing_parser_ts( /// C entry point for a probing parser. #[no_mangle] -pub unsafe extern "C" fn rs_pgsql_probing_parser_tc( +pub unsafe extern "C" fn SCPgsqlProbingParserTC( _flow: *const Flow, _direction: u8, input: *const u8, input_len: u32, _rdir: *mut u8, ) -> AppProto { if input_len >= 1 && !input.is_null() { @@ -610,7 +610,7 @@ pub unsafe extern "C" fn rs_pgsql_probing_parser_tc( } #[no_mangle] -pub extern "C" fn rs_pgsql_state_new( +pub extern "C" fn SCPgsqlStateNew( _orig_state: *mut std::os::raw::c_void, _orig_proto: AppProto, ) -> *mut std::os::raw::c_void { let state = PgsqlState::new(); @@ -619,13 +619,13 @@ pub extern "C" fn rs_pgsql_state_new( } #[no_mangle] -pub extern "C" fn rs_pgsql_state_free(state: *mut std::os::raw::c_void) { +pub extern "C" fn SCPgsqlStateFree(state: *mut std::os::raw::c_void) { // Just unbox... std::mem::drop(unsafe { Box::from_raw(state as *mut PgsqlState) }); } #[no_mangle] -pub extern "C" fn rs_pgsql_state_tx_free(state: *mut std::os::raw::c_void, tx_id: u64) { +pub extern "C" fn SCPgsqlStateTxFree(state: *mut std::os::raw::c_void, tx_id: u64) { let state_safe: &mut PgsqlState; unsafe { state_safe = cast_pointer!(state, PgsqlState); @@ -634,7 +634,7 @@ pub extern "C" fn rs_pgsql_state_tx_free(state: *mut std::os::raw::c_void, tx_id } #[no_mangle] -pub unsafe extern "C" fn rs_pgsql_parse_request( +pub unsafe extern "C" fn SCPgsqlParseRequest( _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 { @@ -659,7 +659,7 @@ pub unsafe extern "C" fn rs_pgsql_parse_request( } #[no_mangle] -pub unsafe extern "C" fn rs_pgsql_parse_response( +pub unsafe extern "C" fn SCPgsqlParseResponse( 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 { @@ -682,7 +682,7 @@ pub unsafe extern "C" fn rs_pgsql_parse_response( } #[no_mangle] -pub unsafe extern "C" fn rs_pgsql_state_get_tx( +pub unsafe extern "C" fn SCPgsqlStateGetTx( state: *mut std::os::raw::c_void, tx_id: u64, ) -> *mut std::os::raw::c_void { let state_safe: &mut PgsqlState = cast_pointer!(state, PgsqlState); @@ -697,7 +697,7 @@ pub unsafe extern "C" fn rs_pgsql_state_get_tx( } #[no_mangle] -pub extern "C" fn rs_pgsql_state_get_tx_count(state: *mut std::os::raw::c_void) -> u64 { +pub extern "C" fn SCPgsqlStateGetTxCount(state: *mut std::os::raw::c_void) -> u64 { let state_safe: &mut PgsqlState; unsafe { state_safe = cast_pointer!(state, PgsqlState); @@ -706,7 +706,7 @@ pub extern "C" fn rs_pgsql_state_get_tx_count(state: *mut std::os::raw::c_void) } #[no_mangle] -pub extern "C" fn rs_pgsql_tx_get_state(tx: *mut std::os::raw::c_void) -> PgsqlTransactionState { +pub extern "C" fn SCPgsqlTxGetState(tx: *mut std::os::raw::c_void) -> PgsqlTransactionState { let tx_safe: &mut PgsqlTransaction; unsafe { tx_safe = cast_pointer!(tx, PgsqlTransaction); @@ -715,10 +715,10 @@ pub extern "C" fn rs_pgsql_tx_get_state(tx: *mut std::os::raw::c_void) -> PgsqlT } #[no_mangle] -pub extern "C" fn rs_pgsql_tx_get_alstate_progress( +pub unsafe extern "C" fn SCPgsqlTxGetALStateProgress( tx: *mut std::os::raw::c_void, _direction: u8, ) -> std::os::raw::c_int { - return rs_pgsql_tx_get_state(tx) as i32; + return SCPgsqlTxGetState(tx) as i32; } export_tx_data_get!(rs_pgsql_get_tx_data, PgsqlTransaction); @@ -728,27 +728,27 @@ export_state_data_get!(rs_pgsql_get_state_data, PgsqlState); const PARSER_NAME: &[u8] = b"pgsql\0"; #[no_mangle] -pub unsafe extern "C" fn rs_pgsql_register_parser() { +pub unsafe extern "C" fn SCRegisterPgsqlParser() { let default_port = CString::new("[5432]").unwrap(); let mut stream_depth = PGSQL_CONFIG_DEFAULT_STREAM_DEPTH; let parser = RustParser { name: PARSER_NAME.as_ptr() as *const std::os::raw::c_char, default_port: default_port.as_ptr(), ipproto: IPPROTO_TCP, - probe_ts: Some(rs_pgsql_probing_parser_ts), - probe_tc: Some(rs_pgsql_probing_parser_tc), + probe_ts: Some(SCPgsqlProbingParserTS), + probe_tc: Some(SCPgsqlProbingParserTC), min_depth: 0, max_depth: 16, - state_new: rs_pgsql_state_new, - state_free: rs_pgsql_state_free, - tx_free: rs_pgsql_state_tx_free, - parse_ts: rs_pgsql_parse_request, - parse_tc: rs_pgsql_parse_response, - get_tx_count: rs_pgsql_state_get_tx_count, - get_tx: rs_pgsql_state_get_tx, + state_new: SCPgsqlStateNew, + state_free: SCPgsqlStateFree, + tx_free: SCPgsqlStateTxFree, + parse_ts: SCPgsqlParseRequest, + parse_tc: SCPgsqlParseResponse, + get_tx_count: SCPgsqlStateGetTxCount, + get_tx: SCPgsqlStateGetTx, tx_comp_st_ts: PgsqlTransactionState::RequestReceived as i32, tx_comp_st_tc: PgsqlTransactionState::ResponseDone as i32, - tx_get_progress: rs_pgsql_tx_get_alstate_progress, + tx_get_progress: SCPgsqlTxGetALStateProgress, get_eventinfo: None, get_eventinfo_byid: None, localstorage_new: None, diff --git a/src/app-layer-parser.c b/src/app-layer-parser.c index 11ee4d6400..a051616dd3 100644 --- a/src/app-layer-parser.c +++ b/src/app-layer-parser.c @@ -1775,7 +1775,7 @@ void AppLayerParserRegisterProtocolParsers(void) rs_template_register_parser(); RegisterRFBParsers(); RegisterMQTTParsers(); - rs_pgsql_register_parser(); + SCRegisterPgsqlParser(); RegisterRdpParsers(); RegisterHTTP2Parsers(); rs_telnet_register_parser(); diff --git a/src/output-json-pgsql.c b/src/output-json-pgsql.c index 2e4e126d7e..4235b0c0fb 100644 --- a/src/output-json-pgsql.c +++ b/src/output-json-pgsql.c @@ -65,7 +65,7 @@ bool JsonPgsqlAddMetadata(const Flow *f, uint64_t tx_id, JsonBuilder *jb) if (state) { void *tx = AppLayerParserGetTx(f->proto, ALPROTO_PGSQL, state, tx_id); if (tx) { - return rs_pgsql_logger(tx, PGSQL_DEFAULTS, jb); + return SCPgsqlLogger(tx, PGSQL_DEFAULTS, jb); } } return false; @@ -83,7 +83,7 @@ static int JsonPgsqlLogger(ThreadVars *tv, void *thread_data, const Packet *p, F return TM_ECODE_FAILED; } - if (!rs_pgsql_logger(txptr, thread->pgsqllog_ctx->flags, jb)) { + if (!SCPgsqlLogger(txptr, thread->pgsqllog_ctx->flags, jb)) { goto error; }