[MINOR] add ACL_TEST_F_NULL_MATCH

Add ACL_TEST_F_NULL_MATCH so expr->kw->match can be called
even if expr->patterns is empty.
This commit is contained in:
Krzysztof Piotr Oledzki 2010-01-29 17:55:53 +01:00 committed by Willy Tarreau
parent 961050465e
commit d7528e5a60
2 changed files with 4 additions and 0 deletions

View File

@ -84,6 +84,7 @@ enum {
ACL_TEST_F_RES_PASS = 1 << 10,/* with SET_RESULT, sets result to PASS (defaults to FAIL) */
ACL_TEST_F_SET_RES_PASS = (ACL_TEST_F_RES_SET|ACL_TEST_F_RES_PASS), /* sets result to PASS */
ACL_TEST_F_SET_RES_FAIL = (ACL_TEST_F_RES_SET), /* sets result to FAIL */
ACL_TEST_F_NULL_MATCH = 1 << 11,/* call expr->kw->match with NULL pattern if expr->patterns is empty */
};
/* ACLs can be evaluated on requests and on responses, and on partial or complete data */

View File

@ -1087,6 +1087,9 @@ int acl_exec_cond(struct acl_cond *cond, struct proxy *px, struct session *l4, v
if (acl_res == ACL_PAT_PASS)
break;
}
if ((test.flags & ACL_TEST_F_NULL_MATCH) && LIST_ISEMPTY(&expr->patterns))
acl_res |= expr->kw->match(&test, NULL);
}
/*
* OK now acl_res holds the result of this expression