Change @eq to @streq. See #54.
This commit is contained in:
Родитель
2aa6e61605
Коммит
c559f3ee21
2
CHANGES
2
CHANGES
|
@ -14,7 +14,7 @@
|
||||||
content type (e.g. HTML, plain text, etc).
|
content type (e.g. HTML, plain text, etc).
|
||||||
|
|
||||||
* Added string comparison operators with support for macro expansion:
|
* Added string comparison operators with support for macro expansion:
|
||||||
@contains, @is, @beginsWith and @endsWith.
|
@contains, @streq, @beginsWith and @endsWith.
|
||||||
|
|
||||||
* Enhanced debug log output to log macro expansion, quote values and
|
* Enhanced debug log output to log macro expansion, quote values and
|
||||||
correctly display values that contained NULs.
|
correctly display values that contained NULs.
|
||||||
|
|
|
@ -238,9 +238,9 @@ static int msre_op_contains_execute(modsec_rec *msr, msre_rule *rule, msre_var *
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* is */
|
/* streq */
|
||||||
|
|
||||||
static int msre_op_is_execute(modsec_rec *msr, msre_rule *rule, msre_var *var, char **error_msg) {
|
static int msre_op_streq_execute(modsec_rec *msr, msre_rule *rule, msre_var *var, char **error_msg) {
|
||||||
msc_string *str = (msc_string *)apr_pcalloc(msr->mp, sizeof(msc_string));
|
msc_string *str = (msc_string *)apr_pcalloc(msr->mp, sizeof(msc_string));
|
||||||
const char *match = NULL;
|
const char *match = NULL;
|
||||||
const char *target;
|
const char *target;
|
||||||
|
@ -1109,9 +1109,9 @@ void msre_engine_register_default_operators(msre_engine *engine) {
|
||||||
|
|
||||||
/* is */
|
/* is */
|
||||||
msre_engine_op_register(engine,
|
msre_engine_op_register(engine,
|
||||||
"is",
|
"streq",
|
||||||
NULL, /* ENH init function to flag var substitution */
|
NULL, /* ENH init function to flag var substitution */
|
||||||
msre_op_is_execute
|
msre_op_streq_execute
|
||||||
);
|
);
|
||||||
|
|
||||||
/* startsWith */
|
/* startsWith */
|
||||||
|
|
|
@ -4019,22 +4019,6 @@ SecRule ARGS:route "!<emphasis role="bold">@endsWith %{REQUEST_ADDR}</emphasis>"
|
||||||
role="bold">@inspectFile </emphasis>/opt/apache/bin/inspect_script.pl"</programlisting>
|
role="bold">@inspectFile </emphasis>/opt/apache/bin/inspect_script.pl"</programlisting>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section>
|
|
||||||
<title><literal>is</literal></title>
|
|
||||||
|
|
||||||
<para><emphasis role="bold">Description: </emphasis>This operator is a
|
|
||||||
string comparison and returns true if the parameter value matches the
|
|
||||||
input exactly. Macro expansion is performed so you may use variable
|
|
||||||
names such as %{TX.1}, etc.</para>
|
|
||||||
|
|
||||||
<para>Example:</para>
|
|
||||||
|
|
||||||
<programlisting format="linespecific">SecRule ARGS:foo "!<emphasis
|
|
||||||
role="bold">@is bar</emphasis>" t:none,deny,status:403
|
|
||||||
SecRule REQUEST_ADDR "^(.*)$" deny,status:403,capture,chain
|
|
||||||
SecRule REQUEST_HEADERS:Ip-Address "!<emphasis role="bold">@is %{TX.1}</emphasis>"</programlisting>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<title><literal>le</literal></title>
|
<title><literal>le</literal></title>
|
||||||
|
|
||||||
|
@ -4115,6 +4099,22 @@ SecRule REQUEST_HEADERS:Ip-Address "!<emphasis role="bold">@is %{TX.1}</emphasis
|
||||||
</orderedlist>
|
</orderedlist>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<title><literal>streq</literal></title>
|
||||||
|
|
||||||
|
<para><emphasis role="bold">Description: </emphasis>This operator is a
|
||||||
|
string comparison and returns true if the parameter value matches the
|
||||||
|
input exactly. Macro expansion is performed so you may use variable
|
||||||
|
names such as %{TX.1}, etc.</para>
|
||||||
|
|
||||||
|
<para>Example:</para>
|
||||||
|
|
||||||
|
<programlisting format="linespecific">SecRule ARGS:foo "!<emphasis
|
||||||
|
role="bold">@streq bar</emphasis>" t:none,deny,status:403
|
||||||
|
SecRule REQUEST_ADDR "^(.*)$" deny,status:403,capture,chain
|
||||||
|
SecRule REQUEST_HEADERS:Ip-Address "!<emphasis role="bold">@streq %{TX.1}</emphasis>"</programlisting>
|
||||||
|
</section>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<title><literal>validateByteRange</literal></title>
|
<title><literal>validateByteRange</literal></title>
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче