Skip to content
This repository was archived by the owner on Nov 25, 2025. It is now read-only.

Make ipv6-only the default and remove the ability to configure it.#93

Merged
badeend merged 1 commit into
WebAssembly:mainfrom
badeend:remove-ipv6-only
Jan 16, 2024
Merged

Make ipv6-only the default and remove the ability to configure it.#93
badeend merged 1 commit into
WebAssembly:mainfrom
badeend:remove-ipv6-only

Conversation

@badeend
Copy link
Copy Markdown
Member

@badeend badeend commented Jan 15, 2024

Currently, the spec doesn't mention anything about the default value of ipv6-only. This PR changes that to be true, because that's universally supported.

This requires a change in wasmtime.
JCO should be good to go as libuv does this by default.


Additionally, this PR removes the ability to enable dual-stack sockets (ipv6-only==false) altogether as the OS-support is questionable:

  • Linux: Supported.
  • Windows: Supported, but disabled by default.
  • MacOS: Buggy. Ancillary messages for IPv4 traffic on IPv6 UDP sockets don't appear to work.
  • *BSD: Not supported

This removal does not preclude us from adding an advanced option in the future to opt back in to this.

@pchickey
Copy link
Copy Markdown
Contributor

pchickey commented Jan 16, 2024

This is a breaking wit change, but I've checked in with various stakeholders and we all agree that this both the right change to make for the spec, and a very minor breakage to accommodate in all implementations we know of.

The alternative to making this change to remove the setter and getter is to document that the getter always returns true and the setter traps when given false, which doesnt seem like an ideal outcome.

Therefore, I'd like to land this change ASAP and then cut new RCs.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants