Add a 'domain' option to the NixOS module and JSON config that
controls the domain suffix used for internal DNS names. Defaults to
'hyprspace' for backward compatibility. Supports multi-label domains
(e.g. 'vpn.internal').
Co-authored-by: Max <max@privatevoid.net>
FindPeerByIDPrefix previously returned the first peer whose ID started
with the given prefix, silently ignoring further matches. With Ed25519
peer IDs all sharing the leading "12D3KooW" (8 chars), short prefixes
can match multiple peers; the chosen peer then depends on slice order,
which is effectively undefined from the user's perspective.
Change FindPeerByIDPrefix and its wrapper FindPeerByCLIRef to return
(*Peer, error):
- 0 matches -> (nil, nil)
- 1 match -> (&peer, nil)
- 2+ match -> (nil, error) describing the ambiguity
Call sites in config.Read and rpc/server.go updated accordingly:
ambiguity surfaces as a config-load / CLI error instead of a silent
wrong-peer resolution.
Not a wire-protocol or config-format change. Only behavior visible at
CLI invocation and config load. Users relying on short prefixes that
happened to match multiple peers will now see a clear error and must
lengthen the prefix.
* implement foundation for service network
* update vendorHash
* extract MkNetID
* look up peers by NetID
* implement proxy for remote services
* support remote services (client side)
* create Proxy abstraction
* implement TCPServiceProxy
* add a wrapper to make streams implement net.Conn
* support remote services (server side)
* implement services in config
* create proxies from multiaddrs
* register services defined in config
* add description field to proxy
* resolve service hostnames
* Added support for daemon logs and improved code docs
* Update the README to include wireguard disclaimer
* Update description
* Add initialization message