|
suricata
|

Go to the source code of this file.
Macros | |
| #define | DETECT_TBLSIZE_STEP 256 |
| #define | SIGMATCH_NOOPT (1UL << (0)) |
| #define | SIGMATCH_IPONLY_COMPAT (1UL << (1)) |
| #define | SIGMATCH_DEONLY_COMPAT (1UL << (2)) |
| #define | SIGMATCH_OPTIONAL_OPT (1UL << (3)) |
| #define | SIGMATCH_QUOTES_OPTIONAL (1UL << (4)) |
| #define | SIGMATCH_QUOTES_MANDATORY (1UL << (5)) |
| #define | SIGMATCH_HANDLE_NEGATION (1UL << (6)) |
| #define | SIGMATCH_INFO_CONTENT_MODIFIER (1UL << (7)) |
| #define | SIGMATCH_INFO_STICKY_BUFFER (1UL << (8)) |
| #define | SIGMATCH_INFO_DEPRECATED (1UL << (9)) |
| #define | SIGMATCH_STRICT_PARSING (1UL << (10)) |
| #define | SIGMATCH_SUPPORT_FIREWALL (1UL << (11)) |
| #define | SIGMATCH_SUPPORT_DIR (1UL << (12)) |
| #define | SIGMATCH_INFO_MULTI_BUFFER (1UL << (13)) |
| #define | SIGMATCH_INFO_UINT8 (1UL << (14)) |
| #define | SIGMATCH_INFO_UINT16 (1UL << (15)) |
| #define | SIGMATCH_INFO_UINT32 (1UL << (16)) |
| #define | SIGMATCH_INFO_UINT64 (1UL << (17)) |
| #define | SIGMATCH_INFO_MULTI_UINT (1UL << (18)) |
| #define | SIGMATCH_INFO_ENUM_UINT (1UL << (19)) |
| #define | SIGMATCH_INFO_BITFLAGS_UINT (1UL << (20)) |
Functions | |
| int | SigTableList (const char *keyword) |
| void | SigTableCleanup (void) |
| void | SigTableInit (void) |
| void | SigTableSetup (void) |
| int | SCSigTablePreRegister (void(*KeywordsRegister)(void)) |
| void | SigTableRegisterTests (void) |
| bool | SCSigTableHasKeyword (const char *keyword) |
| Check if a keyword exists. More... | |
| void | SCDetectHelperKeywordSetCleanCString (uint16_t id) |
Variables | |
| int | DETECT_TBLSIZE |
| int | DETECT_TBLSIZE_IDX |
Definition in file detect-engine-register.h.
| #define DETECT_TBLSIZE_STEP 256 |
Definition at line 308 of file detect-engine-register.h.
| #define SIGMATCH_DEONLY_COMPAT (1UL << (2)) |
sigmatch is compatible with a decode event only rule
Definition at line 316 of file detect-engine-register.h.
| #define SIGMATCH_HANDLE_NEGATION (1UL << (6)) |
negation parsing is handled by the rule parser. Signature::init_data::negated will be set to true or false prior to calling the keyword parser. Exclamation mark is stripped from the input to the keyword parser.
Definition at line 330 of file detect-engine-register.h.
| #define SIGMATCH_INFO_BITFLAGS_UINT (1UL << (20)) |
keyword is an uint with bitflags
Definition at line 358 of file detect-engine-register.h.
| #define SIGMATCH_INFO_CONTENT_MODIFIER (1UL << (7)) |
keyword is a content modifier
Definition at line 332 of file detect-engine-register.h.
| #define SIGMATCH_INFO_DEPRECATED (1UL << (9)) |
keyword is deprecated: used to suggest an alternative
Definition at line 336 of file detect-engine-register.h.
| #define SIGMATCH_INFO_ENUM_UINT (1UL << (19)) |
keyword is an uint with enumeration stringer
Definition at line 356 of file detect-engine-register.h.
| #define SIGMATCH_INFO_MULTI_BUFFER (1UL << (13)) |
keyword is a multi buffer
Definition at line 344 of file detect-engine-register.h.
| #define SIGMATCH_INFO_MULTI_UINT (1UL << (18)) |
keyword is a multi uint
Definition at line 354 of file detect-engine-register.h.
| #define SIGMATCH_INFO_STICKY_BUFFER (1UL << (8)) |
keyword is a sticky buffer
Definition at line 334 of file detect-engine-register.h.
| #define SIGMATCH_INFO_UINT16 (1UL << (15)) |
keyword is a unsigned 16-bit integer
Definition at line 348 of file detect-engine-register.h.
| #define SIGMATCH_INFO_UINT32 (1UL << (16)) |
keyword is a unsigned 32-bit integer
Definition at line 350 of file detect-engine-register.h.
| #define SIGMATCH_INFO_UINT64 (1UL << (17)) |
keyword is a unsigned 64-bit integer
Definition at line 352 of file detect-engine-register.h.
| #define SIGMATCH_INFO_UINT8 (1UL << (14)) |
keyword is a unsigned 8-bit integer
Definition at line 346 of file detect-engine-register.h.
| #define SIGMATCH_IPONLY_COMPAT (1UL << (1)) |
sigmatch is compatible with a ip only rule
Definition at line 314 of file detect-engine-register.h.
| #define SIGMATCH_NOOPT (1UL << (0)) |
sigmatch has no options, so the parser shouldn't expect any
Definition at line 312 of file detect-engine-register.h.
| #define SIGMATCH_OPTIONAL_OPT (1UL << (3)) |
sigmatch may have options, so the parser should be ready to deal with both cases
Definition at line 319 of file detect-engine-register.h.
| #define SIGMATCH_QUOTES_MANDATORY (1UL << (5)) |
input MUST be wrapped in double quotes. They will be stripped before input data is passed to keyword parser. Missing double quotes lead to error and signature invalidation.
Definition at line 326 of file detect-engine-register.h.
| #define SIGMATCH_QUOTES_OPTIONAL (1UL << (4)) |
input may be wrapped in double quotes. They will be stripped before input data is passed to keyword parser
Definition at line 322 of file detect-engine-register.h.
| #define SIGMATCH_STRICT_PARSING (1UL << (10)) |
strict parsing is enabled
Definition at line 338 of file detect-engine-register.h.
| #define SIGMATCH_SUPPORT_DIR (1UL << (12)) |
keyword supporting setting an optional direction
Definition at line 342 of file detect-engine-register.h.
| #define SIGMATCH_SUPPORT_FIREWALL (1UL << (11)) |
keyword supported by firewall rules
Definition at line 340 of file detect-engine-register.h.
| enum DetectKeywordId |
Definition at line 27 of file detect-engine-register.h.
| void SCDetectHelperKeywordSetCleanCString | ( | uint16_t | id | ) |
Definition at line 472 of file detect-engine-register.c.
References SigTableElmt_::Cleanup, and sigmatch_table.
| bool SCSigTableHasKeyword | ( | const char * | keyword | ) |
Check if a keyword exists.
Definition at line 373 of file detect-engine-register.c.
References DETECT_TBLSIZE, name, SigTableElmt_::name, and sigmatch_table.
| int SCSigTablePreRegister | ( | void(*)(void) | KeywordsRegister | ) |
Definition at line 501 of file detect-engine-register.c.
| void SigTableCleanup | ( | void | ) |
Definition at line 477 of file detect-engine-register.c.
References SigTableElmt_::Cleanup, DETECT_TBLSIZE, SCFree, and sigmatch_table.
Referenced by GlobalsDestroy().

