Added ALLOW_ID_NOT_UNIQUE compile flag to allow duplicate rule ids and no id

This commit is contained in:
Marc Stern 2016-05-17 16:50:16 +02:00 committed by Felipe Zimmerle
parent bb577950bf
commit 7ff0e7e7b2
No known key found for this signature in database
GPG Key ID: E6DFB08CE8B11277
2 changed files with 19 additions and 1 deletions

View File

@ -799,6 +799,7 @@ static const char *add_rule(cmd_parms *cmd, directory_config *dcfg, int type,
return my_error_msg;
}
#ifndef ALLOW_ID_NOT_UNIQUE
/* Rules must have uniq ID */
type_rule = (dcfg->tmp_chain_starter == NULL);
#if defined(WITH_LUA)
@ -831,6 +832,7 @@ static const char *add_rule(cmd_parms *cmd, directory_config *dcfg, int type,
// return "ModSecurity: Found another rule with the same id";
}
}
#endif
/* Create default actionset if one does not already exist. */
if (dcfg->tmp_default_actionset == NULL) {

View File

@ -411,6 +411,22 @@ AC_ARG_ENABLE(request-early,
request_early='-DREQUEST_EARLY'
])
# Enable duplicate rules id
AC_ARG_ENABLE(rule-id-validation,
AS_HELP_STRING([--enable-rule-id-validation],
[Forbid duplicate rule ids and missing ones. This is the default]),
[
if test "$enableval" != "no"; then
unique_id=
else
unique_id="-DALLOW_ID_NOT_UNIQUE"
MODSEC_EXTRA_CFLAGS="$MODSEC_EXTRA_CFLAGS $unique_id"
fi
],
[
unique_id=''
])
# Ignore configure errors
AC_ARG_ENABLE(errors,
AS_HELP_STRING([--disable-errors],