Browse Source

Merge branch 'feature-messageQueue' of github.com:gravitl/netmaker into feature-messageQueue

Matthew R Kasun 3 years ago
parent
commit
9f00ec8817
4 changed files with 15 additions and 37 deletions
  1. 0 1
      .gitignore
  2. 0 5
      netclient/command/commands.go
  3. 14 18
      netclient/daemon/macos.go
  4. 1 13
      netclient/wireguard/unix.go

+ 0 - 1
.gitignore

@@ -17,4 +17,3 @@ config/dnsconfig/
 data/
 .idea/
 .vscode/
-

+ 0 - 5
netclient/command/commands.go

@@ -215,8 +215,3 @@ func Daemon() error {
 	err := functions.Daemon()
 	return err
 }
-
-func Daemon() error {
-	err := functions.Daemon()
-	return err
-}

+ 14 - 18
netclient/daemon/macos.go

@@ -4,30 +4,31 @@ import (
 	"fmt"
 	"log"
 	"os"
+	"path/filepath"
 
 	"github.com/gravitl/netmaker/netclient/ncutils"
 )
 
 const MAC_SERVICE_NAME = "com.gravitl.netclient"
 
-// SetupMacDaemon - Creates a daemon service from the netclient under LaunchAgents for MacOS
 func SetupMacDaemon(interval string) error {
 
-	if !ncutils.FileExists("/etc/netclient/netclient") {
-		binarypath, err := os.Executable()
-		if err != nil {
-			return err
-		}
-		ncutils.PrintLog("installing binary from "+binarypath, 0)
-		err = ncutils.Copy(binarypath, "/etc/netclient/netclient")
+	dir, err := filepath.Abs(filepath.Dir(os.Args[0]))
+	if err != nil {
+		return err
+	}
+	binarypath := dir + "/netclient"
+
+	if !ncutils.FileExists("/sbin/netclient") {
+		err = ncutils.Copy(binarypath, "/sbin/netclient")
 		if err != nil {
 			log.Println(err)
 			return err
 		}
 	}
 
-	_, err := os.Stat("~/Library/LaunchAgents")
-	if os.IsNotExist(err) {
+	_, errN := os.Stat("~/Library/LaunchAgents")
+	if os.IsNotExist(errN) {
 		os.Mkdir("~/Library/LaunchAgents", 0755)
 	}
 	err = CreateMacService(MAC_SERVICE_NAME, interval)
@@ -38,7 +39,6 @@ func SetupMacDaemon(interval string) error {
 	return err
 }
 
-// CleanupMac - Removes the netclient checkin daemon from LaunchDaemons
 func CleanupMac() {
 	_, err := ncutils.RunCmd("launchctl unload /Library/LaunchDaemons/"+MAC_SERVICE_NAME+".plist", true)
 	if ncutils.FileExists("/Library/LaunchDaemons/" + MAC_SERVICE_NAME + ".plist") {
@@ -49,9 +49,9 @@ func CleanupMac() {
 	}
 
 	os.RemoveAll(ncutils.GetNetclientPath())
+	os.Remove("/sbin/netclient")
 }
 
-// CreateMacService - Creates the mac service file for LaunchDaemons
 func CreateMacService(servicename string, interval string) error {
 	_, err := os.Stat("/Library/LaunchDaemons")
 	if os.IsNotExist(err) {
@@ -69,7 +69,6 @@ func CreateMacService(servicename string, interval string) error {
 	return err
 }
 
-// MacDaemonString - the file contents for the mac netclient daemon service (launchdaemon)
 func MacDaemonString(interval string) string {
 	return fmt.Sprintf(`<?xml version='1.0' encoding='UTF-8'?>
 <!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\" >
@@ -78,10 +77,8 @@ func MacDaemonString(interval string) string {
 	<key>Label</key><string>com.gravitl.netclient</string>
 	<key>ProgramArguments</key>
 		<array>
-			<string>/etc/netclient/netclient</string>
-			<string>checkin</string>
-			<string>-n</string>
-			<string>all</string>
+			<string>/sbin/netclient</string>
+			<string>daemon</string>
 		</array>
 	<key>StandardOutPath</key><string>/etc/netclient/com.gravitl.netclient.log</string>
 	<key>StandardErrorPath</key><string>/etc/netclient/com.gravitl.netclient.log</string>
@@ -98,7 +95,6 @@ func MacDaemonString(interval string) string {
 `, interval)
 }
 
-// MacTemplateData - struct to represent the mac service
 type MacTemplateData struct {
 	Label    string
 	Interval string

+ 1 - 13
netclient/wireguard/unix.go

@@ -69,22 +69,10 @@ func ApplyWGQuickConf(confPath string) error {
 	return err
 }
 
-// ApplyMacOSConf - applies system commands similar to wg-quick using golang for MacOS
-func ApplyMacOSConf(node models.Node, ifacename string, confPath string) error {
-	var err error
-	_ = WgQuickDownMac(node, ifacename)
-	err = WgQuickUpMac(node, ifacename, confPath)
-	return err
-}
-
 // SyncWGQuickConf - formats config file and runs sync command
 func SyncWGQuickConf(iface string, confPath string) error {
 	var tmpConf = confPath + ".sync.tmp"
-	var confCmd = "wg-quick strip "
-	if ncutils.IsMac() {
-		confCmd = "grep -v -e Address -e MTU -e PostUp -e PostDown "
-	}
-	confRaw, err := ncutils.RunCmd(confCmd+confPath, false)
+	confRaw, err := ncutils.RunCmd("wg-quick strip "+confPath, false)
 	if err != nil {
 		return err
 	}