Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit e6a47e8

Browse filesBrowse files
AdamMajerdanielleadams
authored andcommitted
net, dns: socket should handle its output as input
As a consequence of #43014 , server sockets and others, once connected, report string family names. But when feeding these to Socket.connect(), it passes these to host resolution with a string for family while a numeric family is expected internally. This results in wrong hints flags to be set and resolution to fail. As solution, is to add ability to handle both numeric and string family names when doing lookup and connect. Fixes: #44003 PR-URL: #44083 Reviewed-By: Paolo Insogna <paolo@cowtech.it> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
1 parent 29bbabd commit e6a47e8
Copy full SHA for e6a47e8

File tree

Expand file treeCollapse file tree

2 files changed

+11
-11
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

2 files changed

+11
-11
lines changed
Open diff view settings
Collapse file

‎lib/net.js‎

Copy file name to clipboardExpand all lines: lib/net.js
+11-1Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1110,6 +1110,16 @@ Socket.prototype.connect = function(...args) {
11101110
return this;
11111111
};
11121112

1113+
function socketToDnsFamily(family) {
1114+
switch (family) {
1115+
case 'IPv4':
1116+
return 4;
1117+
case 'IPv6':
1118+
return 6;
1119+
}
1120+
1121+
return family;
1122+
}
11131123

11141124
function lookupAndConnect(self, options) {
11151125
const { localAddress, localPort } = options;
@@ -1152,7 +1162,7 @@ function lookupAndConnect(self, options) {
11521162

11531163
if (dns === undefined) dns = require('dns');
11541164
const dnsopts = {
1155-
family: options.family,
1165+
family: socketToDnsFamily(options.family),
11561166
hints: options.hints || 0
11571167
};
11581168

Collapse file

‎test/parallel/parallel.status‎

Copy file name to clipboardExpand all lines: test/parallel/parallel.status
-10Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,6 @@ test-crypto-dh-stateless: SKIP
3737
test-crypto-keygen: SKIP
3838

3939
[$system==solaris] # Also applies to SmartOS
40-
# https://github.com/nodejs/node/pull/43054
41-
test-net-socket-connect-without-cb: SKIP
42-
test-net-socket-ready-without-cb: SKIP
43-
test-tcp-wrap-listen: SKIP
4440
# https://github.com/nodejs/node/issues/43446
4541
test-net-connect-reset-until-connected: PASS, FLAKY
4642
# https://github.com/nodejs/node/issues/43457
@@ -65,12 +61,6 @@ test-worker-message-port-message-before-close: PASS,FLAKY
6561
# https://github.com/nodejs/node/issues/43446
6662
test-net-connect-reset-until-connected: PASS, FLAKY
6763

68-
[$system==aix]
69-
# https://github.com/nodejs/node/pull/43054
70-
test-net-socket-connect-without-cb: SKIP
71-
test-net-socket-ready-without-cb: SKIP
72-
test-tcp-wrap-listen: SKIP
73-
7464
[$system==ibmi]
7565
# https://github.com/nodejs/node/pull/30819
7666
test-child-process-fork-net-server: SKIP

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.