Coder Social home page Coder Social logo

Comments (6)

Arceliar avatar Arceliar commented on May 18, 2024

Followup, not sure if this is true of all BSDs, but I'm told that OpenBSD intentionally doesn't support dual-stack sockets. So the fix here is to listen on two sockets, one of which is bound to IPv4, and the other to IPv6.

This is tedious but not technically difficult to do. The bigger question is how to handle it in the config. We may need to support multiple listen addresses, or else figure out that the undefined address is used (and then listen on all addresses in such cases). If we allow for multiple addresses, then we need to handle the case where someone configures multiple addresses of the same type, which quickly becomes complicated. Perhaps, in the short term, we should only use a listen port (and then listen on all addresses on both IPv4 and IPv6), until the multiple address question is answered.

from yggdrasil-go.

Arceliar avatar Arceliar commented on May 18, 2024

It sounds like another alternative is to do nothing, and continue to only listen on all IPv6 addresses on OpenBSD. OpenBSD users who need to listen on IPv4 could set up a 4-to-6 relay, or something like that.

from yggdrasil-go.

neilalexander avatar neilalexander commented on May 18, 2024

If we do nothing then the user can fix this with relayd using something like this, as trn mentioned in the Matrix channel:

relay 6-to-4 {
  forward to 127.0.0.1 port 999
  listen on fd00::1 port 999
}

This isn't ideal but it does mean we aren't adding more platform-specific behaviour than is required. It'd be worth seeing if this is also true on FreeBSD and NetBSD.

from yggdrasil-go.

neilalexander avatar neilalexander commented on May 18, 2024

Some quick research:

  • FreeBSD 11 netstat -an shows tcp46/udp46. Accepts connections on both ::1 and 127.0.0.1.
  • NetBSD 7.1.1 netstat -an shows tcp6/udp6. Accepts connections on both ::1 and 127.0.0.1.
  • OpenBSD 6.2 netstat -an shows tcp6/udp6. Accepts connections on ::1 but not 127.0.0.1.

Seems that this issue is specific to OpenBSD.

from yggdrasil-go.

Arceliar avatar Arceliar commented on May 18, 2024

I guess it should be enough for now to provide a workaround in the OpenBSD documentation.

from yggdrasil-go.

Arceliar avatar Arceliar commented on May 18, 2024

#57 covers this well enough for now, I guess.

from yggdrasil-go.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.