Skip to content
Snippets Groups Projects
Commit 35114dde authored by 🥺's avatar 🥺 :transgender_flag: Committed by 🥺
Browse files

add query_over_tcp_only config option for hickory

parent 62fd6e2c
No related branches found
No related tags found
No related merge requests found
......@@ -514,6 +514,12 @@ allow_profile_lookup_federation_requests = true
# The default is to query one nameserver and stop (false).
#query_all_nameservers = true
# Enables using *only* TCP for querying your specified nameservers instead of UDP.
#
# You very likely do *not* want this. hickory-resolver already falls back to TCP on UDP errors.
# Defaults to false
#query_over_tcp_only = false
# DNS A/AAAA record lookup strategy
#
# Takes a number of one of the following options:
......
......@@ -103,6 +103,8 @@ pub(crate) struct Config {
pub(crate) dns_tcp_fallback: bool,
#[serde(default = "true_fn")]
pub(crate) query_all_nameservers: bool,
#[serde(default)]
pub(crate) query_over_tcp_only: bool,
#[serde(default = "default_ip_lookup_strategy")]
pub(crate) ip_lookup_strategy: u8,
......
......@@ -51,6 +51,10 @@ pub(crate) fn new(config: &Config) -> Self {
for sys_conf in sys_conf.name_servers() {
let mut ns = sys_conf.clone();
if config.query_over_tcp_only {
ns.protocol = hickory_resolver::config::Protocol::Tcp;
}
ns.trust_negative_responses = !config.query_all_nameservers;
conf.add_name_server(ns);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment