summaryrefslogtreecommitdiffstats
path: root/contrib/unbound/iterator/iterator.h
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2016-01-16 19:06:12 +0000
committerdes <des@FreeBSD.org>2016-01-16 19:06:12 +0000
commitdc5c74f3f12a6f57440056448e551a0f1c335299 (patch)
tree2a7e37ea0ed7669b7017829c084a497ede84c5d0 /contrib/unbound/iterator/iterator.h
parent28f497d302178844843a97044b9d18027c124fc7 (diff)
downloadFreeBSD-src-dc5c74f3f12a6f57440056448e551a0f1c335299.zip
FreeBSD-src-dc5c74f3f12a6f57440056448e551a0f1c335299.tar.gz
MFH (r292206): upgrade to Unbound 1.5.7
MFH (r292135): run configure script with correct compiler
Diffstat (limited to 'contrib/unbound/iterator/iterator.h')
-rw-r--r--contrib/unbound/iterator/iterator.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/contrib/unbound/iterator/iterator.h b/contrib/unbound/iterator/iterator.h
index 9cf53b2..b7aa82e 100644
--- a/contrib/unbound/iterator/iterator.h
+++ b/contrib/unbound/iterator/iterator.h
@@ -112,6 +112,32 @@ struct iter_env {
* array of max_dependency_depth+1 size.
*/
int* target_fetch_policy;
+
+ /** ip6.arpa dname in wireformat, used for qname-minimisation */
+ uint8_t* ip6arpa_dname;
+};
+
+/**
+ * QNAME minimisation state
+ */
+enum minimisation_state {
+ /**
+ * (Re)start minimisation. Outgoing QNAME should be set to dp->name.
+ * State entered on new query or after following refferal or CNAME.
+ */
+ INIT_MINIMISE_STATE = 0,
+ /**
+ * QNAME minimisataion ongoing. Increase QNAME on every iteration.
+ */
+ MINIMISE_STATE,
+ /**
+ * Don't increment QNAME this iteration
+ */
+ SKIP_MINIMISE_STATE,
+ /**
+ * Send out full QNAME + original QTYPE
+ */
+ DONOT_MINIMISE_STATE,
};
/**
@@ -322,6 +348,15 @@ struct iter_qstate {
/** list of pending queries to authoritative servers. */
struct outbound_list outlist;
+
+ /** QNAME minimisation state */
+ enum minimisation_state minimisation_state;
+
+ /**
+ * The query info that is sent upstream. Will be a subset of qchase
+ * when qname minimisation is enabled.
+ */
+ struct query_info qinfo_out;
};
/**
OpenPOWER on IntegriCloud