diff --git a/.gitignore b/.gitignore
index bf873a65..75a78a2d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,4 +17,3 @@ config/dnsconfig/
data/
.idea/
.vscode/
-
diff --git a/netclient/command/commands.go b/netclient/command/commands.go
index 60a35e7f..1aecdb4b 100644
--- a/netclient/command/commands.go
+++ b/netclient/command/commands.go
@@ -215,8 +215,3 @@ func Daemon() error {
err := functions.Daemon()
return err
}
-
-func Daemon() error {
- err := functions.Daemon()
- return err
-}
diff --git a/netclient/daemon/macos.go b/netclient/daemon/macos.go
index b6c4b325..cf1cfddb 100644
--- a/netclient/daemon/macos.go
+++ b/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(`
@@ -78,10 +77,8 @@ func MacDaemonString(interval string) string {
Labelcom.gravitl.netclient
ProgramArguments
- /etc/netclient/netclient
- checkin
- -n
- all
+ /sbin/netclient
+ daemon
StandardOutPath/etc/netclient/com.gravitl.netclient.log
StandardErrorPath/etc/netclient/com.gravitl.netclient.log
@@ -98,7 +95,6 @@ func MacDaemonString(interval string) string {
`, interval)
}
-// MacTemplateData - struct to represent the mac service
type MacTemplateData struct {
Label string
Interval string
diff --git a/netclient/wireguard/unix.go b/netclient/wireguard/unix.go
index 303d1636..7d6eb6ff 100644
--- a/netclient/wireguard/unix.go
+++ b/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
}