mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-15 23:55:03 +03:00
Merge pull request #3194 from marcstern/v2/pr/PCRE_ERROR_NOMATCH
msc_regexec() != PCRE_ERROR_NOMATCH
This commit is contained in:
commit
914c1a1cb2
@ -120,8 +120,7 @@ static int var_args_generate(modsec_rec *msr, msre_var *var, msre_rule *rule,
|
|||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
/* Run the regex against the argument name. */
|
/* Run the regex against the argument name. */
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, arg->name,
|
if (msc_regexec((msc_regex_t *)var->param_data, arg->name, arg->name_len, &my_error_msg) >= 0) match = 1;
|
||||||
arg->name_len, &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(arg->name, var->param) == 0) match = 1;
|
if (strcasecmp(arg->name, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -198,8 +197,7 @@ static int var_args_names_generate(modsec_rec *msr, msre_var *var, msre_rule *ru
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, arg->name,
|
if (msc_regexec((msc_regex_t *)var->param_data, arg->name, arg->name_len, &my_error_msg) >= 0) match = 1;
|
||||||
arg->name_len, &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(arg->name, var->param) == 0) match = 1;
|
if (strcasecmp(arg->name, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -250,8 +248,7 @@ static int var_args_get_generate(modsec_rec *msr, msre_var *var, msre_rule *rule
|
|||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
/* Run the regex against the argument name. */
|
/* Run the regex against the argument name. */
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, arg->name,
|
if (msc_regexec((msc_regex_t *)var->param_data, arg->name, arg->name_len, &my_error_msg) >= 0) match = 1;
|
||||||
arg->name_len, &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(arg->name, var->param) == 0) match = 1;
|
if (strcasecmp(arg->name, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -300,8 +297,7 @@ static int var_args_get_names_generate(modsec_rec *msr, msre_var *var, msre_rule
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, arg->name,
|
if (msc_regexec((msc_regex_t *)var->param_data, arg->name, arg->name_len, &my_error_msg) >= 0) match = 1;
|
||||||
arg->name_len, &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(arg->name, var->param) == 0) match = 1;
|
if (strcasecmp(arg->name, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -352,8 +348,7 @@ static int var_args_post_generate(modsec_rec *msr, msre_var *var, msre_rule *rul
|
|||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
/* Run the regex against the argument name. */
|
/* Run the regex against the argument name. */
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, arg->name,
|
if (msc_regexec((msc_regex_t *)var->param_data, arg->name, arg->name_len, &my_error_msg) >= 0) match = 1;
|
||||||
arg->name_len, &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(arg->name, var->param) == 0) match = 1;
|
if (strcasecmp(arg->name, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -402,8 +397,7 @@ static int var_args_post_names_generate(modsec_rec *msr, msre_var *var, msre_rul
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, arg->name,
|
if (msc_regexec((msc_regex_t *)var->param_data, arg->name, arg->name_len, &my_error_msg) >= 0) match = 1;
|
||||||
arg->name_len, &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(arg->name, var->param) == 0) match = 1;
|
if (strcasecmp(arg->name, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -901,8 +895,7 @@ static int var_tx_generate(modsec_rec *msr, msre_var *var, msre_rule *rule,
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, str->name,
|
if (msc_regexec((msc_regex_t *)var->param_data, str->name, str->name_len, &my_error_msg) >= 0) match = 1;
|
||||||
str->name_len, &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(str->name, var->param) == 0) match = 1;
|
if (strcasecmp(str->name, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -957,8 +950,7 @@ static int var_geo_generate(modsec_rec *msr, msre_var *var, msre_rule *rule,
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, str->name,
|
if (msc_regexec((msc_regex_t *)var->param_data, str->name, str->name_len, &my_error_msg) >= 0) match = 1;
|
||||||
str->name_len, &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(str->name, var->param) == 0) match = 1;
|
if (strcasecmp(str->name, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -1018,8 +1010,7 @@ static int var_ip_generate(modsec_rec *msr, msre_var *var, msre_rule *rule,
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, str->name,
|
if (msc_regexec((msc_regex_t *)var->param_data, str->name, str->name_len, &my_error_msg) >= 0) match = 1;
|
||||||
str->name_len, &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(str->name, var->param) == 0) match = 1;
|
if (strcasecmp(str->name, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -1098,8 +1089,7 @@ static int var_session_generate(modsec_rec *msr, msre_var *var, msre_rule *rule,
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, str->name,
|
if (msc_regexec((msc_regex_t *)var->param_data, str->name, str->name_len, &my_error_msg) >= 0) match = 1;
|
||||||
str->name_len, &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(str->name, var->param) == 0) match = 1;
|
if (strcasecmp(str->name, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -1154,8 +1144,7 @@ static int var_user_generate(modsec_rec *msr, msre_var *var, msre_rule *rule,
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, str->name,
|
if (msc_regexec((msc_regex_t *)var->param_data, str->name, str->name_len, &my_error_msg) >= 0) match = 1;
|
||||||
str->name_len, &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(str->name, var->param) == 0) match = 1;
|
if (strcasecmp(str->name, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -1214,8 +1203,7 @@ static int var_global_generate(modsec_rec *msr, msre_var *var, msre_rule *rule,
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, str->name,
|
if (msc_regexec((msc_regex_t *)var->param_data, str->name, str->name_len, &my_error_msg) >= 0) match = 1;
|
||||||
str->name_len, &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(str->name, var->param) == 0) match = 1;
|
if (strcasecmp(str->name, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -1266,8 +1254,7 @@ static int var_resource_generate(modsec_rec *msr, msre_var *var, msre_rule *rule
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, str->name,
|
if (msc_regexec((msc_regex_t *)var->param_data, str->name, str->name_len, &my_error_msg) >= 0) match = 1;
|
||||||
str->name_len, &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(str->name, var->param) == 0) match = 1;
|
if (strcasecmp(str->name, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -1308,38 +1295,21 @@ static int var_files_tmp_contents_generate(modsec_rec *msr, msre_var *var,
|
|||||||
if (msr->mpd == NULL) return 0;
|
if (msr->mpd == NULL) return 0;
|
||||||
|
|
||||||
parts = (multipart_part **)msr->mpd->parts->elts;
|
parts = (multipart_part **)msr->mpd->parts->elts;
|
||||||
for (i = 0; i < msr->mpd->parts->nelts; i++)
|
for (i = 0; i < msr->mpd->parts->nelts; i++) {
|
||||||
{
|
if ((parts[i]->type == MULTIPART_FILE) && (parts[i]->tmp_file_name != NULL)) {
|
||||||
if ((parts[i]->type == MULTIPART_FILE) &&
|
|
||||||
(parts[i]->tmp_file_name != NULL))
|
|
||||||
{
|
|
||||||
int match = 0;
|
int match = 0;
|
||||||
|
|
||||||
/* Figure out if we want to include this variable. */
|
/* Figure out if we want to include this variable. */
|
||||||
if (var->param == NULL)
|
if (var->param == NULL)match = 1;
|
||||||
{
|
else {
|
||||||
match = 1;
|
if (var->param_data != NULL) {
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (var->param_data != NULL)
|
|
||||||
{
|
|
||||||
/* Regex. */
|
/* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data,
|
if (msc_regexec((msc_regex_t*)var->param_data, parts[i]->name, strlen(parts[i]->name), &my_error_msg) >= 0) match = 1;
|
||||||
parts[i]->name, strlen(parts[i]->name),
|
|
||||||
&my_error_msg) == PCRE_ERROR_NOMATCH))
|
|
||||||
{
|
|
||||||
match = 1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else {
|
||||||
{
|
|
||||||
/* Simple comparison. */
|
/* Simple comparison. */
|
||||||
if (strcasecmp(parts[i]->name, var->param) == 0)
|
if (strcasecmp(parts[i]->name, var->param) == 0)match = 1;
|
||||||
{
|
|
||||||
match = 1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* If we had a match add this argument to the collection. */
|
/* If we had a match add this argument to the collection. */
|
||||||
@ -1353,10 +1323,7 @@ static int var_files_tmp_contents_generate(modsec_rec *msr, msre_var *var,
|
|||||||
msre_var *rvar = NULL;
|
msre_var *rvar = NULL;
|
||||||
|
|
||||||
file = fopen(parts[i]->tmp_file_name, "r");
|
file = fopen(parts[i]->tmp_file_name, "r");
|
||||||
if (file == NULL)
|
if (file == NULL) continue;
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
full_content = (char *)apr_pcalloc(mptmp, (sizeof(char)*parts[i]->length) + 1);
|
full_content = (char *)apr_pcalloc(mptmp, (sizeof(char)*parts[i]->length) + 1);
|
||||||
if (full_content == NULL) {
|
if (full_content == NULL) {
|
||||||
@ -1418,8 +1385,7 @@ static int var_files_tmpnames_generate(modsec_rec *msr, msre_var *var, msre_rule
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, parts[i]->name,
|
if (msc_regexec((msc_regex_t *)var->param_data, parts[i]->name, strlen(parts[i]->name), &my_error_msg) >= 0) match = 1;
|
||||||
strlen(parts[i]->name), &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(parts[i]->name, var->param) == 0) match = 1;
|
if (strcasecmp(parts[i]->name, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -1467,8 +1433,7 @@ static int var_files_generate(modsec_rec *msr, msre_var *var, msre_rule *rule,
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, parts[i]->name,
|
if (msc_regexec((msc_regex_t *)var->param_data, parts[i]->name, strlen(parts[i]->name), &my_error_msg) >= 0) match = 1;
|
||||||
strlen(parts[i]->name), &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(parts[i]->name, var->param) == 0) match = 1;
|
if (strcasecmp(parts[i]->name, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -1516,8 +1481,7 @@ static int var_files_sizes_generate(modsec_rec *msr, msre_var *var, msre_rule *r
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, parts[i]->name,
|
if (msc_regexec((msc_regex_t *)var->param_data, parts[i]->name, strlen(parts[i]->name), &my_error_msg) >= 0) match = 1;
|
||||||
strlen(parts[i]->name), &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(parts[i]->name, var->param) == 0) match = 1;
|
if (strcasecmp(parts[i]->name, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -1634,8 +1598,7 @@ static int var_multipart_part_headers_generate(modsec_rec *msr, msre_var *var, m
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, parts[i]->name,
|
if (msc_regexec((msc_regex_t *)var->param_data, parts[i]->name, strlen(parts[i]->name), &my_error_msg) >= 0) match = 1;
|
||||||
strlen(parts[i]->name), &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(parts[i]->name, var->param) == 0) match = 1;
|
if (strcasecmp(parts[i]->name, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -2107,8 +2070,7 @@ static int var_perf_rules_generate(modsec_rec *msr, msre_var *var, msre_rule *ru
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, te[i].key,
|
if (msc_regexec((msc_regex_t *)var->param_data, te[i].key, strlen(te[i].key), &my_error_msg) >= 0) match = 1;
|
||||||
strlen(te[i].key), &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(te[i].key, var->param) == 0) match = 1;
|
if (strcasecmp(te[i].key, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -2593,8 +2555,7 @@ static int var_matched_vars_names_generate(modsec_rec *msr, msre_var *var, msre_
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, str->name,
|
if (msc_regexec((msc_regex_t *)var->param_data, str->name, strlen(str->name), &my_error_msg) >= 0) match = 1;
|
||||||
strlen(str->name), &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(str->name, var->param) == 0) match = 1;
|
if (strcasecmp(str->name, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -2662,8 +2623,7 @@ static int var_matched_vars_generate(modsec_rec *msr, msre_var *var, msre_rule *
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, str->name,
|
if (msc_regexec((msc_regex_t *)var->param_data, str->name, strlen(str->name), &my_error_msg) >= 0) match = 1;
|
||||||
strlen(str->name), &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(str->name, var->param) == 0) match = 1;
|
if (strcasecmp(str->name, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -2730,8 +2690,7 @@ static int var_request_cookies_generate(modsec_rec *msr, msre_var *var, msre_rul
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, te[i].key,
|
if (msc_regexec((msc_regex_t *)var->param_data, te[i].key, strlen(te[i].key), &my_error_msg) >= 0) match = 1;
|
||||||
strlen(te[i].key), &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(te[i].key, var->param) == 0) match = 1;
|
if (strcasecmp(te[i].key, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -2785,8 +2744,7 @@ static int var_request_cookies_names_generate(modsec_rec *msr, msre_var *var, ms
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, te[i].key,
|
if (msc_regexec((msc_regex_t *)var->param_data, te[i].key, strlen(te[i].key), &my_error_msg) >= 0) match = 1;
|
||||||
strlen(te[i].key), &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(te[i].key, var->param) == 0) match = 1;
|
if (strcasecmp(te[i].key, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -2840,8 +2798,7 @@ static int var_request_headers_generate(modsec_rec *msr, msre_var *var, msre_rul
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, te[i].key,
|
if (msc_regexec((msc_regex_t *)var->param_data, te[i].key, strlen(te[i].key), &my_error_msg) >= 0) match = 1;
|
||||||
strlen(te[i].key), &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(te[i].key, var->param) == 0) match = 1;
|
if (strcasecmp(te[i].key, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -2895,8 +2852,7 @@ static int var_request_headers_names_generate(modsec_rec *msr, msre_var *var, ms
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, te[i].key,
|
if (msc_regexec((msc_regex_t *)var->param_data, te[i].key, strlen(te[i].key), &my_error_msg) >= 0) match = 1;
|
||||||
strlen(te[i].key), &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(te[i].key, var->param) == 0) match = 1;
|
if (strcasecmp(te[i].key, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -3173,8 +3129,7 @@ static int var_response_headers_generate(modsec_rec *msr, msre_var *var, msre_ru
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, te[i].key,
|
if (msc_regexec((msc_regex_t *)var->param_data, te[i].key, strlen(te[i].key), &my_error_msg) >= 0) match = 1;
|
||||||
strlen(te[i].key), &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(te[i].key, var->param) == 0) match = 1;
|
if (strcasecmp(te[i].key, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
@ -3228,8 +3183,7 @@ static int var_response_headers_names_generate(modsec_rec *msr, msre_var *var, m
|
|||||||
else {
|
else {
|
||||||
if (var->param_data != NULL) { /* Regex. */
|
if (var->param_data != NULL) { /* Regex. */
|
||||||
char *my_error_msg = NULL;
|
char *my_error_msg = NULL;
|
||||||
if (!(msc_regexec((msc_regex_t *)var->param_data, te[i].key,
|
if (msc_regexec((msc_regex_t *)var->param_data, te[i].key, strlen(te[i].key), &my_error_msg) >= 0) match = 1;
|
||||||
strlen(te[i].key), &my_error_msg) == PCRE_ERROR_NOMATCH)) match = 1;
|
|
||||||
} else { /* Simple comparison. */
|
} else { /* Simple comparison. */
|
||||||
if (strcasecmp(te[i].key, var->param) == 0) match = 1;
|
if (strcasecmp(te[i].key, var->param) == 0) match = 1;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user