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 netclient/netclient.exe
config/dnsconfig/ config/dnsconfig/
data/ data/
.idea/
.vscode/ .vscode/

View file

@ -1,9 +1,10 @@
package models package models
import "golang.zx2c4.com/wireguard/wgctrl/wgtypes"
type PeerUpdate struct { type PeerUpdate struct {
Network string Network string
Nodes []Node Peers []wgtypes.Peer
ExtPeers []ExtPeersResponse
} }
type KeyUpdate struct { 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. //check if interface name has changed if so delete.
if cfg.Node.Interface != newNode.Interface { if cfg.Node.Interface != newNode.Interface {
if err = wireguard.RemoveConf(cfg.Node.Interface, true); err != nil { 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" newNode.PullChanges = "no"
@ -109,12 +109,12 @@ var NodeUpdate mqtt.MessageHandler = func(client mqtt.Client, msg mqtt.Message)
cfg.Node = newNode cfg.Node = newNode
switch newNode.Action { switch newNode.Action {
case models.NODE_DELETE: case models.NODE_DELETE:
if err := RemoveLocalInstance(cfg, cfg.Network); err != nil { if err := RemoveLocalInstance(&cfg, cfg.Network); err != nil {
ncutils.Printlog("error deleting local instance: "+err.Error(), 1) ncutils.PrintLog("error deleting local instance: "+err.Error(), 1)
return return
} }
case models.NODE_UPDATE_KEY: case models.NODE_UPDATE_KEY:
UpdateKeys(cfg) UpdateKeys(&cfg, client)
case models.NODE_NOOP: case models.NODE_NOOP:
default: 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) ncutils.PrintLog("error updating node configuration: "+err.Error(), 1)
} }
nameserver := cfg.Server.CoreDNSAddr nameserver := cfg.Server.CoreDNSAddr
privateKey, err := wireguard.RetrievePrivKey(data.Network) privateKey, err := wireguard.RetrievePrivKey(newNode.Network)
if err != nil { if err != nil {
ncutils.Log("error reading PrivateKey " + err.Error()) ncutils.Log("error reading PrivateKey " + err.Error())
return 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()) ncutils.Log("error updating wireguard config " + err.Error())
return return
} }
@ -177,7 +177,7 @@ func UpdateKeys(cfg *config.ClientConfig, client mqtt.Client) (*config.ClientCon
ncutils.Log("error generating privatekey " + err.Error()) ncutils.Log("error generating privatekey " + err.Error())
return cfg, err 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()) ncutils.Log("error updating wireguard key " + err.Error())
return cfg, err return cfg, err
} }