]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
pgsql: use new API style for extern C functions
authorJuliana Fajardini <jufajardini@gmail.com>
Mon, 23 Sep 2024 18:56:49 +0000 (15:56 -0300)
committerVictor Julien <victor@inliniac.net>
Tue, 24 Sep 2024 04:56:25 +0000 (06:56 +0200)
(cherry picked from commit 2c7824a41f4c28895ce581b9b3e444f94f86a339)

rust/src/pgsql/logger.rs
rust/src/pgsql/pgsql.rs
src/app-layer-parser.c
src/output-json-pgsql.c

index bcfcb5a8e933fe289cf2bae3e62e70578735824f..57fad43c2c7d878e63e4d60e702b527ff5844332 100644 (file)
@@ -291,7 +291,7 @@ fn log_pgsql_param(param: &PgsqlParameter) -> Result<JsonBuilder, JsonError> {
 }
 
 #[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);
index f3f4e0e12ae3a730c2ef9a7478b1beab4b59b49b..a95e9dcf99c87e3e0c0a5d7d1f745afa37ea1d91 100644 (file)
@@ -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,
index 11ee4d64001d14bcacd54dcc9c3b7257ff422689..a051616dd3b94990ec76b787c8e53835c90aa06d 100644 (file)
@@ -1775,7 +1775,7 @@ void AppLayerParserRegisterProtocolParsers(void)
     rs_template_register_parser();
     RegisterRFBParsers();
     RegisterMQTTParsers();
-    rs_pgsql_register_parser();
+    SCRegisterPgsqlParser();
     RegisterRdpParsers();
     RegisterHTTP2Parsers();
     rs_telnet_register_parser();
index 2e4e126d7ede7bcfc14eef74d13df4cc0c969c44..4235b0c0fbcfdadcab54a5a1a690dbbfa99722aa 100644 (file)
@@ -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;
     }