| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
There was a problem hiding this comment.
Nit:
| `0.0.0.0` be bound. **Default:** `false` | |
| `0.0.0.0` be bound. **Default:** `false`. |
Sorry, something went wrong.
There was a problem hiding this comment.
Nit:
| **Default:** `false` | |
| **Default:** `false`. |
Sorry, something went wrong.
There was a problem hiding this comment.
minor nit: perhaps this should be camel case (ipv6Only)?
Sorry, something went wrong.
There was a problem hiding this comment.
Though I prefer ipv6only here, it's better to follow camel case :)
Sorry, something went wrong.
There was a problem hiding this comment.
| // This test ensures that dual-stack suuport is disabled when | |
| // This test ensures that dual-stack support is disabled when |
Sorry, something went wrong.
There was a problem hiding this comment.
This looks wrong. Boolean(flags | constants.UV_TCP_IPV6ONLY) is always true. Did you mean to use &?
Sorry, something went wrong.
There was a problem hiding this comment.
Yes, a terrible mistake. I'm going to update it and add a test of falsy ipv6Only scenario.
Sorry, something went wrong.
There was a problem hiding this comment.
Unused default argument.
Sorry, something went wrong.
There was a problem hiding this comment.
The default value of ipv6Only would be actually undefined rather than false which is how its document described. This is the only reason I set the default argument.
Sorry, something went wrong.
|
PTAL. (Travis ci task for this halted..) |
Sorry, something went wrong.
|
Thanks for doing this. Would you mind als contributing the same option to UDP / dgram? |
Sorry, something went wrong.
|
Yes, that's possible. But the last discussion #17664 (comment) shows there is no need to provide the same option to dgram. How do you think about this now? |
Sorry, something went wrong.
There was a problem hiding this comment.
Just "disable dual-stack support", no "the." (And you'd normally say "binding to host", not "binding host".)
Sorry, something went wrong.
There was a problem hiding this comment.
Did you mean to write WORKER_COUNT? The name's a bit confusing to me.
Sorry, something went wrong.
There was a problem hiding this comment.
I should have been more careful.
Sorry, something went wrong.
There was a problem hiding this comment.
It's unnecessary to wrap the Countdown callback in a mustCall(). That's done automatically.
Sorry, something went wrong.
|
I think I misunderstood the comment #17664 (comment). We could bind to and use unspecified address and it works as expected: exampleconst dgram = require('dgram');
const socket = dgram.createSocket('udp6');
socket.on('message', (msg, rinfo) => {
console.log('rinfo', rinfo)
});
socket.bind(0, '::', () => {
const { port } = socket.address();
const client = dgram.createSocket('udp4');
// Ensure the `client` won't bind ipv6.
client.bind(0, () => {
client.send(Buffer.allocUnsafe(1), port, '0.0.0.0');
});
});So I would like to add the option to dgram too. Maybe I should open another PR? |
Sorry, something went wrong.
|
ipv6Only for dgram.createSocket() is added. PTAL. |
Sorry, something went wrong.
I'd say still go for it. Even if the OS might not properly support the socket option, we can still expose it. |
Sorry, something went wrong.
There was a problem hiding this comment.
nit: don't need the common.mustCall() wrapper here.
Sorry, something went wrong.
There was a problem hiding this comment.
nit: don't need the common.mustCall() wrapper here.
Sorry, something went wrong.
|
/ping @silverwind @vsemozhetbyt @mscdex @richardlau @jasnell It should look good now. PTAL. |
Sorry, something went wrong.
|
Docs LGTM. |
Sorry, something went wrong.
Sorry, something went wrong.
|
parallel/test-net-connect-ipv6only failed on AIX: events.js:167
throw er; // Unhandled 'error' event
^
Error: connect EHOSTUNREACH :::35876 - Local (undefined:undefined)
at internalConnect (net.js:883:16)
at defaultTriggerAsyncIdScope (internal/async_hooks.js:294:19)
at defaultTriggerAsyncIdScope (net.js:974:9)
at internalTickCallback (internal/process/next_tick.js:70:11)
at process._tickCallback (internal/process/next_tick.js:47:5)
at Function.Module.runMain (internal/modules/cjs/loader.js:778:11)
at startup (internal/bootstrap/node.js:300:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:833:3)
Emitted 'error' event at:
at emitErrorNT (internal/streams/destroy.js:82:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
at internalTickCallback (internal/process/next_tick.js:72:19)
at process._tickCallback (internal/process/next_tick.js:47:5)
[... lines matching original stack trace ...]
at bootstrapNodeJSCore (internal/bootstrap/node.js:833:3)
I have no idea why this happened though. |
Sorry, something went wrong.
|
@nodejs/platform-aix ^^^^^^ |
Sorry, something went wrong.
|
I suggest removing the support for net.Socket.connect() in this PR as it fails on AIX and I guess we need to resolve it in libuv. The rest parts still make sense as the support for server is what we mostly care about. |
Sorry, something went wrong.
Will you be doing that and rebasing? If not, should we apply a help wanted label to this so someone else will do it? |
Sorry, something went wrong.
|
I will remove the net.Socket.connect() and rebase again. |
Sorry, something went wrong.
For TCP servers, the dual-stack support is enable by default, i.e. binding host "::" will also make "0.0.0.0" bound. This commit add ipv6Only option in `net.Server.listen()` and `dgram.createSocket()` methods which allows to disable dual-stack support. Support for cluster module is also provided in this commit. Fixes: nodejs#17664
Sorry, something went wrong.
|
Resume (for known issues): https://ci.nodejs.org/job/node-test-commit-arm-fanned/4499/ |
Sorry, something went wrong.
|
I have removed the support for net.Socket.connect() and the CI is green now. /cc @bnoordhuis @jasnell Does this still LGTY? |
Sorry, something went wrong.
|
Yes, still LGTM |
Sorry, something went wrong.
For TCP servers, the dual-stack support is enable by default, i.e. binding host "::" will also make "0.0.0.0" bound. This commit add ipv6Only option in `net.Server.listen()` and `dgram.createSocket()` methods which allows to disable dual-stack support. Support for cluster module is also provided in this commit. Fixes: #17664 PR-URL: #23798 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
For TCP servers, the dual-stack support is enable by default, i.e. binding host "::" will also make "0.0.0.0" bound. This commit add ipv6Only option in `net.Server.listen()` and `dgram.createSocket()` methods which allows to disable dual-stack support. Support for cluster module is also provided in this commit. Fixes: #17664 PR-URL: #23798 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
For TCP servers, the dual-stack support is enable by default, i.e. binding host "::" will also make "0.0.0.0" bound. This commit add ipv6Only option in `net.Server.listen()` and `dgram.createSocket()` methods which allows to disable dual-stack support. Support for cluster module is also provided in this commit. Fixes: #17664 PR-URL: #23798 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
Notable Changes:
* console,util:
* `console` functions now handle symbols as defined in the spec.
#23708
* The inspection `depth` default is now back at 2.
#24326
* dgram,net:
* Added ipv6Only option for `net` and `dgram`.
#23798
* http:
* Chosing between the http parser is now possible per runtime flag.
#24739
* readline:
* The `readline` module now supports async iterators.
#23916
* repl:
* The multiline history feature is removed.
#24804
* tls:
* Added min/max protocol version options.
#24405
* The X.509 public key info now includes the RSA bit size and the
elliptic curve. #24358
* url:
* `pathToFileURL()` now supports LF, CR and TAB.
#23720
* Windows:
* Tools are not installed using Boxstarter anymore.
#24677
* The install-tools scripts or now included in the dist.
#24233
* Added new collaborator:
* [antsmartian](https://github.com/antsmartian) - Anto Aravinth.
#24655
PR-URL: #24854
Notable Changes:
* console,util:
* `console` functions now handle symbols as defined in the spec.
#23708
* The inspection `depth` default is now back at 2.
#24326
* dgram,net:
* Added ipv6Only option for `net` and `dgram`.
#23798
* http:
* Chosing between the http parser is now possible per runtime flag.
#24739
* readline:
* The `readline` module now supports async iterators.
#23916
* repl:
* The multiline history feature is removed.
#24804
* tls:
* Added min/max protocol version options.
#24405
* The X.509 public key info now includes the RSA bit size and the
elliptic curve. #24358
* url:
* `pathToFileURL()` now supports LF, CR and TAB.
#23720
* Windows:
* Tools are not installed using Boxstarter anymore.
#24677
* The install-tools scripts or now included in the dist.
#24233
* Added new collaborator:
* [antsmartian](https://github.com/antsmartian) - Anto Aravinth.
#24655
PR-URL: #24854
Notable Changes:
* console,util:
* `console` functions now handle symbols as defined in the spec.
#23708
* The inspection `depth` default is now back at 2.
#24326
* dgram,net:
* Added ipv6Only option for `net` and `dgram`.
#23798
* http:
* Chosing between the http parser is now possible per runtime flag.
#24739
* readline:
* The `readline` module now supports async iterators.
#23916
* repl:
* The multiline history feature is removed.
#24804
* tls:
* Added min/max protocol version options.
#24405
* The X.509 public key info now includes the RSA bit size and the
elliptic curve. #24358
* url:
* `pathToFileURL()` now supports LF, CR and TAB.
#23720
* Windows:
* Tools are not installed using Boxstarter anymore.
#24677
* The install-tools scripts or now included in the dist.
#24233
* Added new collaborator:
* [antsmartian](https://github.com/antsmartian) - Anto Aravinth.
#24655
PR-URL: #24854
For TCP servers, the dual-stack support is enable by default, i.e. binding host "::" will also make "0.0.0.0" bound. This commit add ipv6Only option in `net.Server.listen()` and `dgram.createSocket()` methods which allows to disable dual-stack support. Support for cluster module is also provided in this commit. Fixes: nodejs#17664 PR-URL: nodejs#23798 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
Notable Changes:
* console,util:
* `console` functions now handle symbols as defined in the spec.
nodejs#23708
* The inspection `depth` default is now back at 2.
nodejs#24326
* dgram,net:
* Added ipv6Only option for `net` and `dgram`.
nodejs#23798
* http:
* Chosing between the http parser is now possible per runtime flag.
nodejs#24739
* readline:
* The `readline` module now supports async iterators.
nodejs#23916
* repl:
* The multiline history feature is removed.
nodejs#24804
* tls:
* Added min/max protocol version options.
nodejs#24405
* The X.509 public key info now includes the RSA bit size and the
elliptic curve. nodejs#24358
* url:
* `pathToFileURL()` now supports LF, CR and TAB.
nodejs#23720
* Windows:
* Tools are not installed using Boxstarter anymore.
nodejs#24677
* The install-tools scripts or now included in the dist.
nodejs#24233
* Added new collaborator:
* [antsmartian](https://github.com/antsmartian) - Anto Aravinth.
nodejs#24655
PR-URL: nodejs#24854
| Back | FazBrowse Home | New Git URL |
For our servers, the dual-stack support is enable by default, i.e. binding host "::" will also make "0.0.0.0" bound. This commit add ipv6Only option in net.Server.listen(), net.Socket.connect() and dgram.createSocket() methods which allows to disable dual-stack support.
Support for cluster module is also provided in this commit.
Fixes: #17664
/cc @silverwind
Checklist