enabled/configured.
#include "util/edns.h"
#include "iterator/iter_fwd.h"
#include "iterator/iter_hints.h"
+#include "iterator/iter_utils.h"
#include "validator/autotrust.h"
#include "validator/val_anchor.h"
#include "respip/respip.h"
worker_delete(worker);
return 0;
}
+ iterator_set_ip46_support(&worker->daemon->mods, worker->daemon->env,
+ worker->back);
/* start listening to commands */
if(!tube_setup_bg_listen(worker->cmd, worker->base,
&worker_handle_control_cmd, worker)) {
+15 February 2021: Wouter
+ - Fix #422: IPv6 fallback issues when IPv6 is not properly
+ enabled/configured.
+
10 February 2021: Wouter
- Merge PR #420 from dyunwei: DOH not responsing with
"http2_query_read_done failure" logged.
#include "services/cache/infra.h"
#include "services/cache/dns.h"
#include "services/cache/rrset.h"
+#include "services/outside_network.h"
#include "util/net_help.h"
#include "util/module.h"
#include "util/log.h"
}
return 0;
}
+
+void iterator_set_ip46_support(struct module_stack* mods,
+ struct module_env* env, struct outside_network* outnet)
+{
+ int m = modstack_find(mods, "iterator");
+ struct iter_env* ie = NULL;
+ if(m == -1)
+ return;
+ ie = (struct iter_env*)env->modinfo[m];
+ if(outnet->num_ip4 == 0)
+ ie->supports_ipv4 = 0;
+ if(outnet->num_ip6 == 0)
+ ie->supports_ipv6 = 0;
+}
struct module_qstate;
struct sock_list;
struct ub_packed_rrset_key;
+struct module_stack;
+struct outside_network;
/**
* Process config options and set iterator module state.
int iter_stub_fwd_no_cache(struct module_qstate *qstate,
struct query_info *qinf);
+/**
+ * Set support for IP4 and IP6 depending on outgoing interfaces
+ * in the outside network. If none, no support, so no use to lookup
+ * the AAAA and then attempt to use it if there is no outgoing-interface
+ * for it.
+ * @param mods: modstack to find iterator module in.
+ * @param env: module env, find iterator module (if one) in there.
+ * @param outnet: outside network structure.
+ */
+void iterator_set_ip46_support(struct module_stack* mods,
+ struct module_env* env, struct outside_network* outnet);
+
#endif /* ITERATOR_ITER_UTILS_H */