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 }