This file contains functions to assist the iterator module. More...
#include "config.h"
#include "iterator/iter_donotq.h"
#include "util/regional.h"
#include "util/log.h"
#include "util/config_file.h"
#include "util/net_help.h"
Functions | |
struct iter_donotq * | donotq_create (void) |
Create donotqueryaddresses structure. More... | |
void | donotq_delete (struct iter_donotq *dq) |
Delete donotqueryaddresses structure. More... | |
static int | donotq_insert (struct iter_donotq *dq, struct sockaddr_storage *addr, socklen_t addrlen, int net) |
insert new address into donotq structure | |
static int | donotq_str_cfg (struct iter_donotq *dq, const char *str) |
apply donotq string | |
static int | read_donotq (struct iter_donotq *dq, struct config_file *cfg) |
read donotq config | |
int | donotq_apply_cfg (struct iter_donotq *dq, struct config_file *cfg) |
Process donotqueryaddresses config. More... | |
int | donotq_lookup (struct iter_donotq *donotq, struct sockaddr_storage *addr, socklen_t addrlen) |
See if an address is blocked. More... | |
size_t | donotq_get_mem (struct iter_donotq *donotq) |
Get memory used by donotqueryaddresses structure. More... | |
This file contains functions to assist the iterator module.
The donotqueryaddresses are stored and looked up. These addresses (like 127.0.0.1) must not be used to send queries to, and can be discarded immediately from the server selection.
struct iter_donotq* donotq_create | ( | void | ) |
Create donotqueryaddresses structure.
References donotq_delete(), iter_donotq::region, and regional_create().
Referenced by iter_apply_cfg().
void donotq_delete | ( | struct iter_donotq * | donotq | ) |
Delete donotqueryaddresses structure.
donotq | to delete. |
References iter_donotq::region, and regional_destroy().
Referenced by donotq_create(), and iter_deinit().
int donotq_apply_cfg | ( | struct iter_donotq * | donotq, |
struct config_file * | cfg | ||
) |
Process donotqueryaddresses config.
donotq | where to store. |
cfg | config options. |
References addr_tree_init(), addr_tree_init_parents(), config_file::do_ip6, donotq_str_cfg(), config_file::donotquery_localhost, read_donotq(), iter_donotq::region, regional_free_all(), and iter_donotq::tree.
Referenced by iter_apply_cfg().
int donotq_lookup | ( | struct iter_donotq * | donotq, |
struct sockaddr_storage * | addr, | ||
socklen_t | addrlen | ||
) |
See if an address is blocked.
donotq | structure for address storage. |
addr | address to check |
addrlen | length of addr. |
References addr_tree_lookup(), and iter_donotq::tree.
Referenced by iter_filter_unsuitable().
size_t donotq_get_mem | ( | struct iter_donotq * | donotq | ) |
Get memory used by donotqueryaddresses structure.
donotq | structure for address storage. |
References iter_donotq::region, and regional_get_mem().