unbound  0.1
Data Structures | Functions
subnetmod.h File Reference

subnet module for unbound. More...

#include "util/module.h"
#include "services/outbound_list.h"
#include "util/alloc.h"
#include "util/net_help.h"
#include "util/storage/slabhash.h"
#include "edns-subnet/addrtree.h"
#include "edns-subnet/edns-subnet.h"

Data Structures

struct  subnet_env
 Global state for the subnet module. More...
 
struct  subnet_msg_cache_data
 
struct  subnet_qstate
 

Functions

void subnet_data_delete (void *d, void *ATTR_UNUSED(arg))
 
size_t msg_cache_sizefunc (void *k, void *d)
 
struct module_func_blocksubnetmod_get_funcblock (void)
 Get the module function block. More...
 
int subnetmod_init (struct module_env *env, int id)
 subnet module init
 
void subnetmod_deinit (struct module_env *env, int id)
 subnet module deinit
 
void subnetmod_operate (struct module_qstate *qstate, enum module_ev event, int id, struct outbound_entry *outbound)
 subnet module operate on a query
 
void subnetmod_inform_super (struct module_qstate *qstate, int id, struct module_qstate *super)
 subnet module
 
void subnetmod_clear (struct module_qstate *qstate, int id)
 subnet module cleanup query state
 
size_t subnetmod_get_mem (struct module_env *env, int id)
 subnet module alloc size routine
 
size_t unittest_wrapper_subnetmod_sizefunc (void *elemptr)
 Wrappers for static functions to unit test.
 
int ecs_whitelist_check (struct query_info *qinfo, uint16_t flags, struct module_qstate *qstate, struct sockaddr_storage *addr, socklen_t addrlen, uint8_t *zone, size_t zonelen, struct regional *region, int id, void *cbargs)
 Whitelist check, called just before query is sent upstream. More...
 
int ecs_edns_back_parsed (struct module_qstate *qstate, int id, void *cbargs)
 Check whether response from server contains ECS record, if so, skip cache store. More...
 
int ecs_query_response (struct module_qstate *qstate, struct dns_msg *response, int id, void *cbargs)
 Remove ECS record from back_out when query resulted in REFUSED response. More...
 

Detailed Description

subnet module for unbound.

Function Documentation

◆ subnetmod_get_funcblock()

struct module_func_block* subnetmod_get_funcblock ( void  )

Get the module function block.

Returns
: function block with function pointers to module methods.

Referenced by module_funcs_avail().

◆ ecs_whitelist_check()

int ecs_whitelist_check ( struct query_info qinfo,
uint16_t  flags,
struct module_qstate qstate,
struct sockaddr_storage *  addr,
socklen_t  addrlen,
uint8_t *  zone,
size_t  zonelen,
struct regional region,
int  id,
void *  cbargs 
)

Whitelist check, called just before query is sent upstream.

Referenced by fptr_whitelist_inplace_cb_query().

◆ ecs_edns_back_parsed()

int ecs_edns_back_parsed ( struct module_qstate qstate,
int  id,
void *  cbargs 
)

Check whether response from server contains ECS record, if so, skip cache store.

Called just after parsing EDNS data from server.

Referenced by fptr_whitelist_inplace_cb_edns_back_parsed().

◆ ecs_query_response()

int ecs_query_response ( struct module_qstate qstate,
struct dns_msg response,
int  id,
void *  cbargs 
)

Remove ECS record from back_out when query resulted in REFUSED response.

Referenced by fptr_whitelist_inplace_cb_query_response().