From 02529b13a8cb7cc5b33669e010f65b1f3216eb39 Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Fri, 19 Sep 2014 13:39:37 +0200 Subject: [PATCH] rule parser: set flag for optionless keywords If a keyword doesn't have an argument, it should set the SIGMATCH_NOOPT flag so the parser knows. --- src/detect-dce-stub-data.c | 1 + src/detect-dns-query.c | 1 + src/detect-fast-pattern.c | 1 + src/detect-file-data.c | 1 + src/detect-filestore.c | 1 + src/detect-ftpbounce.c | 1 + src/detect-http-client-body.c | 1 + src/detect-http-cookie.c | 1 + src/detect-http-header.c | 1 + src/detect-http-hh.c | 1 + src/detect-http-hrh.c | 1 + src/detect-http-method.c | 1 + src/detect-http-raw-header.c | 1 + src/detect-http-raw-uri.c | 1 + src/detect-http-server-body.c | 1 + src/detect-http-stat-code.c | 1 + src/detect-http-stat-msg.c | 1 + src/detect-http-ua.c | 1 + src/detect-http-uri.c | 1 + src/detect-pkt-data.c | 1 + src/detect-sameip.c | 1 + 21 files changed, 21 insertions(+) diff --git a/src/detect-dce-stub-data.c b/src/detect-dce-stub-data.c index 2f6f31539e..d5e660ebd4 100644 --- a/src/detect-dce-stub-data.c +++ b/src/detect-dce-stub-data.c @@ -66,6 +66,7 @@ void DetectDceStubDataRegister(void) sigmatch_table[DETECT_DCE_STUB_DATA].Free = NULL; sigmatch_table[DETECT_DCE_STUB_DATA].RegisterTests = DetectDceStubDataRegisterTests; + sigmatch_table[DETECT_DCE_STUB_DATA].flags |= SIGMATCH_NOOPT; sigmatch_table[DETECT_DCE_STUB_DATA].flags |= SIGMATCH_PAYLOAD; return; diff --git a/src/detect-dns-query.c b/src/detect-dns-query.c index 8f06fa1948..84333cb4df 100644 --- a/src/detect-dns-query.c +++ b/src/detect-dns-query.c @@ -75,6 +75,7 @@ void DetectDnsQueryRegister (void) sigmatch_table[DETECT_AL_DNS_QUERY].Free = NULL; sigmatch_table[DETECT_AL_DNS_QUERY].RegisterTests = DetectDnsQueryRegisterTests; + sigmatch_table[DETECT_AL_DNS_QUERY].flags |= SIGMATCH_NOOPT; sigmatch_table[DETECT_AL_DNS_QUERY].flags |= SIGMATCH_PAYLOAD; } diff --git a/src/detect-fast-pattern.c b/src/detect-fast-pattern.c index a71f23bbb4..a54103e65e 100644 --- a/src/detect-fast-pattern.c +++ b/src/detect-fast-pattern.c @@ -161,6 +161,7 @@ void DetectFastPatternRegister(void) sigmatch_table[DETECT_FAST_PATTERN].Free = NULL; sigmatch_table[DETECT_FAST_PATTERN].RegisterTests = DetectFastPatternRegisterTests; + sigmatch_table[DETECT_FAST_PATTERN].flags |= SIGMATCH_NOOPT; sigmatch_table[DETECT_FAST_PATTERN].flags |= SIGMATCH_PAYLOAD; const char *eb; diff --git a/src/detect-file-data.c b/src/detect-file-data.c index 4e84a931b0..694f4d297d 100644 --- a/src/detect-file-data.c +++ b/src/detect-file-data.c @@ -59,6 +59,7 @@ void DetectFiledataRegister(void) sigmatch_table[DETECT_FILE_DATA].Setup = DetectFiledataSetup; sigmatch_table[DETECT_FILE_DATA].Free = NULL; sigmatch_table[DETECT_FILE_DATA].RegisterTests = NULL; + sigmatch_table[DETECT_FILE_DATA].flags = SIGMATCH_NOOPT; } /** diff --git a/src/detect-filestore.c b/src/detect-filestore.c index 39e4b9913f..6ec5b5f8e5 100644 --- a/src/detect-filestore.c +++ b/src/detect-filestore.c @@ -77,6 +77,7 @@ void DetectFilestoreRegister(void) sigmatch_table[DETECT_FILESTORE].Setup = DetectFilestoreSetup; sigmatch_table[DETECT_FILESTORE].Free = DetectFilestoreFree; sigmatch_table[DETECT_FILESTORE].RegisterTests = NULL; + sigmatch_table[DETECT_FILESTORE].flags = SIGMATCH_NOOPT; const char *eb; int eo; diff --git a/src/detect-ftpbounce.c b/src/detect-ftpbounce.c index 74ab43445b..39e1c5a2a0 100644 --- a/src/detect-ftpbounce.c +++ b/src/detect-ftpbounce.c @@ -70,6 +70,7 @@ void DetectFtpbounceRegister(void) sigmatch_table[DETECT_FTPBOUNCE].alproto = ALPROTO_FTP; sigmatch_table[DETECT_FTPBOUNCE].Free = NULL; sigmatch_table[DETECT_FTPBOUNCE].RegisterTests = DetectFtpbounceRegisterTests; + sigmatch_table[DETECT_FTPBOUNCE].flags = SIGMATCH_NOOPT; return; } diff --git a/src/detect-http-client-body.c b/src/detect-http-client-body.c index d29dc23b00..112e11efef 100644 --- a/src/detect-http-client-body.c +++ b/src/detect-http-client-body.c @@ -76,6 +76,7 @@ void DetectHttpClientBodyRegister(void) sigmatch_table[DETECT_AL_HTTP_CLIENT_BODY].RegisterTests = DetectHttpClientBodyRegisterTests; sigmatch_table[DETECT_AL_HTTP_CLIENT_BODY].alproto = ALPROTO_HTTP; + sigmatch_table[DETECT_AL_HTTP_CLIENT_BODY].flags |= SIGMATCH_NOOPT ; sigmatch_table[DETECT_AL_HTTP_CLIENT_BODY].flags |= SIGMATCH_PAYLOAD ; } diff --git a/src/detect-http-cookie.c b/src/detect-http-cookie.c index facf64ad71..94f76765ad 100644 --- a/src/detect-http-cookie.c +++ b/src/detect-http-cookie.c @@ -79,6 +79,7 @@ void DetectHttpCookieRegister(void) sigmatch_table[DETECT_AL_HTTP_COOKIE].Free = DetectHttpCookieFree; sigmatch_table[DETECT_AL_HTTP_COOKIE].RegisterTests = DetectHttpCookieRegisterTests; + sigmatch_table[DETECT_AL_HTTP_COOKIE].flags |= SIGMATCH_NOOPT; sigmatch_table[DETECT_AL_HTTP_COOKIE].flags |= SIGMATCH_PAYLOAD; } diff --git a/src/detect-http-header.c b/src/detect-http-header.c index 63935727e6..8f902cc9ae 100644 --- a/src/detect-http-header.c +++ b/src/detect-http-header.c @@ -78,6 +78,7 @@ void DetectHttpHeaderRegister(void) sigmatch_table[DETECT_AL_HTTP_HEADER].RegisterTests = DetectHttpHeaderRegisterTests; sigmatch_table[DETECT_AL_HTTP_HEADER].alproto = ALPROTO_HTTP; + sigmatch_table[DETECT_AL_HTTP_HEADER].flags |= SIGMATCH_NOOPT ; sigmatch_table[DETECT_AL_HTTP_HEADER].flags |= SIGMATCH_PAYLOAD ; return; diff --git a/src/detect-http-hh.c b/src/detect-http-hh.c index c5a052b637..4df0fe329a 100644 --- a/src/detect-http-hh.c +++ b/src/detect-http-hh.c @@ -76,6 +76,7 @@ void DetectHttpHHRegister(void) sigmatch_table[DETECT_AL_HTTP_HOST].RegisterTests = DetectHttpHHRegisterTests; sigmatch_table[DETECT_AL_HTTP_HOST].alproto = ALPROTO_HTTP; + sigmatch_table[DETECT_AL_HTTP_HOST].flags |= SIGMATCH_NOOPT ; sigmatch_table[DETECT_AL_HTTP_HOST].flags |= SIGMATCH_PAYLOAD ; return; diff --git a/src/detect-http-hrh.c b/src/detect-http-hrh.c index 0fc08b228a..fd15544c37 100644 --- a/src/detect-http-hrh.c +++ b/src/detect-http-hrh.c @@ -76,6 +76,7 @@ void DetectHttpHRHRegister(void) sigmatch_table[DETECT_AL_HTTP_RAW_HOST].RegisterTests = DetectHttpHRHRegisterTests; sigmatch_table[DETECT_AL_HTTP_RAW_HOST].alproto = ALPROTO_HTTP; + sigmatch_table[DETECT_AL_HTTP_RAW_HOST].flags |= SIGMATCH_NOOPT ; sigmatch_table[DETECT_AL_HTTP_RAW_HOST].flags |= SIGMATCH_PAYLOAD ; return; diff --git a/src/detect-http-method.c b/src/detect-http-method.c index 9c419e3345..f398de4483 100644 --- a/src/detect-http-method.c +++ b/src/detect-http-method.c @@ -78,6 +78,7 @@ void DetectHttpMethodRegister(void) sigmatch_table[DETECT_AL_HTTP_METHOD].Setup = DetectHttpMethodSetup; sigmatch_table[DETECT_AL_HTTP_METHOD].Free = DetectHttpMethodFree; sigmatch_table[DETECT_AL_HTTP_METHOD].RegisterTests = DetectHttpMethodRegisterTests; + sigmatch_table[DETECT_AL_HTTP_METHOD].flags |= SIGMATCH_NOOPT; sigmatch_table[DETECT_AL_HTTP_METHOD].flags |= SIGMATCH_PAYLOAD; SCLogDebug("registering http_method rule option"); diff --git a/src/detect-http-raw-header.c b/src/detect-http-raw-header.c index c0672d610a..61e2f153c1 100644 --- a/src/detect-http-raw-header.c +++ b/src/detect-http-raw-header.c @@ -76,6 +76,7 @@ void DetectHttpRawHeaderRegister(void) sigmatch_table[DETECT_AL_HTTP_RAW_HEADER].RegisterTests = DetectHttpRawHeaderRegisterTests; sigmatch_table[DETECT_AL_HTTP_RAW_HEADER].alproto = ALPROTO_HTTP; + sigmatch_table[DETECT_AL_HTTP_RAW_HEADER].flags |= SIGMATCH_NOOPT; sigmatch_table[DETECT_AL_HTTP_RAW_HEADER].flags |= SIGMATCH_PAYLOAD; return; diff --git a/src/detect-http-raw-uri.c b/src/detect-http-raw-uri.c index 3e60f1ef53..7cedd89271 100644 --- a/src/detect-http-raw-uri.c +++ b/src/detect-http-raw-uri.c @@ -71,6 +71,7 @@ void DetectHttpRawUriRegister(void) sigmatch_table[DETECT_AL_HTTP_RAW_URI].Setup = DetectHttpRawUriSetup; sigmatch_table[DETECT_AL_HTTP_RAW_URI].Free = NULL; sigmatch_table[DETECT_AL_HTTP_RAW_URI].RegisterTests = DetectHttpRawUriRegisterTests; + sigmatch_table[DETECT_AL_HTTP_RAW_URI].flags |= SIGMATCH_NOOPT; sigmatch_table[DETECT_AL_HTTP_RAW_URI].flags |= SIGMATCH_PAYLOAD; return; diff --git a/src/detect-http-server-body.c b/src/detect-http-server-body.c index 882c81e418..01a9def8f2 100644 --- a/src/detect-http-server-body.c +++ b/src/detect-http-server-body.c @@ -78,6 +78,7 @@ void DetectHttpServerBodyRegister(void) sigmatch_table[DETECT_AL_HTTP_SERVER_BODY].RegisterTests = DetectHttpServerBodyRegisterTests; sigmatch_table[DETECT_AL_HTTP_SERVER_BODY].alproto = ALPROTO_HTTP; + sigmatch_table[DETECT_AL_HTTP_SERVER_BODY].flags |= SIGMATCH_NOOPT; sigmatch_table[DETECT_AL_HTTP_SERVER_BODY].flags |= SIGMATCH_PAYLOAD ; } diff --git a/src/detect-http-stat-code.c b/src/detect-http-stat-code.c index 5510549568..0237009f81 100644 --- a/src/detect-http-stat-code.c +++ b/src/detect-http-stat-code.c @@ -84,6 +84,7 @@ void DetectHttpStatCodeRegister (void) sigmatch_table[DETECT_AL_HTTP_STAT_CODE].Free = NULL; sigmatch_table[DETECT_AL_HTTP_STAT_CODE].RegisterTests = DetectHttpStatCodeRegisterTests; + sigmatch_table[DETECT_AL_HTTP_STAT_CODE].flags |= SIGMATCH_NOOPT; sigmatch_table[DETECT_AL_HTTP_STAT_CODE].flags |= SIGMATCH_PAYLOAD; } diff --git a/src/detect-http-stat-msg.c b/src/detect-http-stat-msg.c index ff97651261..d2d7685edd 100644 --- a/src/detect-http-stat-msg.c +++ b/src/detect-http-stat-msg.c @@ -84,6 +84,7 @@ void DetectHttpStatMsgRegister (void) sigmatch_table[DETECT_AL_HTTP_STAT_MSG].Free = NULL; sigmatch_table[DETECT_AL_HTTP_STAT_MSG].RegisterTests = DetectHttpStatMsgRegisterTests; + sigmatch_table[DETECT_AL_HTTP_STAT_MSG].flags |= SIGMATCH_NOOPT; sigmatch_table[DETECT_AL_HTTP_STAT_MSG].flags |= SIGMATCH_PAYLOAD; } diff --git a/src/detect-http-ua.c b/src/detect-http-ua.c index ee92e4d712..e335aeb101 100644 --- a/src/detect-http-ua.c +++ b/src/detect-http-ua.c @@ -77,6 +77,7 @@ void DetectHttpUARegister(void) sigmatch_table[DETECT_AL_HTTP_USER_AGENT].RegisterTests = DetectHttpUARegisterTests; sigmatch_table[DETECT_AL_HTTP_USER_AGENT].alproto = ALPROTO_HTTP; + sigmatch_table[DETECT_AL_HTTP_USER_AGENT].flags |= SIGMATCH_NOOPT; sigmatch_table[DETECT_AL_HTTP_USER_AGENT].flags |= SIGMATCH_PAYLOAD ; return; diff --git a/src/detect-http-uri.c b/src/detect-http-uri.c index 4620c1a22d..a4a4782d79 100644 --- a/src/detect-http-uri.c +++ b/src/detect-http-uri.c @@ -73,6 +73,7 @@ void DetectHttpUriRegister (void) sigmatch_table[DETECT_AL_HTTP_URI].Free = NULL; sigmatch_table[DETECT_AL_HTTP_URI].RegisterTests = DetectHttpUriRegisterTests; + sigmatch_table[DETECT_AL_HTTP_URI].flags |= SIGMATCH_NOOPT; sigmatch_table[DETECT_AL_HTTP_URI].flags |= SIGMATCH_PAYLOAD; } diff --git a/src/detect-pkt-data.c b/src/detect-pkt-data.c index 9c39b52d71..332ac4ccdc 100644 --- a/src/detect-pkt-data.c +++ b/src/detect-pkt-data.c @@ -58,6 +58,7 @@ void DetectPktDataRegister(void) sigmatch_table[DETECT_PKT_DATA].Setup = DetectPktDataSetup; sigmatch_table[DETECT_PKT_DATA].Free = NULL; sigmatch_table[DETECT_PKT_DATA].RegisterTests = DetectPktDataTestRegister; + sigmatch_table[DETECT_PKT_DATA].flags = SIGMATCH_NOOPT; } /** diff --git a/src/detect-sameip.c b/src/detect-sameip.c index 7cd71d3650..db17e21599 100644 --- a/src/detect-sameip.c +++ b/src/detect-sameip.c @@ -55,6 +55,7 @@ void DetectSameipRegister(void) sigmatch_table[DETECT_SAMEIP].Setup = DetectSameipSetup; sigmatch_table[DETECT_SAMEIP].Free = NULL; sigmatch_table[DETECT_SAMEIP].RegisterTests = DetectSameipRegisterTests; + sigmatch_table[DETECT_SAMEIP].flags = SIGMATCH_NOOPT; } /**