]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
rust/sip: add direction to transaction
authorGiuseppe Longo <giuseppe@glongo.it>
Tue, 1 Aug 2023 19:20:58 +0000 (21:20 +0200)
committerVictor Julien <victor@inliniac.net>
Wed, 28 Feb 2024 06:00:43 +0000 (07:00 +0100)
This patch permits to set a direction when a new transaction is created in order
to avoid 'signature shadowing' as reported by Eric Leblond in commit
5aaf50760f546e9047da508f725f43a7ad9b8a35

rust/src/sip/sip.rs

index e203ae9e2eb7665b7ac643fcd8e549c48554ff74..902844f30efa3871c6e233aff631a491c8ddb54e 100755 (executable)
@@ -88,9 +88,9 @@ impl SIPState {
         self.transactions.clear();
     }
 
-    fn new_tx(&mut self, _direction: crate::core::Direction) -> SIPTransaction {
+    fn new_tx(&mut self, direction: crate::core::Direction) -> SIPTransaction {
         self.tx_id += 1;
-        SIPTransaction::new(self.tx_id)
+        SIPTransaction::new(self.tx_id, direction)
     }
 
     fn get_tx_by_id(&mut self, tx_id: u64) -> Option<&SIPTransaction> {
@@ -295,14 +295,14 @@ impl SIPState {
 }
 
 impl SIPTransaction {
-    pub fn new(id: u64) -> SIPTransaction {
+    pub fn new(id: u64, direction: crate::core::Direction) -> SIPTransaction {
         SIPTransaction {
             id,
             request: None,
             response: None,
             request_line: None,
             response_line: None,
-            tx_data: applayer::AppLayerTxData::new(),
+            tx_data: applayer::AppLayerTxData::for_direction(direction),
         }
     }
 }