]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
detect-tls: make check on fingerprint directional
authorJason Ish <ish@unx.ca>
Tue, 27 Sep 2016 15:38:42 +0000 (09:38 -0600)
committerVictor Julien <victor@inliniac.net>
Wed, 28 Sep 2016 11:03:30 +0000 (13:03 +0200)
src/detect-tls.c

index 6a0830a3dea5af25e8182767b073cb75ea30f81e..f61265957ab25c49a05499280601b8408b697578 100644 (file)
@@ -653,13 +653,20 @@ static int DetectTlsFingerprintMatch (ThreadVars *t, DetectEngineThreadCtx *det_
 
     int ret = 0;
 
-    if (ssl_state->server_connp.cert0_fingerprint != NULL) {
+    SSLStateConnp *connp = NULL;
+    if (flags & STREAM_TOSERVER) {
+        connp = &ssl_state->client_connp;
+    } else {
+        connp = &ssl_state->server_connp;
+    }
+
+    if (connp->cert0_fingerprint != NULL) {
         SCLogDebug("TLS: Fingerprint is [%s], looking for [%s]\n",
-                   ssl_state->server_connp.cert0_fingerprint,
+                   connp->cert0_fingerprint,
                    tls_data->fingerprint);
 
         if (tls_data->fingerprint &&
-            (strstr(ssl_state->server_connp.cert0_fingerprint,
+            (strstr(connp->cert0_fingerprint,
                     tls_data->fingerprint) != NULL)) {
             if (tls_data->flags & DETECT_CONTENT_NEGATED) {
                 ret = 0;