]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
Change all inspect callbacks to accept TV and a tx_id param.
authorAnoop Saldanha <anoopsaldanha@gmail.com>
Sun, 14 Oct 2012 14:16:46 +0000 (19:46 +0530)
committerVictor Julien <victor@inliniac.net>
Wed, 17 Oct 2012 14:47:38 +0000 (16:47 +0200)
25 files changed:
src/detect-engine-file.c
src/detect-engine-file.h
src/detect-engine-hcbd.c
src/detect-engine-hcbd.h
src/detect-engine-hcd.c
src/detect-engine-hcd.h
src/detect-engine-hhd.c
src/detect-engine-hhd.h
src/detect-engine-hmd.c
src/detect-engine-hmd.h
src/detect-engine-hrhd.c
src/detect-engine-hrhd.h
src/detect-engine-hrud.c
src/detect-engine-hrud.h
src/detect-engine-hsbd.c
src/detect-engine-hsbd.h
src/detect-engine-hscd.c
src/detect-engine-hscd.h
src/detect-engine-hsmd.c
src/detect-engine-hsmd.h
src/detect-engine-hua.c
src/detect-engine-hua.h
src/detect-engine-state.c
src/detect-engine-uri.c
src/detect-engine-uri.h

index 251ee57fb38470b2abe4e1336981a32393d92e78..43fd5bdf42f4d7d35c2b60160751d1ab7cbe9e46 100644 (file)
@@ -203,7 +203,7 @@ static int DetectFileInspect(ThreadVars *tv, DetectEngineThreadCtx *det_ctx,
  *
  *  \note flow is not locked at this time
  */
-int DetectFileInspectHttp(ThreadVars *tv, DetectEngineThreadCtx *det_ctx, Flow *f, Signature *s, void *alstate, uint8_t flags) {
+int DetectFileInspectHttp(ThreadVars *tv, DetectEngineCtx *de_ctx, DetectEngineThreadCtx *det_ctx, Signature *s, Flow *f, uint8_t flags, void *alstate, int tx_id) {
     SCEnter();
 
     int r = 0;
index 1f233b159a9f606538a9e9dc2461a9e440ebd3bb..778240484ef7ef44fa80bf318dc9c3390b54fc3c 100644 (file)
@@ -24,6 +24,8 @@
 #ifndef __DETECT_ENGINE_FILE_H__
 #define __DETECT_ENGINE_FILE_H__
 
-int DetectFileInspectHttp(ThreadVars *, DetectEngineThreadCtx *, Flow *, Signature *, void *, uint8_t);
+int DetectFileInspectHttp(ThreadVars *tv, DetectEngineCtx *de_ctx,
+                          DetectEngineThreadCtx *det_ctx, Signature *s,
+                          Flow *f, uint8_t flags, void *alstate, int tx_id);
 
 #endif /* __DETECT_ENGINE_FILE_H__ */
index 9fd09ec88bc6b1fe9119518ac3f81bf17ff81484..1b7020642796381dec2d62aae106d00dd980283e 100644 (file)
@@ -256,10 +256,11 @@ int DetectEngineRunHttpClientBodyMpmV2(DetectEngineCtx *de_ctx,
     return cnt;
 }
 
-int DetectEngineInspectHttpClientBodyV2(DetectEngineCtx *de_ctx,
+int DetectEngineInspectHttpClientBodyV2(ThreadVars *tv,
+                                        DetectEngineCtx *de_ctx,
                                         DetectEngineThreadCtx *det_ctx,
                                         Signature *s, Flow *f, uint8_t flags,
-                                        void *alstate)
+                                        void *alstate, int tx_id)
 {
     int r = 0;
 
index d0c200613f506f8a8e2b92f8739e34a663437be8..438b7d441b8c590fec27e6ecf89722fbde74d23a 100644 (file)
 int DetectEngineRunHttpClientBodyMpmV2(DetectEngineCtx *,
                                        DetectEngineThreadCtx *, Flow *f,
                                        HtpState *, uint8_t);
-int DetectEngineInspectHttpClientBodyV2(DetectEngineCtx *,
+int DetectEngineInspectHttpClientBodyV2(ThreadVars *tv,
+                                        DetectEngineCtx *,
                                         DetectEngineThreadCtx *,
                                         Signature *, Flow *,
-                                        uint8_t, void *);
+                                        uint8_t, void *, int);
 void DetectEngineCleanHCBDBuffersV2(DetectEngineThreadCtx *);
 
 void DetectEngineHttpClientBodyRegisterTests(void);
index b7ad2b88eaf9b894cab542df70ebda058f936ec4..8a94be7ad3f5fb4462b09e1e3a300f1f2e798272 100644 (file)
@@ -128,10 +128,11 @@ int DetectEngineRunHttpCookieMpm(DetectEngineThreadCtx *det_ctx, Flow *f,
  * \retval 0 No match.
  * \retval 1 Match.
  */
-int DetectEngineInspectHttpCookie(DetectEngineCtx *de_ctx,
+int DetectEngineInspectHttpCookie(ThreadVars *tv,
+                                  DetectEngineCtx *de_ctx,
                                   DetectEngineThreadCtx *det_ctx,
                                   Signature *s, Flow *f, uint8_t flags,
-                                  void *alstate)
+                                  void *alstate, int tx_id)
 {
     SCEnter();
     int r = 0;
index e1028658d8e609321c2e649b25ecb52770c9f78c..e072673aa1e8a9c1fd2e6f034694d2db0fb3d59f 100644 (file)
@@ -25,8 +25,9 @@
 
 #include "app-layer-htp.h"
 
-int DetectEngineInspectHttpCookie(DetectEngineCtx *, DetectEngineThreadCtx *,
-                                  Signature *, Flow *, uint8_t, void *);
+int DetectEngineInspectHttpCookie(ThreadVars *tv,
+                                  DetectEngineCtx *, DetectEngineThreadCtx *,
+                                  Signature *, Flow *, uint8_t, void *, int);
 int DetectEngineRunHttpCookieMpm(DetectEngineThreadCtx *, Flow *, HtpState *, uint8_t);
 void DetectEngineHttpCookieRegisterTests(void);
 
index 2ee1b81f4c3645a4d929c4b96798b52cb889710f..1f77ee98f2b53479326dfd899dcc5d7b8de7cb66 100644 (file)
@@ -215,10 +215,11 @@ int DetectEngineRunHttpHeaderMpmV2(DetectEngineThreadCtx *det_ctx, Flow *f,
     return cnt;
 }
 
-int DetectEngineInspectHttpHeaderV2(DetectEngineCtx *de_ctx,
+int DetectEngineInspectHttpHeaderV2(ThreadVars *tv,
+                                    DetectEngineCtx *de_ctx,
                                     DetectEngineThreadCtx *det_ctx,
                                     Signature *s, Flow *f, uint8_t flags,
-                                    void *alstate)
+                                    void *alstate, int tx_id)
 {
     int r = 0;
 
index 738dc02bd9da1511b6858c093d34b6f9f3847e10..089fb1fe2bb3a58dc8461455e4e19fee38237e1f 100644 (file)
 
 #include "app-layer-htp.h"
 
-int DetectEngineInspectHttpHeaderV2(DetectEngineCtx *de_ctx,
+int DetectEngineInspectHttpHeaderV2(ThreadVars *tv,
+                                    DetectEngineCtx *de_ctx,
                                     DetectEngineThreadCtx *det_ctx,
                                     Signature *s, Flow *f, uint8_t flags,
-                                    void *alstate);
+                                    void *alstate, int tx_id);
 int DetectEngineRunHttpHeaderMpmV2(DetectEngineThreadCtx *det_ctx, Flow *f,
                                    HtpState *htp_state, uint8_t flags);
 void DetectEngineCleanHHDBuffersV2(DetectEngineThreadCtx *det_ctx);
index 00865013ba22e390bf988a6cbf54da6241ef80e9..391d1d9065b1413fba7fe39bc09357fd96640da5 100644 (file)
@@ -112,10 +112,11 @@ int DetectEngineRunHttpMethodMpm(DetectEngineThreadCtx *det_ctx, Flow *f,
  * \retval 0 No match.
  * \retval 1 Match.
  */
-int DetectEngineInspectHttpMethod(DetectEngineCtx *de_ctx,
+int DetectEngineInspectHttpMethod(ThreadVars *tv,
+                                  DetectEngineCtx *de_ctx,
                                   DetectEngineThreadCtx *det_ctx,
                                   Signature *s, Flow *f, uint8_t flags,
-                                  void *alstate)
+                                  void *alstate, int tx_id)
 {
     SCEnter();
     int r = 0;
index a9a58d8a0db79c07bb3fa00f3fd02601a626335f..c5eb5e4ca2096b68e263511148eaec861515eaaa 100644 (file)
@@ -25,8 +25,9 @@
 
 #include "app-layer-htp.h"
 
-int DetectEngineInspectHttpMethod(DetectEngineCtx *, DetectEngineThreadCtx *,
-                                  Signature *, Flow *, uint8_t, void *);
+int DetectEngineInspectHttpMethod(ThreadVars *tv,
+                                  DetectEngineCtx *, DetectEngineThreadCtx *,
+                                  Signature *, Flow *, uint8_t, void *, int);
 int DetectEngineRunHttpMethodMpm(DetectEngineThreadCtx *, Flow *, HtpState *, uint8_t);
 void DetectEngineHttpMethodRegisterTests(void);
 
index 68dc00b524949031b882e510e992058395db7186..3b8a471a63b13fe2b8505a57561fdd4d27fad6ff 100644 (file)
@@ -127,10 +127,11 @@ end:
  * \retval 0 No match.
  * \retval 1 Match.
  */
-int DetectEngineInspectHttpRawHeader(DetectEngineCtx *de_ctx,
+int DetectEngineInspectHttpRawHeader(ThreadVars *tv,
+                                     DetectEngineCtx *de_ctx,
                                      DetectEngineThreadCtx *det_ctx,
                                      Signature *s, Flow *f, uint8_t flags,
-                                     void *alstate)
+                                     void *alstate, int tx_id)
 {
     SCEnter();
     int r = 0;
index 5a92bb535a707ec3856946a982467eba87683cb4..d9f38d0bc3cf3c75854b0426121db08fde9e0fcc 100644 (file)
@@ -25,7 +25,9 @@
 
 #include "app-layer-htp.h"
 
-int DetectEngineInspectHttpRawHeader(DetectEngineCtx *, DetectEngineThreadCtx *, Signature *, Flow *, uint8_t, void *);
+int DetectEngineInspectHttpRawHeader(ThreadVars *tv, DetectEngineCtx *,
+                                     DetectEngineThreadCtx *, Signature *,
+                                     Flow *, uint8_t, void *, int);
 int DetectEngineRunHttpRawHeaderMpm(DetectEngineThreadCtx *, Flow *, HtpState *,
                                     uint8_t);
 void DetectEngineHttpRawHeaderRegisterTests(void);
index ec004540798074cfcacd1ffd28b75195ff3cce51..52342a5c11ff61fe336a5b37dc9e33fa5f60b50b 100644 (file)
@@ -116,10 +116,11 @@ end:
  * \retval 0 No match.
  * \retval 1 Match.
  */
-int DetectEngineInspectHttpRawUri(DetectEngineCtx *de_ctx,
+int DetectEngineInspectHttpRawUri(ThreadVars *tv,
+                                  DetectEngineCtx *de_ctx,
                                   DetectEngineThreadCtx *det_ctx,
                                   Signature *s, Flow *f, uint8_t flags,
-                                  void *alstate)
+                                  void *alstate, int tx_id)
 {
     SCEnter();
 
index 6c5a7214e114aa183d3c4398c675a428b82968d4..32cf236ff58449674c4af96767fa827550041255 100644 (file)
@@ -28,8 +28,9 @@
 
 int DetectEngineRunHttpRawUriMpm(DetectEngineThreadCtx *,
                                  Flow *f, HtpState *, uint8_t);
-int DetectEngineInspectHttpRawUri(DetectEngineCtx *, DetectEngineThreadCtx *,
-                                  Signature *, Flow *, uint8_t, void *);
+int DetectEngineInspectHttpRawUri(ThreadVars *tv,
+                                  DetectEngineCtx *, DetectEngineThreadCtx *,
+                                  Signature *, Flow *, uint8_t, void *, int);
 void DetectEngineHttpRawUriRegisterTests(void);
 
 #endif /* __DETECT_ENGINE_HRUD_H__ */
index 6f27e0e9d3f9f8a61af7b22ab69e4c911fa1a25c..0df51cb99be9f06e6d25a6bb5df3b1c2e0b4b9ed 100644 (file)
@@ -257,10 +257,11 @@ int DetectEngineRunHttpServerBodyMpmV2(DetectEngineCtx *de_ctx,
     return cnt;
 }
 
-int DetectEngineInspectHttpServerBodyV2(DetectEngineCtx *de_ctx,
+int DetectEngineInspectHttpServerBodyV2(ThreadVars *tv,
+                                        DetectEngineCtx *de_ctx,
                                         DetectEngineThreadCtx *det_ctx,
                                         Signature *s, Flow *f, uint8_t flags,
-                                        void *alstate)
+                                        void *alstate, int tx_id)
 {
     int r = 0;
 
index f1801f07dea0b250a9ea7c1ac6959f88d2ec2f00..22e3c20957e4f1a593d640b01b006dfbd3a0a578 100644 (file)
 int DetectEngineRunHttpServerBodyMpmV2(DetectEngineCtx *de_ctx,
                                        DetectEngineThreadCtx *det_ctx, Flow *f,
                                        HtpState *htp_state, uint8_t flags);
-int DetectEngineInspectHttpServerBodyV2(DetectEngineCtx *de_ctx,
+int DetectEngineInspectHttpServerBodyV2(ThreadVars *tv,
+                                        DetectEngineCtx *de_ctx,
                                         DetectEngineThreadCtx *det_ctx,
                                         Signature *s, Flow *f, uint8_t flags,
-                                        void *alstate);
+                                        void *alstate, int tx_id);
 void DetectEngineCleanHSBDBuffersV2(DetectEngineThreadCtx *det_ctx);
 
 void DetectEngineHttpServerBodyRegisterTests(void);
index cf3e6f93f789d549a9ba03c319d3afaceebc1367..f82be47e5cbafd0b5c3ddd0cd370f40b67f49839 100644 (file)
@@ -113,10 +113,11 @@ end:
  * \retval 0 No match.
  * \retval 1 Match.
  */
-int DetectEngineInspectHttpStatCode(DetectEngineCtx *de_ctx,
+int DetectEngineInspectHttpStatCode(ThreadVars *tv,
+                                    DetectEngineCtx *de_ctx,
                                     DetectEngineThreadCtx *det_ctx,
                                     Signature *s, Flow *f, uint8_t flags,
-                                    void *alstate)
+                                    void *alstate, int tx_id)
 {
     SCEnter();
 
index 29663f383c1abcbb291ed75cb4f48735932c47ee..f6ffa0e2d99d6d01ae117176f2651f2c57f882e2 100644 (file)
@@ -27,8 +27,9 @@
 
 int DetectEngineRunHttpStatCodeMpm(DetectEngineThreadCtx *,
                                    Flow *f, HtpState *, uint8_t);
-int DetectEngineInspectHttpStatCode(DetectEngineCtx *, DetectEngineThreadCtx *,
-                                    Signature *, Flow *, uint8_t, void *);
+int DetectEngineInspectHttpStatCode(ThreadVars *tv,
+                                    DetectEngineCtx *, DetectEngineThreadCtx *,
+                                    Signature *, Flow *, uint8_t, void *, int);
 void DetectEngineHttpStatCodeRegisterTests(void);
 
 #endif /* __DETECT_ENGINE_HSCD_H__ */
index a407fcf52ef203d69ae4c1b6747643ee63eeccfb..d937a6e8bb473a012ec590defda4ad4198a60dac 100644 (file)
@@ -113,10 +113,11 @@ end:
  * \retval 0 No match.
  * \retval 1 Match.
  */
-int DetectEngineInspectHttpStatMsg(DetectEngineCtx *de_ctx,
-                                  DetectEngineThreadCtx *det_ctx,
-                                  Signature *s, Flow *f, uint8_t flags,
-                                  void *alstate)
+int DetectEngineInspectHttpStatMsg(ThreadVars *tv,
+                                   DetectEngineCtx *de_ctx,
+                                   DetectEngineThreadCtx *det_ctx,
+                                   Signature *s, Flow *f, uint8_t flags,
+                                   void *alstate, int tx_id)
 {
     SCEnter();
 
index e80eb95701ed51ff010b062ce3f7ec6c98f6a335..93f86259c3a4fd95a4ecc8423fec48446825c068 100644 (file)
@@ -27,8 +27,9 @@
 
 int DetectEngineRunHttpStatMsgMpm(DetectEngineThreadCtx *,
                                   Flow *f, HtpState *, uint8_t);
-int DetectEngineInspectHttpStatMsg(DetectEngineCtx *, DetectEngineThreadCtx *,
-                                   Signature *, Flow *, uint8_t, void *);
+int DetectEngineInspectHttpStatMsg(ThreadVars *tv,
+                                   DetectEngineCtx *, DetectEngineThreadCtx *,
+                                   Signature *, Flow *, uint8_t, void *, int tx_id);
 void DetectEngineHttpStatMsgRegisterTests(void);
 
 #endif /* __DETECT_ENGINE_HSMD_H__ */
index a7f5937163c9c4bb631f5266b2a61ca48651bc0c..9cee91303e70517304bbe9272b0bf402514fe40b 100644 (file)
@@ -119,10 +119,11 @@ int DetectEngineRunHttpUAMpm(DetectEngineThreadCtx *det_ctx, Flow *f,
  * \retval 0 No match.
  * \retval 1 Match.
  */
-int DetectEngineInspectHttpUA(DetectEngineCtx *de_ctx,
+int DetectEngineInspectHttpUA(ThreadVars *tv,
+                              DetectEngineCtx *de_ctx,
                               DetectEngineThreadCtx *det_ctx,
                               Signature *s, Flow *f, uint8_t flags,
-                              void *alstate)
+                              void *alstate, int tx_id)
 {
     SCEnter();
 
index c1048867a04f4f3dbdd2bc763499e61931b4437c..d4b0777a9d5c4c3c6b5d4bab98bb39bfa766530f 100644 (file)
@@ -25,8 +25,9 @@
 
 #include "app-layer-htp.h"
 
-int DetectEngineInspectHttpUA(DetectEngineCtx *, DetectEngineThreadCtx *,
-                              Signature *, Flow *, uint8_t, void *);
+int DetectEngineInspectHttpUA(ThreadVars *tv,
+                              DetectEngineCtx *, DetectEngineThreadCtx *,
+                              Signature *, Flow *, uint8_t, void *, int);
 int DetectEngineRunHttpUAMpm(DetectEngineThreadCtx *, Flow *, HtpState *, uint8_t);
 void DetectEngineHttpUARegisterTests(void);
 
index 7ea8486c21bfe9b9e18f1b4192359ce2a84647f1..16465b1d390704bd7cc9af419639d5429286d68a 100644 (file)
@@ -415,8 +415,8 @@ int DeStateDetectStartDetection(ThreadVars *tv, DetectEngineCtx *de_ctx,
 
                 SCLogDebug("inspecting uri");
 
-                if (DetectEngineInspectPacketUris(de_ctx, det_ctx, s, f,
-                            flags, alstate) == 1)
+                if (DetectEngineInspectPacketUris(tv, de_ctx, det_ctx, s, f,
+                                                  flags, alstate, 0) == 1)
                 {
                     SCLogDebug("uri matched");
                     match_flags |= DE_STATE_FLAG_URI_MATCH;
@@ -426,8 +426,8 @@ int DeStateDetectStartDetection(ThreadVars *tv, DetectEngineCtx *de_ctx,
             }
             if (s->sm_lists[DETECT_SM_LIST_HCBDMATCH] != NULL) {
                 inspect_flags |= DE_STATE_FLAG_HCBD_INSPECT;
-                if (DetectEngineInspectHttpClientBodyV2(de_ctx, det_ctx, s, f,
-                            flags, alstate) == 1) {
+                if (DetectEngineInspectHttpClientBodyV2(tv, de_ctx, det_ctx, s, f,
+                                                        flags, alstate, 0) == 1) {
                     match_flags |= DE_STATE_FLAG_HCBD_MATCH;
                 }
                 SCLogDebug("inspecting http client body");
@@ -438,40 +438,40 @@ int DeStateDetectStartDetection(ThreadVars *tv, DetectEngineCtx *de_ctx,
             }
             if (s->sm_lists[DETECT_SM_LIST_HHDMATCH] != NULL) {
                 inspect_flags |= DE_STATE_FLAG_HHD_INSPECT;
-                if (DetectEngineInspectHttpHeaderV2(de_ctx, det_ctx, s, f,
-                            flags, alstate) == 1) {
+                if (DetectEngineInspectHttpHeaderV2(tv, de_ctx, det_ctx, s, f,
+                                                    flags, alstate, 0) == 1) {
                     match_flags |= DE_STATE_FLAG_HHD_MATCH;
                 }
                 SCLogDebug("inspecting http header");
             }
             if (s->sm_lists[DETECT_SM_LIST_HRHDMATCH] != NULL) {
                 inspect_flags |= DE_STATE_FLAG_HRHD_INSPECT;
-                if (DetectEngineInspectHttpRawHeader(de_ctx, det_ctx, s, f,
-                            flags, alstate) == 1) {
+                if (DetectEngineInspectHttpRawHeader(tv, de_ctx, det_ctx, s, f,
+                                                     flags, alstate, 0) == 1) {
                     match_flags |= DE_STATE_FLAG_HRHD_MATCH;
                 }
                 SCLogDebug("inspecting http raw header");
             }
             if (s->sm_lists[DETECT_SM_LIST_HMDMATCH] != NULL) {
                 inspect_flags |= DE_STATE_FLAG_HMD_INSPECT;
-                if (DetectEngineInspectHttpMethod(de_ctx, det_ctx, s, f,
-                            flags, alstate) == 1) {
+                if (DetectEngineInspectHttpMethod(tv, de_ctx, det_ctx, s, f,
+                                                  flags, alstate, 0) == 1) {
                     match_flags |= DE_STATE_FLAG_HMD_MATCH;
                 }
                 SCLogDebug("inspecting http method");
             }
             if (s->sm_lists[DETECT_SM_LIST_HCDMATCH] != NULL) {
                 inspect_flags |= DE_STATE_FLAG_HCD_INSPECT;
-                if (DetectEngineInspectHttpCookie(de_ctx, det_ctx, s, f,
-                            flags, alstate) == 1) {
+                if (DetectEngineInspectHttpCookie(tv, de_ctx, det_ctx, s, f,
+                                                  flags, alstate, 0) == 1) {
                     match_flags |= DE_STATE_FLAG_HCD_MATCH;
                 }
                 SCLogDebug("inspecting http cookie");
             }
             if (s->sm_lists[DETECT_SM_LIST_HRUDMATCH] != NULL) {
                 inspect_flags |= DE_STATE_FLAG_HRUD_INSPECT;
-                if (DetectEngineInspectHttpRawUri(de_ctx, det_ctx, s, f,
-                            flags, alstate) == 1) {
+                if (DetectEngineInspectHttpRawUri(tv, de_ctx, det_ctx, s, f,
+                                                  flags, alstate, 0) == 1) {
                     match_flags |= DE_STATE_FLAG_HRUD_MATCH;
                 }
                 SCLogDebug("inspecting http raw uri");
@@ -483,7 +483,7 @@ int DeStateDetectStartDetection(ThreadVars *tv, DetectEngineCtx *de_ctx,
                     SCLogDebug("ready to inspect files");
                     inspect_flags |= DE_STATE_FLAG_FILE_TS_INSPECT;
 
-                    match = DetectFileInspectHttp(tv, det_ctx, f, s, alstate, flags);
+                    match = DetectFileInspectHttp(tv, de_ctx, det_ctx, s, f, flags, alstate, 0);
                     if (match == 1) {
                         match_flags |= DE_STATE_FLAG_FILE_TS_MATCH;
                     } else if (match == 2) {
@@ -506,8 +506,8 @@ int DeStateDetectStartDetection(ThreadVars *tv, DetectEngineCtx *de_ctx,
             }
             if (s->sm_lists[DETECT_SM_LIST_HUADMATCH] != NULL) {
                 inspect_flags |= DE_STATE_FLAG_HUAD_INSPECT;
-                if (DetectEngineInspectHttpUA(de_ctx, det_ctx, s, f,
-                                              flags, alstate) == 1) {
+                if (DetectEngineInspectHttpUA(tv, de_ctx, det_ctx, s, f,
+                                              flags, alstate, 0) == 1) {
                     match_flags |= DE_STATE_FLAG_HUAD_MATCH;
                 }
                 SCLogDebug("inspecting http cookie");
@@ -524,24 +524,24 @@ int DeStateDetectStartDetection(ThreadVars *tv, DetectEngineCtx *de_ctx,
             }
             if (s->sm_lists[DETECT_SM_LIST_HSBDMATCH] != NULL) {
                 inspect_flags |= DE_STATE_FLAG_HSBD_INSPECT;
-                if (DetectEngineInspectHttpServerBodyV2(de_ctx, det_ctx, s, f,
-                            flags, alstate) == 1) {
+                if (DetectEngineInspectHttpServerBodyV2(tv, de_ctx, det_ctx, s, f,
+                                                        flags, alstate, 0) == 1) {
                     match_flags |= DE_STATE_FLAG_HSBD_MATCH;
                 }
                 SCLogDebug("inspecting http server body");
             }
             if (s->sm_lists[DETECT_SM_LIST_HHDMATCH] != NULL) {
                 inspect_flags |= DE_STATE_FLAG_HHD_INSPECT;
-                if (DetectEngineInspectHttpHeaderV2(de_ctx, det_ctx, s, f,
-                            flags, alstate) == 1) {
+                if (DetectEngineInspectHttpHeaderV2(tv, de_ctx, det_ctx, s, f,
+                                                    flags, alstate, 0) == 1) {
                     match_flags |= DE_STATE_FLAG_HHD_MATCH;
                 }
                 SCLogDebug("inspecting http header");
             }
             if (s->sm_lists[DETECT_SM_LIST_HRHDMATCH] != NULL) {
                 inspect_flags |= DE_STATE_FLAG_HRHD_INSPECT;
-                if (DetectEngineInspectHttpRawHeader(de_ctx, det_ctx, s, f,
-                            flags, alstate) == 1) {
+                if (DetectEngineInspectHttpRawHeader(tv, de_ctx, det_ctx, s, f,
+                                                     flags, alstate, 0) == 1) {
                     match_flags |= DE_STATE_FLAG_HRHD_MATCH;
                 }
                 SCLogDebug("inspecting http raw header");
@@ -551,8 +551,8 @@ int DeStateDetectStartDetection(ThreadVars *tv, DetectEngineCtx *de_ctx,
             }
             if (s->sm_lists[DETECT_SM_LIST_HCDMATCH] != NULL) {
                 inspect_flags |= DE_STATE_FLAG_HCD_INSPECT;
-                if (DetectEngineInspectHttpCookie(de_ctx, det_ctx, s, f,
-                            flags, alstate) == 1) {
+                if (DetectEngineInspectHttpCookie(tv, de_ctx, det_ctx, s, f,
+                                                  flags, alstate, 0) == 1) {
                     match_flags |= DE_STATE_FLAG_HCD_MATCH;
                 }
                 SCLogDebug("inspecting http cookie");
@@ -567,7 +567,7 @@ int DeStateDetectStartDetection(ThreadVars *tv, DetectEngineCtx *de_ctx,
 
                     inspect_flags |= DE_STATE_FLAG_FILE_TC_INSPECT;
 
-                    match = DetectFileInspectHttp(tv, det_ctx, f, s, alstate, flags);
+                    match = DetectFileInspectHttp(tv, de_ctx, det_ctx, s, f, flags, alstate, 0);
                     SCLogDebug("match %d", match);
                     if (match == 1) {
                         match_flags |= DE_STATE_FLAG_FILE_TC_MATCH;
@@ -583,16 +583,16 @@ int DeStateDetectStartDetection(ThreadVars *tv, DetectEngineCtx *de_ctx,
             }
             if (s->sm_lists[DETECT_SM_LIST_HSMDMATCH] != NULL) {
                 inspect_flags |= DE_STATE_FLAG_HSMD_INSPECT;
-                if (DetectEngineInspectHttpStatMsg(de_ctx, det_ctx, s, f,
-                                                   flags, alstate) == 1) {
+                if (DetectEngineInspectHttpStatMsg(tv, de_ctx, det_ctx, s, f,
+                                                   flags, alstate, 0) == 1) {
                     match_flags |= DE_STATE_FLAG_HSMD_MATCH;
                 }
                 SCLogDebug("inspecting http stat msg");
             }
             if (s->sm_lists[DETECT_SM_LIST_HSCDMATCH] != NULL) {
                 inspect_flags |= DE_STATE_FLAG_HSCD_INSPECT;
-                if (DetectEngineInspectHttpStatCode(de_ctx, det_ctx, s, f,
-                                                    flags, alstate) == 1) {
+                if (DetectEngineInspectHttpStatCode(tv, de_ctx, det_ctx, s, f,
+                                                    flags, alstate, 0) == 1) {
                     match_flags |= DE_STATE_FLAG_HSCD_MATCH;
                 }
                 SCLogDebug("inspecting http stat code");
@@ -815,8 +815,8 @@ int DeStateDetectContinueDetection(ThreadVars *tv, DetectEngineCtx *de_ctx, Dete
                         SCLogDebug("inspecting uri");
                         inspect_flags |= DE_STATE_FLAG_URI_INSPECT;
 
-                        if (DetectEngineInspectPacketUris(de_ctx, det_ctx, s,
-                                    f, flags, alstate) == 1)
+                        if (DetectEngineInspectPacketUris(tv, de_ctx, det_ctx, s,
+                                                          f, flags, alstate, 0) == 1)
                         {
                             SCLogDebug("uri matched");
                             match_flags |= DE_STATE_FLAG_URI_MATCH;
@@ -832,8 +832,8 @@ int DeStateDetectContinueDetection(ThreadVars *tv, DetectEngineCtx *de_ctx, Dete
                         SCLogDebug("inspecting http client body data");
                         inspect_flags |= DE_STATE_FLAG_HCBD_INSPECT;
 
-                        if (DetectEngineInspectHttpClientBodyV2(de_ctx, det_ctx, s, f,
-                                                                flags, alstate) == 1) {
+                        if (DetectEngineInspectHttpClientBodyV2(tv, de_ctx, det_ctx, s, f,
+                                                                flags, alstate, 0) == 1) {
                             SCLogDebug("http client body matched");
                             match_flags |= DE_STATE_FLAG_HCBD_MATCH;
                         }
@@ -850,8 +850,8 @@ int DeStateDetectContinueDetection(ThreadVars *tv, DetectEngineCtx *de_ctx, Dete
                         SCLogDebug("inspecting http header data");
                         inspect_flags |= DE_STATE_FLAG_HHD_INSPECT;
 
-                        if (DetectEngineInspectHttpHeaderV2(de_ctx, det_ctx, s, f,
-                                                          flags, alstate) == 1) {
+                        if (DetectEngineInspectHttpHeaderV2(tv, de_ctx, det_ctx, s, f,
+                                                            flags, alstate, 0) == 1) {
                             SCLogDebug("http header matched");
                             match_flags |= DE_STATE_FLAG_HHD_MATCH;
                         }
@@ -862,8 +862,8 @@ int DeStateDetectContinueDetection(ThreadVars *tv, DetectEngineCtx *de_ctx, Dete
                         SCLogDebug("inspecting http raw header data");
                         inspect_flags |= DE_STATE_FLAG_HRHD_INSPECT;
 
-                        if (DetectEngineInspectHttpRawHeader(de_ctx, det_ctx, s, f,
-                                                             flags, alstate) == 1) {
+                        if (DetectEngineInspectHttpRawHeader(tv, de_ctx, det_ctx, s, f,
+                                                             flags, alstate, 0) == 1) {
                             SCLogDebug("http raw header matched");
                             match_flags |= DE_STATE_FLAG_HRHD_MATCH;
                         }
@@ -874,8 +874,8 @@ int DeStateDetectContinueDetection(ThreadVars *tv, DetectEngineCtx *de_ctx, Dete
                         SCLogDebug("inspecting http method data");
                         inspect_flags |= DE_STATE_FLAG_HMD_INSPECT;
 
-                        if (DetectEngineInspectHttpMethod(de_ctx, det_ctx, s, f,
-                                                          flags, alstate) == 1) {
+                        if (DetectEngineInspectHttpMethod(tv, de_ctx, det_ctx, s, f,
+                                                          flags, alstate, 0) == 1) {
                             SCLogDebug("http method matched");
                             match_flags |= DE_STATE_FLAG_HMD_MATCH;
                         }
@@ -886,8 +886,8 @@ int DeStateDetectContinueDetection(ThreadVars *tv, DetectEngineCtx *de_ctx, Dete
                         SCLogDebug("inspecting http cookie data");
                         inspect_flags |= DE_STATE_FLAG_HCD_INSPECT;
 
-                        if (DetectEngineInspectHttpCookie(de_ctx, det_ctx, s, f,
-                                                          flags, alstate) == 1) {
+                        if (DetectEngineInspectHttpCookie(tv, de_ctx, det_ctx, s, f,
+                                                          flags, alstate, 0) == 1) {
                             SCLogDebug("http cookie matched");
                             match_flags |= DE_STATE_FLAG_HCD_MATCH;
                         }
@@ -898,8 +898,8 @@ int DeStateDetectContinueDetection(ThreadVars *tv, DetectEngineCtx *de_ctx, Dete
                         SCLogDebug("inspecting http raw uri data");
                         inspect_flags |= DE_STATE_FLAG_HRUD_INSPECT;
 
-                        if (DetectEngineInspectHttpRawUri(de_ctx, det_ctx, s, f,
-                                                          flags, alstate) == 1) {
+                        if (DetectEngineInspectHttpRawUri(tv, de_ctx, det_ctx, s, f,
+                                                          flags, alstate, 0) == 1) {
                             SCLogDebug("http raw uri matched");
                             match_flags |= DE_STATE_FLAG_HRUD_MATCH;
                         }
@@ -914,7 +914,7 @@ int DeStateDetectContinueDetection(ThreadVars *tv, DetectEngineCtx *de_ctx, Dete
 
                             inspect_flags |= DE_STATE_FLAG_FILE_TS_INSPECT;
 
-                            match = DetectFileInspectHttp(tv, det_ctx, f, s, alstate, flags);
+                            match = DetectFileInspectHttp(tv, de_ctx, det_ctx, s, f, flags, alstate, 0);
                             if (match == 1) {
                                 match_flags |= DE_STATE_FLAG_FILE_TS_MATCH;
                             } else if (match == 2) {
@@ -945,8 +945,8 @@ int DeStateDetectContinueDetection(ThreadVars *tv, DetectEngineCtx *de_ctx, Dete
                         SCLogDebug("inspecting http user agent data");
                         inspect_flags |= DE_STATE_FLAG_HUAD_INSPECT;
 
-                        if (DetectEngineInspectHttpUA(de_ctx, det_ctx, s, f,
-                                                      flags, alstate) == 1) {
+                        if (DetectEngineInspectHttpUA(tv, de_ctx, det_ctx, s, f,
+                                                      flags, alstate, 0) == 1) {
                             SCLogDebug("http user agent matched");
                             match_flags |= DE_STATE_FLAG_HUAD_MATCH;
                         }
@@ -971,8 +971,8 @@ int DeStateDetectContinueDetection(ThreadVars *tv, DetectEngineCtx *de_ctx, Dete
                         SCLogDebug("inspecting http server body data");
                         inspect_flags |= DE_STATE_FLAG_HSBD_INSPECT;
 
-                        if (DetectEngineInspectHttpServerBodyV2(de_ctx, det_ctx, s, f,
-                                                              flags, alstate) == 1) {
+                        if (DetectEngineInspectHttpServerBodyV2(tv, de_ctx, det_ctx, s, f,
+                                                                flags, alstate, 0) == 1) {
                             SCLogDebug("http server body matched");
                             match_flags |= DE_STATE_FLAG_HSBD_MATCH;
                         }
@@ -981,8 +981,8 @@ int DeStateDetectContinueDetection(ThreadVars *tv, DetectEngineCtx *de_ctx, Dete
                 if (s->sm_lists[DETECT_SM_LIST_HHDMATCH] != NULL) {
                     if (!(item->flags & DE_STATE_FLAG_HHD_MATCH)) {
                         inspect_flags |= DE_STATE_FLAG_HHD_INSPECT;
-                        if (DetectEngineInspectHttpHeaderV2(de_ctx, det_ctx, s, f,
-                                                          flags, alstate) == 1) {
+                        if (DetectEngineInspectHttpHeaderV2(tv, de_ctx, det_ctx, s, f,
+                                                            flags, alstate, 0) == 1) {
                             match_flags |= DE_STATE_FLAG_HHD_MATCH;
                         }
                     }
@@ -991,8 +991,8 @@ int DeStateDetectContinueDetection(ThreadVars *tv, DetectEngineCtx *de_ctx, Dete
                 if (s->sm_lists[DETECT_SM_LIST_HRHDMATCH] != NULL) {
                     if (!(item->flags & DE_STATE_FLAG_HRHD_MATCH)) {
                         inspect_flags |= DE_STATE_FLAG_HRHD_INSPECT;
-                        if (DetectEngineInspectHttpRawHeader(de_ctx, det_ctx, s, f,
-                                                             flags, alstate) == 1) {
+                        if (DetectEngineInspectHttpRawHeader(tv, de_ctx, det_ctx, s, f,
+                                                             flags, alstate, 0) == 1) {
                             match_flags |= DE_STATE_FLAG_HRHD_MATCH;
                         }
                         SCLogDebug("inspecting http raw header");
@@ -1006,8 +1006,8 @@ int DeStateDetectContinueDetection(ThreadVars *tv, DetectEngineCtx *de_ctx, Dete
                 if (s->sm_lists[DETECT_SM_LIST_HCDMATCH] != NULL) {
                     if (!(item->flags & DE_STATE_FLAG_HCD_MATCH)) {
                         inspect_flags |= DE_STATE_FLAG_HCD_INSPECT;
-                        if (DetectEngineInspectHttpCookie(de_ctx, det_ctx, s, f,
-                                                          flags, alstate) == 1) {
+                        if (DetectEngineInspectHttpCookie(tv, de_ctx, det_ctx, s, f,
+                                                          flags, alstate, 0) == 1) {
                             match_flags |= DE_STATE_FLAG_HCD_MATCH;
                         }
                         SCLogDebug("inspecting http cookie");
@@ -1026,7 +1026,7 @@ int DeStateDetectContinueDetection(ThreadVars *tv, DetectEngineCtx *de_ctx, Dete
 
                             inspect_flags |= DE_STATE_FLAG_FILE_TC_INSPECT;
 
-                            match = DetectFileInspectHttp(tv, det_ctx, f, s, alstate, flags);
+                            match = DetectFileInspectHttp(tv, de_ctx, det_ctx, s, f, flags, alstate, 0);
                             if (match == 1) {
                                 match_flags |= DE_STATE_FLAG_FILE_TC_MATCH;
                             } else if (match == 2) {
@@ -1045,8 +1045,8 @@ int DeStateDetectContinueDetection(ThreadVars *tv, DetectEngineCtx *de_ctx, Dete
                         SCLogDebug("inspecting http stat msg data");
                         inspect_flags |= DE_STATE_FLAG_HSMD_INSPECT;
 
-                        if (DetectEngineInspectHttpStatMsg(de_ctx, det_ctx, s, f,
-                                                           flags, alstate) == 1) {
+                        if (DetectEngineInspectHttpStatMsg(tv, de_ctx, det_ctx, s, f,
+                                                           flags, alstate, 0) == 1) {
                             SCLogDebug("http stat msg matched");
                             match_flags |= DE_STATE_FLAG_HSMD_MATCH;
                         }
@@ -1057,8 +1057,8 @@ int DeStateDetectContinueDetection(ThreadVars *tv, DetectEngineCtx *de_ctx, Dete
                         SCLogDebug("inspecting http stat code data");
                         inspect_flags |= DE_STATE_FLAG_HSCD_INSPECT;
 
-                        if (DetectEngineInspectHttpStatCode(de_ctx, det_ctx, s, f,
-                                                            flags, alstate) == 1) {
+                        if (DetectEngineInspectHttpStatCode(tv, de_ctx, det_ctx, s, f,
+                                                            flags, alstate, 0) == 1) {
                             SCLogDebug("http stat code matched");
                             match_flags |= DE_STATE_FLAG_HSCD_MATCH;
                         }
index edc6d1bf2ce3260acbd23fbd06e58527a011f772..e7979282b36a74332ab095a0cc990dd4e675e9fc 100644 (file)
  *  \retval 0 no match
  *  \retval 1 match
  */
-int DetectEngineInspectPacketUris(DetectEngineCtx *de_ctx,
-        DetectEngineThreadCtx *det_ctx, Signature *s, Flow *f, uint8_t flags,
-        void *alstate)
+int DetectEngineInspectPacketUris(ThreadVars *tv,
+                                  DetectEngineCtx *de_ctx,
+                                  DetectEngineThreadCtx *det_ctx,
+                                  Signature *s, Flow *f, uint8_t flags,
+                                  void *alstate, int tx_id)
 {
     SCEnter();
     int r = 0;
index 1eb886cf49153cacb2d023a5cf29256ab4e947b3..c1e4129b955bc089ce1b45fa7a67f9f08ff3e27f 100644 (file)
@@ -24,8 +24,9 @@
 #ifndef __DETECT_ENGINE_URICONTENT_H__
 #define __DETECT_ENGINE_URICONTENT_H__
 
-int DetectEngineInspectPacketUris(DetectEngineCtx *, DetectEngineThreadCtx *,
-                                  Signature *, Flow *, uint8_t, void *);
+int DetectEngineInspectPacketUris(ThreadVars *tv,
+                                  DetectEngineCtx *, DetectEngineThreadCtx *,
+                                  Signature *, Flow *, uint8_t, void *, int);
 void UriRegisterTests(void);
 
 #endif /* __DETECT_ENGINE_URICONTENT_H__ */