detect: move grouping/building code into own file

Clean up main detect.c file by moving things related to rule
grouping out.
pull/3072/head
Victor Julien 9 years ago
parent 622d60b74d
commit 90569d5fd6

@ -106,12 +106,13 @@ detect-tls-cert-subject.c detect-tls-cert-subject.h \
detect-tls-cert-serial.c detect-tls-cert-serial.h \ detect-tls-cert-serial.c detect-tls-cert-serial.h \
detect-tls-cert-fingerprint.c detect-tls-cert-fingerprint.h \ detect-tls-cert-fingerprint.c detect-tls-cert-fingerprint.h \
detect-dsize.c detect-dsize.h \ detect-dsize.c detect-dsize.h \
detect-engine.c detect-engine.h \
detect-engine-address.c detect-engine-address.h \ detect-engine-address.c detect-engine-address.h \
detect-engine-address-ipv4.c detect-engine-address-ipv4.h \ detect-engine-address-ipv4.c detect-engine-address-ipv4.h \
detect-engine-address-ipv6.c detect-engine-address-ipv6.h \ detect-engine-address-ipv6.c detect-engine-address-ipv6.h \
detect-engine-alert.c detect-engine-alert.h \ detect-engine-alert.c detect-engine-alert.h \
detect-engine-analyzer.c detect-engine-analyzer.h \ detect-engine-analyzer.c detect-engine-analyzer.h \
detect-engine.c detect-engine.h \ detect-engine-build.c detect-engine-build.h \
detect-engine-content-inspection.c detect-engine-content-inspection.h \ detect-engine-content-inspection.c detect-engine-content-inspection.h \
detect-engine-dcepayload.c detect-engine-dcepayload.h \ detect-engine-dcepayload.c detect-engine-dcepayload.h \
detect-engine-dns.c detect-engine-dns.h \ detect-engine-dns.c detect-engine-dns.h \

File diff suppressed because it is too large Load Diff

@ -0,0 +1,42 @@
/* Copyright (C) 2007-2017 Open Information Security Foundation
*
* You can copy, redistribute or modify this Program under the terms of
* the GNU General Public License version 2 as published by the Free
* Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* version 2 along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#ifndef __DETECT_ENGINE_BUILD_H__
#define __DETECT_ENGINE_BUILD_H__
void PacketCreateMask(Packet *p, SignatureMask *mask, AppProto alproto,
bool has_state, int app_decoder_events);
int SignatureIsFilestoring(const Signature *);
int SignatureIsFilemagicInspecting(const Signature *);
int SignatureIsFileMd5Inspecting(const Signature *);
int SignatureIsFileSha1Inspecting(const Signature *s);
int SignatureIsFileSha256Inspecting(const Signature *s);
int SignatureIsFilesizeInspecting(const Signature *);
int SigAddressPrepareStage1(DetectEngineCtx *de_ctx);
int SigAddressPrepareStage2(DetectEngineCtx *de_ctx);
int SigAddressPrepareStage3(DetectEngineCtx *de_ctx);
int SigAddressPrepareStage4(DetectEngineCtx *de_ctx);
int SigAddressCleanupStage1(DetectEngineCtx *de_ctx);
void SigCleanSignatures(DetectEngineCtx *);
int SigGroupBuild(DetectEngineCtx *);
int SigGroupCleanup (DetectEngineCtx *de_ctx);
#endif /* __DETECT_ENGINE_BUILD_H__ */

File diff suppressed because it is too large Load Diff

@ -24,7 +24,7 @@
#ifndef __DETECT_H__ #ifndef __DETECT_H__
#define __DETECT_H__ #define __DETECT_H__
#include <stdint.h> #include "suricata-common.h"
#include "flow.h" #include "flow.h"
@ -1383,11 +1383,6 @@ enum {
SigTableElmt sigmatch_table[DETECT_TBLSIZE]; SigTableElmt sigmatch_table[DETECT_TBLSIZE];
/* detection api */ /* detection api */
int SigAddressPrepareStage1(DetectEngineCtx *de_ctx);
int SigAddressPrepareStage2(DetectEngineCtx *de_ctx);
int SigAddressPrepareStage3(DetectEngineCtx *de_ctx);
int SigAddressPrepareStage4(DetectEngineCtx *de_ctx);
int SigAddressCleanupStage1(DetectEngineCtx *de_ctx);
TmEcode Detect(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq, PacketQueue *postpq); TmEcode Detect(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq, PacketQueue *postpq);
SigMatch *SigMatchAlloc(void); SigMatch *SigMatchAlloc(void);
@ -1396,15 +1391,12 @@ void SigMatchSignaturesBuildMatchArray(DetectEngineThreadCtx *,
Packet *, SignatureMask, Packet *, SignatureMask,
uint16_t); uint16_t);
void SigMatchFree(SigMatch *sm); void SigMatchFree(SigMatch *sm);
void SigCleanSignatures(DetectEngineCtx *);
void SigTableRegisterTests(void); void SigTableRegisterTests(void);
void SigRegisterTests(void); void SigRegisterTests(void);
void DetectSimdRegisterTests(void); void DetectSimdRegisterTests(void);
void TmModuleDetectRegister (void); void TmModuleDetectRegister (void);
int SigGroupBuild(DetectEngineCtx *);
int SigGroupCleanup (DetectEngineCtx *de_ctx);
void SigAddressPrepareBidirectionals (DetectEngineCtx *); void SigAddressPrepareBidirectionals (DetectEngineCtx *);
void DisableDetectFlowFileFlags(Flow *f); void DisableDetectFlowFileFlags(Flow *f);
@ -1420,12 +1412,6 @@ const SigGroupHead *SigMatchSignaturesGetSgh(const DetectEngineCtx *de_ctx, cons
Signature *DetectGetTagSignature(void); Signature *DetectGetTagSignature(void);
int SignatureIsFilestoring(const Signature *);
int SignatureIsFilemagicInspecting(const Signature *);
int SignatureIsFileMd5Inspecting(const Signature *);
int SignatureIsFileSha1Inspecting(const Signature *s);
int SignatureIsFileSha256Inspecting(const Signature *s);
int SignatureIsFilesizeInspecting(const Signature *);
int DetectRegisterThreadCtxFuncs(DetectEngineCtx *, const char *name, void *(*InitFunc)(void *), void *data, void (*FreeFunc)(void *), int); int DetectRegisterThreadCtxFuncs(DetectEngineCtx *, const char *name, void *(*InitFunc)(void *), void *data, void (*FreeFunc)(void *), int);
void *DetectThreadCtxGetKeywordThreadCtx(DetectEngineThreadCtx *, int); void *DetectThreadCtxGetKeywordThreadCtx(DetectEngineThreadCtx *, int);
@ -1435,5 +1421,7 @@ int SigMatchSignaturesRunPostMatch(ThreadVars *tv,
const Signature *s); const Signature *s);
void DetectSignatureApplyActions(Packet *p, const Signature *s, const uint8_t); void DetectSignatureApplyActions(Packet *p, const Signature *s, const uint8_t);
#include "detect-engine-build.h"
#endif /* __DETECT_H__ */ #endif /* __DETECT_H__ */

Loading…
Cancel
Save