unbound: iterator/iter_scrub.h File Reference

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...

## 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.

## Detailed Description

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

## Function Documentation

## ◆ scrub_message()

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.

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.
  qstate | for setting errinf for EDE error messages.
  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, LDNS_RR_TYPE_NS, log_nametypeclass(), msg_parse::qclass, query_info::qclass, msg_parse::qdcount, msg_parse::qname, query_info::qname, msg_parse::qtype, query_info::qtype, scrub_normalize(), scrub_sanitize(), and VERB_ALGO.

Referenced by process_response().