BUG/MINOR: acl: parser must also stop at comma on ACL-only keywords

Igor at owind reported that "url_reg,lower" does not parse because
find_acl_kw() looks for the parenthesis but not for the comma.
This commit is contained in:
Willy Tarreau 2013-12-16 22:01:06 +01:00
parent 02541e8be2
commit 4bfa4228dc

View File

@ -76,7 +76,8 @@ struct acl *find_acl_by_name(const char *name, struct list *head)
}
/* Return a pointer to the ACL keyword <kw>, or NULL if not found. Note that if
* <kw> contains an opening parenthesis, only the left part of it is checked.
* <kw> contains an opening parenthesis or a comma, only the left part of it is
* checked.
*/
struct acl_keyword *find_acl_kw(const char *kw)
{
@ -84,9 +85,9 @@ struct acl_keyword *find_acl_kw(const char *kw)
const char *kwend;
struct acl_kw_list *kwl;
kwend = strchr(kw, '(');
if (!kwend)
kwend = kw + strlen(kw);
kwend = kw;
while (*kwend && *kwend != '(' && *kwend != ',')
kwend++;
list_for_each_entry(kwl, &acl_keywords.list, list) {
for (index = 0; kwl->kw[index].kw != NULL; index++) {