| void SigTableInit | ( | void | ) |
Definition at line 517 of file detect-engine-register.c.
References DETECT_TBLSIZE, DETECT_TBLSIZE_STATIC, DETECT_TBLSIZE_STEP, FatalError, SCCalloc, and sigmatch_table.
Referenced by ListKeywords(), LLVMFuzzerTestOneInput(), PostConfLoadedSetup(), and RunUnittests().

| int SigTableList | ( | const char * | keyword | ) |
Definition at line 390 of file detect-engine-register.c.
References DETECT_TBLSIZE, name, SigTableElmt_::name, and sigmatch_table.
Referenced by ListKeywords().

| void SigTableRegisterTests | ( | void | ) |
Definition at line 777 of file detect-engine-register.c.
References coverage_unittests, DETECT_TBLSIZE, g_ut_covered, g_ut_modules, name, SigTableElmt_::RegisterTests, SCLogDebug, SCLogWarning, and sigmatch_table.
| void SigTableSetup | ( | void | ) |
Definition at line 529 of file detect-engine-register.c.
References DetectAckRegister(), DetectAppLayerEventRegister(), DetectAppLayerProtocolRegister(), DetectAppLayerStateRegister(), DetectAsn1Register(), DetectBase64DataRegister(), DetectBase64DecodeRegister(), DetectBsizeRegister(), DetectBypassRegister(), DetectByteExtractRegister(), DetectBytejumpRegister(), DetectBytemathRegister(), DetectBytetestRegister(), DetectClasstypeRegister(), DetectConfigRegister(), DetectContentRegister(), DetectCsumRegister(), DetectDatarepRegister(), DetectDatasetRegister(), DetectDceIfaceRegister(), DetectDceOpnumRegister(), DetectDceStubDataRegister(), DetectDepthRegister(), DetectDetectionFilterRegister(), DetectDistanceRegister(), DetectDNP3Register(), DetectDnsNameRegister(), DetectDnsResponseRegister(), DetectDsizeRegister(), DetectEngineEventRegister(), DetectEntropyRegister(), DetectEtherhdrRegister(), DetectFastPatternRegister(), DetectFiledataRegister(), DetectFilemagicRegister(), DetectFileMd5Register(), DetectFilenameRegister(), DetectFileSha1Register(), DetectFileSha256Register(), DetectFilesizeRegister(), DetectFilestoreRegister(), DetectFlagsRegister(), DetectFlowAgeRegister(), DetectFlowbitsRegister(), DetectFlowBytesRegister(), DetectFlowBytesToClientRegister(), DetectFlowBytesToServerRegister(), DetectFlowElephantRegister(), DetectFlowintRegister(), DetectFlowPktsRegister(), DetectFlowPktsToClientRegister(), DetectFlowPktsToServerRegister(), DetectFlowRegister(), DetectFlowvarRegister(), DetectFragBitsRegister(), DetectFragOffsetRegister(), DetectFrameRegister(), DetectFtpbounceRegister(), DetectFtpCommandDataRegister(), DetectFtpCommandRegister(), DetectFtpCompletionCodeRegister(), DetectFtpdataRegister(), DetectFtpDynamicPortRegister(), DetectFtpModeRegister(), DetectFtpReplyReceivedRegister(), DetectFtpReplyRegister(), DetectGeoipRegister(), DetectGidRegister(), DetectHostbitsRegister(), DetectHttp2Register(), DetectHttpClientBodyRegister(), DetectHttpCookieRegister(), DetectHttpHeaderNamesRegister(), DetectHttpHeaderRegister(), DetectHttpHeadersRegister(), DetectHttpHHRegister(), DetectHttpMethodRegister(), DetectHttpProtocolRegister(), DetectHttpRawHeaderRegister(), DetectHttpRequestHeaderRegister(), DetectHttpRequestLineRegister(), DetectHttpResponseHeaderRegister(), DetectHttpResponseLineRegister(), DetectHttpServerBodyRegister(), DetectHttpStartRegister(), DetectHttpStatCodeRegister(), DetectHttpStatMsgRegister(), DetectHttpUARegister(), DetectHttpUriRegister(), DetectIcmpIdRegister(), DetectIcmpSeqRegister(), DetectIcmpv4HdrRegister(), DetectICMPv6hdrRegister(), DetectICMPv6mtuRegister(), DetectICodeRegister(), DetectIdRegister(), DetectIGMPHdrRegister(), DetectIGMPTypeRegister(), DetectIPAddrBufferRegister(), DetectIpOptsRegister(), DetectIPProtoRegister(), DetectIPRepRegister(), DetectIpv4hdrRegister(), DetectIpv6hdrRegister(), DetectIsdataatRegister(), DetectITypeRegister(), DetectJa4HashRegister(), DetectKrb5CNameRegister(), DetectKrb5ErrCodeRegister(), DetectKrb5SNameRegister(), DetectKrb5TicketEncryptionRegister(), DetectL3ProtoRegister(), DetectLuaRegister(), DetectMarkRegister(), DetectMetadataRegister(), DetectModbusRegister(), DetectMsgRegister(), DetectNfsVersionRegister(), DetectNoalertRegister(), DetectNocaseRegister(), DetectOffsetRegister(), DetectPcreRegister(), DetectPktDataRegister(), DetectPktvarRegister(), DetectPrefilterRegister(), DetectPriorityRegister(), DetectRawbytesRegister(), DetectReferenceRegister(), DetectRegisterAppLayerHookLists(), DetectReplaceRegister(), DetectRequiresRegister(), DetectRevRegister(), DetectRpcRegister(), DetectSameipRegister(), DetectSeqRegister(), DetectSidRegister(), DetectSipMethodRegister(), DetectSipUriRegister(), DetectSslStateRegister(), DetectSslVersionRegister(), DetectStreamSizeRegister(), DetectTagRegister(), DetectTargetRegister(), DetectTcphdrRegister(), DetectTcpmssRegister(), DetectTcpWscaleRegister(), DetectTemplate2Register(), DetectTemplateRegister(), DetectThresholdRegister(), DetectTlsAlpnRegister(), DetectTlsCertChainLenRegister(), DetectTlsCertsRegister(), DetectTlsFingerprintRegister(), DetectTlsIssuerRegister(), DetectTlsJa3HashRegister(), DetectTlsJa3SHashRegister(), DetectTlsJa3SStringRegister(), DetectTlsJa3StringRegister(), DetectTlsRandomRegister(), DetectTlsRegister(), DetectTlsSerialRegister(), DetectTlsSniRegister(), DetectTlsSubjectAltNameRegister(), DetectTlsSubjectRegister(), DetectTlsValidityRegister(), DetectTlsVersionRegister(), DetectTosRegister(), DetectTransformLuaxformRegister(), DetectTransformPcrexformRegister(), DetectTtlRegister(), DetectUdphdrRegister(), DetectUricontentRegister(), DetectUrilenRegister(), DetectWindowRegister(), DetectWithinRegister(), and DetectXbitsRegister().
Referenced by ListKeywords(), LLVMFuzzerTestOneInput(), and RunUnittests().

| int DETECT_TBLSIZE |
Definition at line 268 of file detect-engine-register.c.
Referenced by PrefilterSetupRuleGroup(), SCDetectHelperNewKeywordId(), SCProfilingKeywordThreadSetup(), SCProfilingKeywordUpdateCounter(), SCSigTableHasKeyword(), SigMatchStrictEnabled(), SigTableApplyStrictCommandLineOption(), SigTableCleanup(), SigTableInit(), SigTableList(), and SigTableRegisterTests().
| int DETECT_TBLSIZE_IDX |
Definition at line 269 of file detect-engine-register.c.
Referenced by SCDetectHelperNewKeywordId().