tree 56ad5fb6e3dae4d4652d8b8371923e642cfed478
parent 0ceba5af74e61b0da468c88b57e2410ae8a72026
author Willy Tarreau <w@1wt.eu> 1217188952 +0200
committer Willy Tarreau <w@1wt.eu> 1217749265 +0200
encoding latin1

[MEDIUM] acl: when possible, report the name and requirements of ACLs in warnings

When an ACL is referenced at a wrong place (eg: response during request, layer7
during layer4), try to indicate precisely the name and requirements of this ACL.

Only the first faulty ACL is returned. A small change consisting in iterating
that way may improve reports :
   cap = ACL_USE_any_unexpected
   while ((acl=cond_find_require(cond, cap))) {
     warning()
     cap &= ~acl->requires;
   }

This will report the first ACL of each unsupported type. But doing so will
mangle the error reporting a lot, so we need to rework error reports first.
