From 681f8329a6cda8c37de47e5f362a227521b31a8a Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Wed, 13 Apr 2011 09:50:47 +0200 Subject: [PATCH] Make error on <- direction operation use more explicit. --- src/detect-parse.c | 7 ++++++- src/util-error.c | 1 + src/util-error.h | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/detect-parse.c b/src/detect-parse.c index bc19eaaae5..8fd9f2e043 100644 --- a/src/detect-parse.c +++ b/src/detect-parse.c @@ -90,7 +90,7 @@ typedef struct SigDuplWrapper_ { #define CONFIG_OPTS 7 // action protocol src sp dir dst dp options -#define CONFIG_PCRE "^([A-z]+)\\s+([A-z0-9]+)\\s+([\\[\\]A-z0-9\\.\\:_\\$\\!\\-,\\/]+)\\s+([\\:A-z0-9_\\$\\!,]+)\\s+(-\\>|\\<\\>)\\s+([\\[\\]A-z0-9\\.\\:_\\$\\!\\-,/]+)\\s+([\\:A-z0-9_\\$\\!,]+)(?:\\s+\\((.*)?(?:\\s*)\\))?(?:(?:\\s*)\\n)?\\s*$" +#define CONFIG_PCRE "^([A-z]+)\\s+([A-z0-9]+)\\s+([\\[\\]A-z0-9\\.\\:_\\$\\!\\-,\\/]+)\\s+([\\:A-z0-9_\\$\\!,]+)\\s+(-\\>|\\<\\>|\\<\\-)\\s+([\\[\\]A-z0-9\\.\\:_\\$\\!\\-,/]+)\\s+([\\:A-z0-9_\\$\\!,]+)(?:\\s+\\((.*)?(?:\\s*)\\))?(?:(?:\\s*)\\n)?\\s*$" #define OPTION_PARTS 3 #define OPTION_PCRE "^\\s*([A-z_0-9-\\.]+)(?:\\s*\\:\\s*(.*)(?\" is not a valid direction modifier, \"->\" and \"<>\" are supported."); + goto error; + } + /* Check if it is bidirectional */ if (strcmp(arr[CONFIG_DIREC], "<>") == 0) s->init_flags |= SIG_FLAG_BIDIREC; diff --git a/src/util-error.c b/src/util-error.c index e2f6ffd012..b913a08e00 100644 --- a/src/util-error.c +++ b/src/util-error.c @@ -205,6 +205,7 @@ const char * SCErrorToString(SCError err) CASE_CODE (SC_ERR_UNKNOWN_DECODE_EVENT); CASE_CODE (SC_ERR_RUNMODE); CASE_CODE (SC_ERR_SHUTDOWN); + CASE_CODE (SC_ERR_INVALID_DIRECTION); default: return "UNKNOWN_ERROR"; diff --git a/src/util-error.h b/src/util-error.h index ec07bef9ad..545c7cc1ca 100644 --- a/src/util-error.h +++ b/src/util-error.h @@ -216,6 +216,7 @@ typedef enum { SC_ERR_UNKNOWN_DECODE_EVENT, SC_ERR_RUNMODE, SC_ERR_SHUTDOWN, + SC_ERR_INVALID_DIRECTION, } SCError; const char *SCErrorToString(SCError);