unbound  0.1
Functions
iter_scrub.h File Reference

This file has routine(s) for cleaning up incoming DNS messages from possible useless or malicious junk in it. More...

#include <ldns/buffer.h>

Functions

int scrub_message (ldns_buffer *pkt, struct msg_parse *msg, struct query_info *qinfo, uint8_t *zonename, struct regional *regional, struct module_env *env, struct iter_env *ie)
 Cleanup the passed dns message.

Detailed Description

This file has routine(s) for cleaning up incoming DNS messages from possible useless or malicious junk in it.

Function Documentation

int scrub_message ( ldns_buffer *  pkt,
struct msg_parse msg,
struct query_info qinfo,
uint8_t *  zonename,
struct regional regional,
struct module_env env,
struct iter_env ie 
)

Cleanup the passed dns message.

Parameters
pkt,:the packet itself, for resolving name compression pointers. the packet buffer is unaltered.
msg,:the parsed packet, this structure is cleaned up.
qinfo,:the query info that was sent to the server. Checked.
zonename,:the name of the last delegation point. Used to determine out of bailiwick information.
regional,:where to allocate (new) parts of the message.
env,:module environment with config settings and cache.
ie,:iterator module environment data.
Returns
: false if the message is total waste. true if scrubbed with success.

References BIT_AD, BIT_QR, BIT_Z, dname_pkt_compare(), msg_parse::flags, FLAGS_GET_RCODE, log_nametypeclass(), query_info::qclass, msg_parse::qclass, msg_parse::qdcount, query_info::qname, msg_parse::qname, query_info::qtype, msg_parse::qtype, scrub_normalize(), scrub_sanitize(), and VERB_ALGO.

Referenced by process_response().