added comments, optimized memory

This commit is contained in:
0xdcarns
2021-12-10 15:01:10 -05:00
parent 85e8c0abb6
commit e45a485bce
17 changed files with 136 additions and 152 deletions

View File

@@ -25,6 +25,7 @@ func GetSystemPeers(node *models.Node) (map[string]string, error) {
if err != nil {
return peers, err
}
defer client.Close()
device, err := client.Device(node.Interface)
if err != nil {
return nil, err
@@ -45,7 +46,7 @@ func RemoveConf(iface string, printlog bool) error {
return err
}
// Private Functions
// == Private Functions ==
func initWireguard(node *models.Node, privkey string, peers []wgtypes.PeerConfig, hasGateway bool, gateways []string) error {
@@ -210,6 +211,7 @@ func setServerPeers(iface string, keepalive int32, peers []wgtypes.PeerConfig) e
logger.Log(0, "failed to start wgctrl")
return err
}
defer client.Close()
device, err := client.Device(iface)
if err != nil {
@@ -280,10 +282,10 @@ func setServerPeers(iface string, keepalive int32, peers []wgtypes.PeerConfig) e
return nil
}
func setWGConfig(node *models.Node, network string, peerupdate bool) error {
func setWGConfig(node *models.Node, peerupdate bool) error {
node.SetID()
peers, hasGateway, gateways, err := GetServerPeers(node.MacAddress, node.Network, node.IsDualStack == "yes", node.IsIngressGateway == "yes")
peers, hasGateway, gateways, err := GetServerPeers(node)
if err != nil {
return err
}
@@ -292,11 +294,10 @@ func setWGConfig(node *models.Node, network string, peerupdate bool) error {
return err
}
if peerupdate {
var iface string = node.Interface
err = setServerPeers(iface, node.PersistentKeepalive, peers)
err = setServerPeers(node.Interface, node.PersistentKeepalive, peers[:])
logger.Log(2, "updated peers on server", node.Name)
} else {
err = initWireguard(node, privkey, peers, hasGateway, gateways)
err = initWireguard(node, privkey, peers[:], hasGateway, gateways[:])
logger.Log(3, "finished setting wg config on server", node.Name)
}
return err
@@ -311,7 +312,6 @@ func setWGKeyConfig(node *models.Node) error {
}
privkeystring := privatekey.String()
publickey := privatekey.PublicKey()
node.PublicKey = publickey.String()
err = StorePrivKey(node.ID, privkeystring)
@@ -322,7 +322,7 @@ func setWGKeyConfig(node *models.Node) error {
node.Action = models.NODE_NOOP
}
return setWGConfig(node, node.Network, false)
return setWGConfig(node, false)
}
func removeLocalServer(node *models.Node) error {