Browse Source

adding freebsd-specific logic

afeiszli 3 years ago
parent
commit
021b6b341e
2 changed files with 46 additions and 20 deletions
  1. 0 20
      netclient/ncutils/netclientutils.go
  2. 46 0
      netclient/ncutils/netclientutils_freebsd.go

+ 0 - 20
netclient/ncutils/netclientutils.go

@@ -412,26 +412,6 @@ func RunCmd(command string, printerr bool) (string, error) {
 	return string(out), err
 	return string(out), err
 }
 }
 
 
-/* new version - cant build on windows
-func RunCmd(command string, printerr bool) (string, error) {
-	args := strings.Fields(command)
-	ctx, cancel := context.WithTimeout(context.Background(), time.Second)
-	defer cancel()
-	cmd := exec.Command(args[0], args[1:]...)
-	cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true}
-	go func() {
-		<-ctx.Done()
-		_ = syscall.Kill(-cmd.Process.Pid, syscall.SIGKILL)
-	}()
-	out, err := cmd.CombinedOutput()
-	if err != nil && printerr {
-		log.Println("error running command:", command)
-		log.Println(strings.TrimSuffix(string(out), "\n"))
-	}
-	return string(out), err
-}
-*/
-
 // RunsCmds - runs cmds
 // RunsCmds - runs cmds
 func RunCmds(commands []string, printerr bool) error {
 func RunCmds(commands []string, printerr bool) error {
 	var err error
 	var err error

+ 46 - 0
netclient/ncutils/netclientutils_freebsd.go

@@ -0,0 +1,46 @@
+package ncutils
+
+import (
+	"context"
+	"crypto/tls"
+	"errors"
+	"fmt"
+	"io"
+	"io/ioutil"
+	"log"
+	"math/rand"
+	"net"
+	"net/http"
+	"os"
+	"os/exec"
+	"regexp"
+	"runtime"
+	"strconv"
+	"strings"
+	"syscall"
+	"time"
+
+	"golang.zx2c4.com/wireguard/wgctrl"
+	"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
+	"google.golang.org/grpc"
+	"google.golang.org/grpc/credentials"
+)
+
+// Runs Commands for FreeBSD
+func RunCmd(command string, printerr bool) (string, error) {
+	args := strings.Fields(command)
+	ctx, cancel := context.WithTimeout(context.Background(), time.Second)
+	defer cancel()
+	cmd := exec.Command(args[0], args[1:]...)
+	cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true}
+	go func() {
+		<-ctx.Done()
+		_ = syscall.Kill(-cmd.Process.Pid, syscall.SIGKILL)
+	}()
+	out, err := cmd.CombinedOutput()
+	if err != nil && printerr {
+		log.Println("error running command:", command)
+		log.Println(strings.TrimSuffix(string(out), "\n"))
+	}
+	return string(out), err
+}