Compare commits

..

2 Commits

Author SHA1 Message Date
amery b15f394199 wireguard: add EndpointAddress.Name() removing the domain from Host
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 01:51:15 +00:00
amery f225e15b2c wireguard: rename EndpointAddress.Name to Host
and add String() method

Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 01:51:14 +00:00
+22 -2
View File
@@ -3,6 +3,7 @@ package wireguard
import (
"encoding/base64"
"errors"
"fmt"
"io"
"net/netip"
"strconv"
@@ -44,10 +45,29 @@ type PeerConfig struct {
// EndpointAddress is a host:port pair to reach the Peer
type EndpointAddress struct {
Name string
Host string
Port uint16
}
// Name returns the first part of a hostname
func (ep EndpointAddress) Name() string {
before, _, _ := strings.Cut(ep.Host, ".")
return before
}
func (ep EndpointAddress) String() string {
switch {
case ep.Host == "":
return ""
case ep.Port == 0:
return ep.Host
case !strings.ContainsRune(ep.Host, ':'):
return fmt.Sprintf("%s:%v", ep.Host, ep.Port)
default:
return fmt.Sprintf("[%s]:%v", ep.Host, ep.Port)
}
}
// FromString sets the EndpointAddress from a given "[host]:port"
func (ep *EndpointAddress) FromString(s string) error {
host, port, err := core.SplitHostPort(s)
@@ -55,7 +75,7 @@ func (ep *EndpointAddress) FromString(s string) error {
return err
}
ep.Name = host
ep.Host = host
switch {
case port != "":