unbound
0.1
|
This file helps the server keep out queries from outside sources, that should not be answered. More...
#include "config.h"
#include "daemon/acl_list.h"
#include "util/regional.h"
#include "util/log.h"
#include "util/config_file.h"
#include "util/net_help.h"
#include "services/localzone.h"
#include "sldns/str2wire.h"
Functions | |
struct acl_list * | acl_list_create (void) |
Create acl structure. More... | |
void | acl_list_delete (struct acl_list *acl) |
Delete acl structure. More... | |
static struct acl_addr * | acl_list_insert (struct acl_list *acl, struct sockaddr_storage *addr, socklen_t addrlen, int net, enum acl_access control, int complain_duplicates) |
insert new address into acl_list structure | |
static int | acl_list_str_cfg (struct acl_list *acl, const char *str, const char *s2, int complain_duplicates) |
apply acl_list string | |
static struct acl_addr * | acl_find_or_create (struct acl_list *acl, const char *str) |
find or create node (NULL on parse or error) | |
static int | acl_list_tags_cfg (struct acl_list *acl, const char *str, uint8_t *bitmap, size_t bitmaplen) |
apply acl_tag string | |
static int | acl_list_view_cfg (struct acl_list *acl, const char *str, const char *str2, struct views *vs) |
apply acl_view string | |
static int | acl_list_tag_action_cfg (struct acl_list *acl, struct config_file *cfg, const char *str, const char *tag, const char *action) |
apply acl_tag_action string | |
static int | check_data (const char *data, const struct config_strlist *head) |
check wire data parse | |
static int | acl_list_tag_data_cfg (struct acl_list *acl, struct config_file *cfg, const char *str, const char *tag, const char *data) |
apply acl_tag_data string | |
static int | read_acl_list (struct acl_list *acl, struct config_file *cfg) |
read acl_list config | |
static int | read_acl_tags (struct acl_list *acl, struct config_file *cfg) |
read acl tags config | |
static int | read_acl_view (struct acl_list *acl, struct config_file *cfg, struct views *v) |
read acl view config | |
static int | read_acl_tag_actions (struct acl_list *acl, struct config_file *cfg) |
read acl tag actions config | |
static int | read_acl_tag_datas (struct acl_list *acl, struct config_file *cfg) |
read acl tag datas config | |
int | acl_list_apply_cfg (struct acl_list *acl, struct config_file *cfg, struct views *v) |
Process access control config. More... | |
enum acl_access | acl_get_control (struct acl_addr *acl) |
Lookup access control status for acl structure. More... | |
struct acl_addr * | acl_addr_lookup (struct acl_list *acl, struct sockaddr_storage *addr, socklen_t addrlen) |
Lookup address to see its acl structure. More... | |
size_t | acl_list_get_mem (struct acl_list *acl) |
Get memory used by acl structure. More... | |
This file helps the server keep out queries from outside sources, that should not be answered.
struct acl_list* acl_list_create | ( | void | ) |
Create acl structure.
References acl_list_delete(), acl_list::region, and regional_create().
void acl_list_delete | ( | struct acl_list * | acl | ) |
Delete acl structure.
acl | to delete. |
References acl_list::region, and regional_destroy().
Referenced by acl_list_create(), and daemon_delete().
int acl_list_apply_cfg | ( | struct acl_list * | acl, |
struct config_file * | cfg, | ||
struct views * | v | ||
) |
Process access control config.
acl | where to store. |
cfg | config options. |
v | views structure |
References acl_list_str_cfg(), addr_tree_init(), addr_tree_init_parents(), config_file::do_ip6, read_acl_list(), read_acl_tag_actions(), read_acl_tag_datas(), read_acl_tags(), read_acl_view(), acl_list::region, regional_free_all(), and acl_list::tree.
enum acl_access acl_get_control | ( | struct acl_addr * | acl | ) |
Lookup access control status for acl structure.
acl | structure for acl storage. |
References acl_deny, and acl_addr::control.
Referenced by worker_handle_request().
struct acl_addr* acl_addr_lookup | ( | struct acl_list * | acl, |
struct sockaddr_storage * | addr, | ||
socklen_t | addrlen | ||
) |
Lookup address to see its acl structure.
acl | structure for address storage. |
addr | address to check |
addrlen | length of addr. |
References addr_tree_lookup(), and acl_list::tree.
Referenced by worker_handle_request().
size_t acl_list_get_mem | ( | struct acl_list * | acl | ) |
Get memory used by acl structure.
acl | structure for address storage. |
References acl_list::region, and regional_get_mem().