This file has routine(s) for cleaning up incoming DNS messages from possible useless or malicious junk in it. More...
Functions | |
int | scrub_message (struct sldns_buffer *pkt, struct msg_parse *msg, struct query_info *qinfo, uint8_t *zonename, struct regional *regional, struct module_env *env, struct module_qstate *qstate, struct iter_env *ie) |
Cleanup the passed dns message. More... | |
This file has routine(s) for cleaning up incoming DNS messages from possible useless or malicious junk in it.
int scrub_message | ( | struct sldns_buffer * | pkt, |
struct msg_parse * | msg, | ||
struct query_info * | qinfo, | ||
uint8_t * | zonename, | ||
struct regional * | regional, | ||
struct module_env * | env, | ||
struct module_qstate * | qstate, | ||
struct iter_env * | ie | ||
) |
Cleanup the passed dns message.
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. |
qstate | for setting errinf for EDE error messages. |
ie | iterator module environment data. |
References BIT_AD, BIT_QR, BIT_Z, msg_parse::flags, FLAGS_GET_RCODE, LDNS_RR_TYPE_NS, log_nametypeclass(), query_info::qclass, msg_parse::qdcount, and VERB_ALGO.