Browse Source

dns per network

Matthew R Kasun 3 years ago
parent
commit
11e0bd20d3
1 changed files with 8 additions and 8 deletions
  1. 8 8
      netclient/functions/mqhandlers.go

+ 8 - 8
netclient/functions/mqhandlers.go

@@ -142,7 +142,7 @@ func NodeUpdate(client mqtt.Client, msg mqtt.Message) {
 	//deal with DNS
 	//deal with DNS
 	if newNode.DNSOn != "yes" && shouldDNSChange && nodeCfg.Node.Interface != "" {
 	if newNode.DNSOn != "yes" && shouldDNSChange && nodeCfg.Node.Interface != "" {
 		ncutils.Log("settng DNS off")
 		ncutils.Log("settng DNS off")
-		if err := removeHostDNS(ncutils.IsWindows()); err != nil {
+		if err := removeHostDNS(nodeCfg.Network, ncutils.IsWindows()); err != nil {
 			ncutils.Log("error removing netmaker profile from /etc/hosts " + err.Error())
 			ncutils.Log("error removing netmaker profile from /etc/hosts " + err.Error())
 		}
 		}
 		//		_, err := ncutils.RunCmd("/usr/bin/resolvectl revert "+nodeCfg.Node.Interface, true)
 		//		_, err := ncutils.RunCmd("/usr/bin/resolvectl revert "+nodeCfg.Node.Interface, true)
@@ -202,19 +202,19 @@ func UpdatePeers(client mqtt.Client, msg mqtt.Message) {
 	//	return
 	//	return
 	//}
 	//}
 	if cfg.Node.DNSOn == "yes" {
 	if cfg.Node.DNSOn == "yes" {
-		if err := setHostDNS(peerUpdate.DNS, ncutils.IsWindows()); err != nil {
+		if err := setHostDNS(peerUpdate.DNS, cfg.Node.Network, ncutils.IsWindows()); err != nil {
 			ncutils.Log("error updating /etc/hosts " + err.Error())
 			ncutils.Log("error updating /etc/hosts " + err.Error())
 			return
 			return
 		}
 		}
 	} else {
 	} else {
-		if err := removeHostDNS(ncutils.IsWindows()); err != nil {
-			ncutils.Log("error removing netmaker profile from /etc/hosts " + err.Error())
+		if err := removeHostDNS(cfg.Node.Network, ncutils.IsWindows()); err != nil {
+			ncutils.Log("error removing profile from /etc/hosts " + err.Error())
 			return
 			return
 		}
 		}
 	}
 	}
 }
 }
 
 
-func setHostDNS(dns string, windows bool) error {
+func setHostDNS(dns, network string, windows bool) error {
 	log.Println(dns)
 	log.Println(dns)
 	etchosts := "/etc/hosts"
 	etchosts := "/etc/hosts"
 	if windows {
 	if windows {
@@ -229,7 +229,7 @@ func setHostDNS(dns string, windows bool) error {
 	if err != nil {
 	if err != nil {
 		return err
 		return err
 	}
 	}
-	profile.Name = "netmaker"
+	profile.Name = network
 	profile.Status = types.Enabled
 	profile.Status = types.Enabled
 	if err := hosts.ReplaceProfile(profile); err != nil {
 	if err := hosts.ReplaceProfile(profile); err != nil {
 		return err
 		return err
@@ -240,7 +240,7 @@ func setHostDNS(dns string, windows bool) error {
 	return nil
 	return nil
 }
 }
 
 
-func removeHostDNS(windows bool) error {
+func removeHostDNS(network string, windows bool) error {
 	etchosts := "/etc/hosts"
 	etchosts := "/etc/hosts"
 	if windows {
 	if windows {
 		etchosts = "c:\\windows\\system32\\drivers\\etc\\hosts"
 		etchosts = "c:\\windows\\system32\\drivers\\etc\\hosts"
@@ -249,7 +249,7 @@ func removeHostDNS(windows bool) error {
 	if err != nil {
 	if err != nil {
 		return err
 		return err
 	}
 	}
-	if err := hosts.RemoveProfile("netmaker"); err != nil {
+	if err := hosts.RemoveProfile(network); err != nil {
 		return err
 		return err
 	}
 	}
 	if err := hosts.Flush(); err != nil {
 	if err := hosts.Flush(); err != nil {