Browse Source

wireguard: cleanup Config parser using BinaryKey

Signed-off-by: Alejandro Mery <amery@jpi.io>
pull/1/head
Alejandro Mery 1 year ago
parent
commit
f5ee63e5aa
  1. 14
      pkg/wireguard/config.go

14
pkg/wireguard/config.go

@ -1,7 +1,6 @@
package wireguard
import (
"encoding/base64"
"errors"
"fmt"
"io"
@ -32,13 +31,13 @@ func (f *Config) Peers() int {
// InterfaceConfig represents the [Interface] section
type InterfaceConfig struct {
Address netip.Addr
PrivateKey []byte
PrivateKey BinaryKey
ListenPort uint16
}
// PeerConfig represents a [Peer] section
type PeerConfig struct {
PublicKey []byte
PublicKey BinaryKey
Endpoint EndpointAddress
AllowedIPs []netip.Prefix
}
@ -129,19 +128,19 @@ type interfaceConfig struct {
}
func (p interfaceConfig) Export() (InterfaceConfig, error) {
var err error
out := InterfaceConfig{
Address: p.Address,
ListenPort: p.ListenPort,
}
b, err := base64.StdEncoding.DecodeString(p.PrivateKey)
out.PrivateKey, err = BinaryKeyFromBase64(p.PrivateKey)
if err != nil {
err = core.Wrap(err, "PrivateKey")
return InterfaceConfig{}, err
}
out.PrivateKey = b
return out, nil
}
@ -163,8 +162,7 @@ func (v *intermediateConfig) ExportPeer(i int) (PeerConfig, error) {
}
// PublicKey
s = v.Peer.PublicKey[i]
out.PublicKey, err = base64.StdEncoding.DecodeString(s)
out.PublicKey, err = BinaryKeyFromBase64(v.Peer.PublicKey[i])
if err != nil {
err = core.Wrap(err, "PublicKey")
return out, err

Loading…
Cancel
Save