Skip to content

On OpenBSD, rest-server only listens using IPv4/TCPv4 #324

Description

@n1000

Output of rest-server --version

rest-server version rest-server 0.13.0 compiled with go1.23.1 on openbsd/amd64

What should rest-server do differently?

On OpenBSD, due to an underlying Go limitation, the rest-server only listens for connections via IPv4/TCPv4. For folks running a dual stack network it would be nice if rest-server could support listening on both IPv4 and IPv6.

More details available here: golang net documentation - Notes

On DragonFly BSD and OpenBSD, listening on the "tcp" and "udp" networks does not listen for both IPv4 and IPv6 connections. This is due to the fact that IPv4 traffic will not be routed to an IPv6 socket - two separate sockets are required if both address families are to be supported. See inet6(4) for details.

The OpenBSD inet6(4) manual page:

For security reasons, OpenBSD does not route IPv4 traffic to an AF_INET6 socket, and does not support IPv4 mapped addresses, where IPv4 traffic is seen as if it comes from an IPv6 address like “::ffff:10.1.1.1”. Where both IPv4 and IPv6 traffic need to be accepted, bind and listen on two sockets.

What are you trying to do? What is your use case?

Connect to the rest-server using IPv6.

Did rest-server help you today? Did it make you happy in any way?

I use rest-server for all my home network backup needs, its great!

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions