]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
ssl/tls: use DetectFlags API
authorVictor Julien <victor@inliniac.net>
Tue, 17 Oct 2017 08:19:41 +0000 (10:19 +0200)
committerVictor Julien <victor@inliniac.net>
Fri, 19 Jan 2018 09:13:03 +0000 (10:13 +0100)
src/app-layer-ssl.c
src/app-layer-ssl.h

index 062060e6d05d305c724452e22434676d0ca220db..4e41d6acd533f3ec922173f358614416b5f8b916 100644 (file)
@@ -245,17 +245,24 @@ static int SSLGetAlstateProgress(void *tx, uint8_t direction)
     return TLS_STATE_IN_PROGRESS;
 }
 
-static uint64_t SSLGetTxMpmIDs(void *vtx)
+static uint64_t SSLGetTxDetectFlags(void *vtx, uint8_t dir)
 {
     SSLState *ssl_state = (SSLState *)vtx;
-    return ssl_state->mpm_ids;
+    if (dir & STREAM_TOSERVER) {
+        return ssl_state->detect_flags_ts;
+    } else {
+        return ssl_state->detect_flags_tc;
+    }
 }
 
-static int SSLSetTxMpmIDs(void *vtx, uint64_t mpm_ids)
+static void SSLSetTxDetectFlags(void *vtx, uint8_t dir, uint64_t flags)
 {
     SSLState *ssl_state = (SSLState *)vtx;
-    ssl_state->mpm_ids = mpm_ids;
-    return 0;
+    if (dir & STREAM_TOSERVER) {
+        ssl_state->detect_flags_ts = flags;
+    } else {
+        ssl_state->detect_flags_tc = flags;
+    }
 }
 
 static int TLSDecodeHandshakeHello(SSLState *ssl_state, uint8_t *input,
@@ -1865,8 +1872,8 @@ void RegisterSSLParsers(void)
         AppLayerParserRegisterGetStateProgressFunc(IPPROTO_TCP, ALPROTO_TLS, SSLGetAlstateProgress);
 
         AppLayerParserRegisterLoggerFuncs(IPPROTO_TCP, ALPROTO_TLS, SSLGetTxLogged, SSLSetTxLogged);
-        AppLayerParserRegisterMpmIDsFuncs(IPPROTO_TCP, ALPROTO_TLS,
-                SSLGetTxMpmIDs, SSLSetTxMpmIDs);
+        AppLayerParserRegisterDetectFlagsFuncs(IPPROTO_TCP, ALPROTO_TLS,
+                SSLGetTxDetectFlags, SSLSetTxDetectFlags);
 
         AppLayerParserRegisterGetStateProgressCompletionStatus(ALPROTO_TLS,
                                                                SSLGetAlstateProgressCompletionStatus);
index d48835cc131890f4889284c8d2faa953f3a2f539..871d90d9764af05410328aaf107292fe42fd3a60 100644 (file)
@@ -191,8 +191,9 @@ typedef struct SSLState_ {
     /* specifies which loggers are done logging */
     uint32_t logged;
 
-    /* MPM/prefilter Id's */
-    uint64_t mpm_ids;
+    /* detect flags */
+    uint64_t detect_flags_ts;
+    uint64_t detect_flags_tc;
 
     /* there might be a better place to store this*/
     uint16_t hb_record_len;