return (htonl(addr_1) & mask) == (htonl(addr_2) & mask);
}
-static int host_in_acl(int fd)
+static int host_in_acl(int fd, struct list_head *acl)
{
struct access_info *ai, *tmp;
struct sockaddr_storage ss;
if (!v4_addr.s_addr)
goto no_match;
- list_for_each_entry_safe(ai, tmp, &http_acl, node)
+ list_for_each_entry_safe(ai, tmp, acl, node)
if (v4_addr_match(v4_addr.s_addr, ai->addr.s_addr, ai->netmask))
return 1;
no_match:
err_msg = "server full";
goto err_out;
}
- match = host_in_acl(hc->fd);
+ match = host_in_acl(hc->fd, &http_acl);
PARA_DEBUG_LOG("host_in_acl: %d\n", match);
if ((match && !conf.http_default_deny_given) ||
(!match && conf.http_default_deny_given)) {