Browse Source

WIP commit

Matthew R Kasun 3 years ago
parent
commit
496187985e
3 changed files with 13 additions and 10 deletions
  1. 2 0
      .gitignore
  2. 4 3
      models/mqtt.go
  3. 7 7
      netclient/functions/daemon.go

+ 2 - 0
.gitignore

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

+ 4 - 3
models/mqtt.go

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

+ 7 - 7
netclient/functions/daemon.go

@@ -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 {
-				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
 				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
 	}
 	}