struct sockaddr_storage* addr, socklen_t addrlen,
enum acl_access control)
{
- return acl_find_or_create(acl_interface, addr, addrlen, control);
+ struct acl_addr* node = acl_find_or_create(acl_interface, addr, addrlen, control);
+ node->is_inteface = 1;
+ return node;
}
/** apply acl_tag string */
addr_to_str(&acladdr->node.addr, acladdr->node.addrlen,
n, sizeof(n));
verbose(VERB_ALGO, "%s query from %s port %d because of "
- "%s/%d %s", action, a, (int)port, n, acladdr->node.net,
+ "%s/%d %s%s", action, a, (int)port, n,
+ acladdr->node.net,
+ acladdr->is_inteface?"(ACL on interface IP) ":"",
acl_access_to_str(acl));
} else {
verbose(VERB_ALGO, "%s query from %s port %d", action, a,
struct config_strlist** tag_datas;
/** size of the tag_datas array */
size_t tag_datas_size;
+ /* If the acl node is for an interface */
+ int is_inteface;
/* view element, NULL if none */
struct view* view;
};