WIP commit

This commit is contained in:
Matthew R Kasun 2022-01-12 16:23:34 -05:00
parent 84884e5c23
commit 496187985e
3 changed files with 13 additions and 10 deletions

2
.gitignore vendored
View file

@ -15,4 +15,6 @@ netclient/netclient32
netclient/netclient.exe
config/dnsconfig/
data/
.idea/
.vscode/

View file

@ -1,9 +1,10 @@
package models
import "golang.zx2c4.com/wireguard/wgctrl/wgtypes"
type PeerUpdate struct {
Network string
Nodes []Node
ExtPeers []ExtPeersResponse
Network string
Peers []wgtypes.Peer
}
type KeyUpdate struct {

View file

@ -100,7 +100,7 @@ var NodeUpdate mqtt.MessageHandler = func(client mqtt.Client, msg mqtt.Message)
//check if interface name has changed if so delete.
if cfg.Node.Interface != newNode.Interface {
if err = wireguard.RemoveConf(cfg.Node.Interface, true); err != nil {
ncutils.PrintLog("could not delete old interface "+cfg.Node.Interface+": ", err.Error(), 1)
ncutils.PrintLog("could not delete old interface "+cfg.Node.Interface+": "+err.Error(), 1)
}
}
newNode.PullChanges = "no"
@ -109,12 +109,12 @@ var NodeUpdate mqtt.MessageHandler = func(client mqtt.Client, msg mqtt.Message)
cfg.Node = newNode
switch newNode.Action {
case models.NODE_DELETE:
if err := RemoveLocalInstance(cfg, cfg.Network); err != nil {
ncutils.Printlog("error deleting local instance: "+err.Error(), 1)
if err := RemoveLocalInstance(&cfg, cfg.Network); err != nil {
ncutils.PrintLog("error deleting local instance: "+err.Error(), 1)
return
}
case models.NODE_UPDATE_KEY:
UpdateKeys(cfg)
UpdateKeys(&cfg, client)
case models.NODE_NOOP:
default:
}
@ -123,12 +123,12 @@ var NodeUpdate mqtt.MessageHandler = func(client mqtt.Client, msg mqtt.Message)
ncutils.PrintLog("error updating node configuration: "+err.Error(), 1)
}
nameserver := cfg.Server.CoreDNSAddr
privateKey, err := wireguard.RetrievePrivKey(data.Network)
privateKey, err := wireguard.RetrievePrivKey(newNode.Network)
if err != nil {
ncutils.Log("error reading PrivateKey " + err.Error())
return
}
if err := wireguard.UpdateWgInterface(cfg.Node.Interface, privateKey, nameserver, data); err != nil {
if err := wireguard.UpdateWgInterface(cfg.Node.Interface, privateKey, nameserver, newNode); err != nil {
ncutils.Log("error updating wireguard config " + err.Error())
return
}
@ -177,7 +177,7 @@ func UpdateKeys(cfg *config.ClientConfig, client mqtt.Client) (*config.ClientCon
ncutils.Log("error generating privatekey " + err.Error())
return cfg, err
}
if err := wireguard.UpdatePrivateKey(data.Interface, key.String()); err != nil {
if err := wireguard.UpdatePrivateKey(cfg.Node.Interface, key.String()); err != nil {
ncutils.Log("error updating wireguard key " + err.Error())
return cfg, err
}