#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 | |
| int | donotq_cmp (const void *k1, const void *k2) |
| compare two donotq entries | |
| struct iter_donotq * | donotq_create () |
| Create donotqueryaddresses structure. | |
| void | donotq_delete (struct iter_donotq *dq) |
| Delete donotqueryaddresses structure. | |
| 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 | |
| static void | donotq_init_parents (struct iter_donotq *donotq) |
| initialise parent pointers in the tree | |
| int | donotq_apply_cfg (struct iter_donotq *dq, struct config_file *cfg) |
| Process donotqueryaddresses config. | |
| int | donotq_lookup (struct iter_donotq *donotq, struct sockaddr_storage *addr, socklen_t addrlen) |
| See if an address is blocked. | |
| size_t | donotq_get_mem (struct iter_donotq *donotq) |
| Get memory used by donotqueryaddresses structure. | |
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 | ( | ) | [read] |
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, regional_destroy(), and iter_donotq::tree.
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 config_file::do_ip6, donotq_cmp(), donotq_init_parents(), donotq_str_cfg(), config_file::donotquery_localhost, rbtree_create(), read_donotq(), 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 iter_donotq_addr::addr, addr_in_common(), addr_is_ip6(), iter_donotq_addr::addrlen, rbnode_t::key, iter_donotq_addr::net, iter_donotq_addr::node, iter_donotq_addr::parent, rbtree_find_less_equal(), 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().
Referenced by iter_get_mem().
1.5.6