return 1;
}
-static char *http_info(void)
+static char *get_acl_contents(struct list_head *acl)
{
- char *clnts = NULL, *ap = NULL, *ret;
struct access_info *ai, *tmp_ai;
- struct http_client *hc, *tmp_hc;
+ char *ret = NULL;
- list_for_each_entry_safe(ai, tmp_ai, &http_acl, node) {
- char *tmp = make_message("%s%s/%d ", ap? ap : "",
+ list_for_each_entry_safe(ai, tmp_ai, acl, node) {
+ char *tmp = make_message("%s%s/%d ", ret? ret : "",
inet_ntoa(ai->addr), ai->netmask);
- free(ap);
- ap = tmp;
+ free(ret);
+ ret = tmp;
}
+ return ret;
+}
+
+static char *http_info(void)
+{
+ char *clnts = NULL, *ret;
+ struct http_client *hc, *tmp_hc;
+
+ char *acl_contents = get_acl_contents(&http_acl);
list_for_each_entry_safe(hc, tmp_hc, &clients, node) {
char *tmp = make_message("%s%s ", clnts? clnts : "", hc->name);
free(clnts);
conf.http_max_clients_arg > 0? "" : " (unlimited)",
clnts? clnts : "(none)",
conf.http_default_deny_given? "allow" : "deny",
- ap? ap : "(none)"
+ acl_contents? acl_contents : "(none)"
);
- free(ap);
+ free(acl_contents);
free(clnts);
return ret;
}