Skip to content

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

@n1000

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!

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