diff options
author | Thanapat Chotipun <66824385+PatrickChoDev@users.noreply.github.com> | 2022-05-04 01:04:20 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-03 20:04:20 +0200 |
commit | e3954df8c5f8a5dab7102ebae77dfc217fb9f098 (patch) | |
tree | ded004147738a564f349c9850ad24462bae76128 /cli | |
parent | 3f08a40412d89bd54222ad51fc1aaeb508e2e5e7 (diff) |
feat(ext/net): add "NS" record support in Deno.resolveDns API (#14372)
Diffstat (limited to 'cli')
-rw-r--r-- | cli/Cargo.toml | 4 | ||||
-rw-r--r-- | cli/dts/lib.deno.ns.d.ts | 3 | ||||
-rw-r--r-- | cli/tests/integration/mod.rs | 14 | ||||
-rw-r--r-- | cli/tests/testdata/resolve_dns.ts | 6 | ||||
-rw-r--r-- | cli/tests/testdata/resolve_dns.ts.out | 2 |
5 files changed, 22 insertions, 7 deletions
diff --git a/cli/Cargo.toml b/cli/Cargo.toml index c673dd3d3..394ace96e 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -111,8 +111,8 @@ flaky_test = "=0.1.0" os_pipe = "=1.0.1" pretty_assertions = "=1.2.0" test_util = { path = "../test_util" } -trust-dns-client = "=0.20.3" -trust-dns-server = "=0.20.3" +trust-dns-client = "0.21.2" +trust-dns-server = "0.21.2" [target.'cfg(unix)'.dev-dependencies] nix = "=0.23.0" diff --git a/cli/dts/lib.deno.ns.d.ts b/cli/dts/lib.deno.ns.d.ts index 2caf05085..8d7f5f269 100644 --- a/cli/dts/lib.deno.ns.d.ts +++ b/cli/dts/lib.deno.ns.d.ts @@ -2955,6 +2955,7 @@ declare namespace Deno { | "ANAME" | "CNAME" | "MX" + | "NS" | "PTR" | "SRV" | "TXT"; @@ -2987,7 +2988,7 @@ declare namespace Deno { export function resolveDns( query: string, - recordType: "A" | "AAAA" | "ANAME" | "CNAME" | "PTR", + recordType: "A" | "AAAA" | "ANAME" | "CNAME" | "NS" | "PTR", options?: ResolveDnsOptions, ): Promise<string[]>; diff --git a/cli/tests/integration/mod.rs b/cli/tests/integration/mod.rs index ffd7e3596..3de33b381 100644 --- a/cli/tests/integration/mod.rs +++ b/cli/tests/integration/mod.rs @@ -817,7 +817,6 @@ async fn test_resolve_dns() { use std::net::SocketAddr; use std::str::FromStr; use std::sync::Arc; - use std::sync::RwLock; use std::time::Duration; use tokio::net::TcpListener; use tokio::net::UdpSocket; @@ -910,6 +909,15 @@ async fn test_resolve_dns() { record_set, ); + // Inserts NS record + let rdata = RData::NS(Name::from_str("ns1.ns.com").unwrap()); + let record = Record::from_rdata(lookup_name.clone(), u32::MAX, rdata); + let record_set = RecordSet::from(record); + map.insert( + RrKey::new(lookup_name_lower.clone(), RecordType::NS), + record_set, + ); + // Inserts PTR record let rdata = RData::PTR(Name::from_str("ptr.com").unwrap()); let record = Record::from_rdata( @@ -951,7 +959,7 @@ async fn test_resolve_dns() { map }; - let authority = Box::new(Arc::new(RwLock::new( + let authority = Box::new(Arc::new( InMemoryAuthority::new( Name::from_str("com").unwrap(), records, @@ -959,7 +967,7 @@ async fn test_resolve_dns() { false, ) .unwrap(), - ))); + )); let mut c = Catalog::new(); c.upsert(Name::root().into(), authority); c diff --git a/cli/tests/testdata/resolve_dns.ts b/cli/tests/testdata/resolve_dns.ts index 1757c938e..9b4364311 100644 --- a/cli/tests/testdata/resolve_dns.ts +++ b/cli/tests/testdata/resolve_dns.ts @@ -1,11 +1,12 @@ const nameServer = { nameServer: { ipAddr: "127.0.0.1", port: 4553 } }; -const [a, aaaa, aname, cname, mx, ptr, srv, txt] = await Promise.all([ +const [a, aaaa, aname, cname, mx, ns, ptr, srv, txt] = await Promise.all([ Deno.resolveDns("www.example.com", "A", nameServer), Deno.resolveDns("www.example.com", "AAAA", nameServer), Deno.resolveDns("www.example.com", "ANAME", nameServer), Deno.resolveDns("foo", "CNAME", nameServer), Deno.resolveDns("www.example.com", "MX", nameServer), + Deno.resolveDns("www.example.com", "NS", nameServer), Deno.resolveDns("5.6.7.8", "PTR", nameServer), Deno.resolveDns("_Service._TCP.example.com", "SRV", nameServer), Deno.resolveDns("www.example.com", "TXT", nameServer), @@ -26,6 +27,9 @@ console.log(JSON.stringify(cname)); console.log("MX"); console.log(JSON.stringify(mx)); +console.log("NS"); +console.log(JSON.stringify(ns)); + console.log("PTR"); console.log(JSON.stringify(ptr)); diff --git a/cli/tests/testdata/resolve_dns.ts.out b/cli/tests/testdata/resolve_dns.ts.out index 8b378ce71..2b56d72ae 100644 --- a/cli/tests/testdata/resolve_dns.ts.out +++ b/cli/tests/testdata/resolve_dns.ts.out @@ -8,6 +8,8 @@ CNAME ["cname.com."] MX [{"preference":0,"exchange":"mx.com."}] +NS +["ns1.ns.com."] PTR ["ptr.com."] SRV |