summaryrefslogtreecommitdiff
path: root/tests/unit_node/tls_test.ts
diff options
context:
space:
mode:
authorYoshiya Hinosawa <stibium121@gmail.com>2024-10-16 20:58:44 +0900
committerGitHub <noreply@github.com>2024-10-16 20:58:44 +0900
commitd59599fc187c559ee231882773e1c5a2b932fc3d (patch)
tree3719d26bee7ce395afd28e4ab631dc5e63021327 /tests/unit_node/tls_test.ts
parentea9c3ffaa240fc968832871000832eda1b92934a (diff)
fix(ext/node): fix dns.lookup result ordering (#26264)
partially unblocks #25470 This PR aligns the resolution of `localhost` hostname to Node.js behavior. In Node.js `dns.lookup("localhost", (_, addr) => console.log(addr))` prints ipv6 address `::1`, but it prints ipv4 address `127.0.0.1` in Deno. That difference causes some errors in the work of enabling `createConnection` option in `http.request` (#25470). This PR fixes the issue by aligning `dns.lookup` behavior to Node.js. This PR also changes the following behaviors (resolving TODOs): - `http.createServer` now listens on ipv6 address `[::]` by default on linux/mac - `net.createServer` now listens on ipv6 address `[::]` by default on linux/mac These changes are also alignments to Node.js behaviors.
Diffstat (limited to 'tests/unit_node/tls_test.ts')
-rw-r--r--tests/unit_node/tls_test.ts12
1 files changed, 9 insertions, 3 deletions
diff --git a/tests/unit_node/tls_test.ts b/tests/unit_node/tls_test.ts
index 93eacd5ec..847ec2dde 100644
--- a/tests/unit_node/tls_test.ts
+++ b/tests/unit_node/tls_test.ts
@@ -32,13 +32,15 @@ for (
) {
Deno.test(`tls.connect sends correct ALPN: '${alpnServer}' + '${alpnClient}' = '${expected}'`, async () => {
const listener = Deno.listenTls({
+ hostname: "localhost",
port: 0,
key,
cert,
alpnProtocols: alpnServer,
});
const outgoing = tls.connect({
- host: "localhost",
+ host: "::1",
+ servername: "localhost",
port: listener.addr.port,
ALPNProtocols: alpnClient,
secureContext: {
@@ -61,6 +63,7 @@ Deno.test("tls.connect makes tls connection", async () => {
const ctl = new AbortController();
let port;
const serve = Deno.serve({
+ hostname: "localhost",
port: 0,
key,
cert,
@@ -71,7 +74,8 @@ Deno.test("tls.connect makes tls connection", async () => {
await delay(200);
const conn = tls.connect({
- host: "localhost",
+ host: "::1",
+ servername: "localhost",
port,
secureContext: {
ca: rootCaCert,
@@ -102,6 +106,7 @@ Deno.test("tls.connect mid-read tcp->tls upgrade", async () => {
const { promise, resolve } = Promise.withResolvers<void>();
const ctl = new AbortController();
const serve = Deno.serve({
+ hostname: "localhost",
port: 8443,
key,
cert,
@@ -111,7 +116,8 @@ Deno.test("tls.connect mid-read tcp->tls upgrade", async () => {
await delay(200);
const conn = tls.connect({
- host: "localhost",
+ host: "::1",
+ servername: "localhost",
port: 8443,
secureContext: {
ca: rootCaCert,