diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-08-16 10:36:14 +0200 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-08-16 10:49:40 +0200 |
commit | e9ba912001c5ebc513237694b28f2aec3b760066 (patch) | |
tree | f74050897eca4073ba483287e04bcadb20f7d6ff | |
parent | 95a6938f3a156e488ad74ba113b28cbd0d9c2398 (diff) |
don't set NXDOMAIN for existent domains that don't have the requested record
fixes lookup tools printing warnings or failing for IPv4 only or IPv6 only hostnames
-rw-r--r-- | src/main.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/main.rs b/src/main.rs index 4afba59..f30f84a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -161,6 +161,8 @@ fn handle_query( } }); + let mut rcode = RCode::NoError; + let mut resp_answers = Vec::new(); let mut resp_authorities = Vec::new(); let mut resp_additionals = Vec::new(); @@ -185,6 +187,8 @@ fn handle_query( let bytes = Bytes::copy_from_slice(buf); let resp = Dns::decode(bytes)?; + rcode = resp.flags.rcode; + resp_answers = resp.answers; resp_authorities = resp.authorities; resp_additionals = resp.additionals; @@ -207,11 +211,7 @@ fn handle_query( ra: true, ad: false, cd: false, - rcode: if !answers.is_empty() { - RCode::NoError - } else { - RCode::NXDomain - }, + rcode, }, questions, answers, |