From 8dfccfc8006b4612747bc6017c16b7c191055d50 Mon Sep 17 00:00:00 2001 From: braginini Date: Fri, 18 Jun 2021 13:22:56 +0200 Subject: [PATCH] refactor: remove unused code --- iface/iface.go | 195 ----------------------------------- iface/iface_configuration.go | 2 + 2 files changed, 2 insertions(+), 195 deletions(-) diff --git a/iface/iface.go b/iface/iface.go index b58f4629c8d..d33a2a82989 100644 --- a/iface/iface.go +++ b/iface/iface.go @@ -51,198 +51,3 @@ func Create(iface string, address string) error { } return nil } - -// ConfigureWithKeyGen Extends the functionality of Configure(iface string, privateKey string) by generating a new Wireguard private key -func ConfigureWithKeyGen(iface string) (*wgtypes.Key, error) { - key, err := wgtypes.GeneratePrivateKey() - if err != nil { - return nil, err - } - return &key, Configure(iface, key.String()) -} - -// Configure configures a Wireguard interface -// The interface must exist before calling this method (e.g. call interface.Create() before) -func Configure(iface string, privateKey string) error { - - log.Debugf("configuring Wireguard interface %s", iface) - wg, err := wgctrl.New() - if err != nil { - return err - } - defer wg.Close() - - log.Debugf("adding Wireguard private key") - key, err := wgtypes.ParseKey(privateKey) - if err != nil { - return err - } - fwmark := 0 - p := WgPort - cfg := wgtypes.Config{ - PrivateKey: &key, - ReplacePeers: false, - FirewallMark: &fwmark, - ListenPort: &p, - } - err = wg.ConfigureDevice(iface, cfg) - if err != nil { - return err - } - - return nil -} - -// GetListenPort returns the listening port of the Wireguard endpoint -func GetListenPort(iface string) (*int, error) { - log.Debugf("getting Wireguard listen port of interface %s", iface) - - //discover Wireguard current configuration - wg, err := wgctrl.New() - if err != nil { - return nil, err - } - defer wg.Close() - - d, err := wg.Device(iface) - if err != nil { - return nil, err - } - log.Debugf("got Wireguard device listen port %s, %d", iface, &d.ListenPort) - - return &d.ListenPort, nil -} - -// UpdateListenPort updates a Wireguard interface listen port -func UpdateListenPort(iface string, newPort int) error { - log.Debugf("updating Wireguard listen port of interface %s, new port %d", iface, newPort) - - //discover Wireguard current configuration - wg, err := wgctrl.New() - if err != nil { - return err - } - defer wg.Close() - - _, err = wg.Device(iface) - if err != nil { - return err - } - log.Debugf("got Wireguard device %s", iface) - - config := wgtypes.Config{ - ListenPort: &newPort, - ReplacePeers: false, - } - err = wg.ConfigureDevice(iface, config) - if err != nil { - return err - } - - log.Debugf("updated Wireguard listen port of interface %s, new port %d", iface, newPort) - - return nil -} - -// UpdatePeer updates existing Wireguard Peer or creates a new one if doesn't exist -// Endpoint is optional -func UpdatePeer(iface string, peerKey string, allowedIps string, keepAlive time.Duration, endpoint string) error { - - log.Debugf("updating interface %s peer %s: endpoint %s ", iface, peerKey, endpoint) - - wg, err := wgctrl.New() - if err != nil { - return err - } - defer wg.Close() - - _, err = wg.Device(iface) - if err != nil { - return err - } - log.Debugf("got Wireguard device %s", iface) - - //parse allowed ips - _, ipNet, err := net.ParseCIDR(allowedIps) - if err != nil { - return err - } - - peerKeyParsed, err := wgtypes.ParseKey(peerKey) - if err != nil { - return err - } - peers := make([]wgtypes.PeerConfig, 0) - peer := wgtypes.PeerConfig{ - PublicKey: peerKeyParsed, - ReplaceAllowedIPs: true, - AllowedIPs: []net.IPNet{*ipNet}, - PersistentKeepaliveInterval: &keepAlive, - } - peers = append(peers, peer) - - config := wgtypes.Config{ - ReplacePeers: false, - Peers: peers, - } - err = wg.ConfigureDevice(iface, config) - if err != nil { - return err - } - - if endpoint != "" { - return UpdatePeerEndpoint(iface, peerKey, endpoint) - } - - return nil -} - -// UpdatePeerEndpoint updates a Wireguard interface Peer with the new endpoint -// Used when NAT hole punching was successful and an update of the remote peer endpoint is required -func UpdatePeerEndpoint(iface string, peerKey string, newEndpoint string) error { - - log.Debugf("updating peer %s endpoint %s ", peerKey, newEndpoint) - - wg, err := wgctrl.New() - if err != nil { - return err - } - defer wg.Close() - - _, err = wg.Device(iface) - if err != nil { - return err - } - log.Debugf("got Wireguard device %s", iface) - - peerAddr, err := net.ResolveUDPAddr("udp4", newEndpoint) - if err != nil { - return err - } - - log.Debugf("parsed peer endpoint [%s]", peerAddr.String()) - - peerKeyParsed, err := wgtypes.ParseKey(peerKey) - if err != nil { - return err - } - peers := make([]wgtypes.PeerConfig, 0) - peer := wgtypes.PeerConfig{ - PublicKey: peerKeyParsed, - ReplaceAllowedIPs: false, - UpdateOnly: true, - Endpoint: peerAddr, - } - peers = append(peers, peer) - - config := wgtypes.Config{ - ReplacePeers: false, - Peers: peers, - } - err = wg.ConfigureDevice(iface, config) - if err != nil { - return err - } - - return nil -} diff --git a/iface/iface_configuration.go b/iface/iface_configuration.go index c17d4662960..d83abb25b5e 100644 --- a/iface/iface_configuration.go +++ b/iface/iface_configuration.go @@ -40,10 +40,12 @@ func Configure(iface string, privateKey string) error { return err } fwmark := 0 + p := WgPort cfg := wgtypes.Config{ PrivateKey: &key, ReplacePeers: false, FirewallMark: &fwmark, + ListenPort: &p, } err = wg.ConfigureDevice(iface, cfg) if err != nil {