| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | package commonimport (	"log"	"os/exec"	"strings"	"github.com/gravitl/netmaker/nm-proxy/models")var IsRelay boolvar IsIngressGateway boolvar IsRelayed boolvar IsServer boolvar InterfaceName stringvar BehindNAT boolvar WgIfaceMap = models.WgIfaceConf{	Iface:   nil,	PeerMap: make(map[string]*models.Conn),}var PeerKeyHashMap = make(map[string]models.RemotePeer)//var WgIfaceKeyMap = make(map[string]models.RemotePeer)var RelayPeerMap = make(map[string]map[string]models.RemotePeer)var ExtClientsWaitTh = make(map[string]models.ExtClientPeer)var ExtSourceIpMap = make(map[string]models.RemotePeer)// RunCmd - runs a local commandfunc RunCmd(command string, printerr bool) (string, error) {	args := strings.Fields(command)	cmd := exec.Command(args[0], args[1:]...)	cmd.Wait()	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}
 |