Bind to IPv6 addresses by default

I request, because I happen to run my Vaultwarden container on a Kubernetes cluster that is IPv6-native.

It was easy enough to figure out how to make it bind to the v6 addresses, a few minutes of research finding adding

          env:
            - name: "ROCKET_ADDRESS"
              value: "::"
            - name: "WEBSOCKET_ADDRESS"
              value: "::"

to the container spec to be the correct incantation, but in these days in which IPv6 is becoming pervasive on more and more networks, it sure would be nice not to have to.

IPv4 is still the default on most systems.
As you mentioned your self it’s easy to change. But modifying the default could cause issues for already running systems.

Yeah, I wouldn’t want to break backwards compat, but at least in the libraries/languages/systems I’m familar with, binding a socket to “::” (i.e., all address, all stacks) defaults to the IPv4 equivalent of binding to “0.0.0.0” (i.e., all addresses, IPv4 only) on IPv4-only setups, so changing the default configuration in this way should cause no change in behavior on IPv4-only networks.

Rust and/or Rocket may behave differently, I don’t know specifically.

The logs will be different as far as i know. That could cause strange issues with fail2ban for example. So i’d rather keep it as is for now, untill we might make more breaking changes for example.

Fair enough, just wanted to get the thought out there.

Log-wise, I suppose there are a lot of v6 artifacts showing up, now I check 'em -

vaultwarden.log (github.com)