Merge pull request #1 from mattkasun/develop-pr

logs, unused funcs, cleanup
This commit is contained in:
Matthew R Kasun 2022-01-02 10:37:58 -05:00 committed by GitHub
commit f180a85b2b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 50 additions and 79 deletions

View file

@ -21,11 +21,11 @@ func GetCommands(cliFlags []cli.Flag) []*cli.Command {
return err
}
if cfg.Network == "all" {
err = errors.New("No network provided.")
err = errors.New("no network provided")
return err
}
if cfg.Server.GRPCAddress == "" {
err = errors.New("No server address provided.")
err = errors.New("no server address provided")
return err
}
err = command.Join(cfg, pvtKey)

View file

@ -7,22 +7,13 @@ import (
"strings"
"time"
nodepb "github.com/gravitl/netmaker/grpc"
"github.com/gravitl/netmaker/netclient/config"
"github.com/gravitl/netmaker/netclient/daemon"
"github.com/gravitl/netmaker/netclient/functions"
"github.com/gravitl/netmaker/netclient/ncutils"
"golang.zx2c4.com/wireguard/wgctrl"
)
var (
wgclient *wgctrl.Client
)
var (
wcclient nodepb.NodeServiceClient
)
// Join - join command to run from cli
func Join(cfg config.ClientConfig, privateKey string) error {
var err error
@ -83,6 +74,7 @@ func getWindowsInterval() int {
return interval
}
// RunUserspaceDaemon - runs continual checkins
func RunUserspaceDaemon() {
cfg := config.ClientConfig{
@ -91,13 +83,12 @@ func RunUserspaceDaemon() {
interval := getWindowsInterval()
dur := time.Duration(interval) * time.Second
for {
if err := CheckIn(cfg); err != nil {
// pass
}
CheckIn(cfg)
time.Sleep(dur)
}
}
// CheckIn - runs checkin command from cli
func CheckIn(cfg config.ClientConfig) error {
//log.Println("checkin --- diabled for now")
//return nil
@ -141,6 +132,7 @@ func CheckIn(cfg config.ClientConfig) error {
return err
}
// Leave - runs the leave command from cli
func Leave(cfg config.ClientConfig) error {
err := functions.LeaveNetwork(cfg.Network)
if err != nil {
@ -151,6 +143,7 @@ func Leave(cfg config.ClientConfig) error {
return err
}
// Push - runs push command
func Push(cfg config.ClientConfig) error {
var err error
if cfg.Network == "all" || ncutils.IsWindows() {
@ -177,6 +170,7 @@ func Push(cfg config.ClientConfig) error {
return err
}
// Pull - runs pull command from cli
func Pull(cfg config.ClientConfig) error {
var err error
if cfg.Network == "all" {
@ -203,11 +197,13 @@ func Pull(cfg config.ClientConfig) error {
return err
}
// List - runs list command from cli
func List(cfg config.ClientConfig) error {
err := functions.List(cfg.Network)
return err
}
// Uninstall - runs uninstall command from cli
func Uninstall() error {
ncutils.PrintLog("uninstalling netclient", 0)
err := functions.Uninstall()

View file

@ -82,14 +82,15 @@ func checkIP(node *models.Node, servercfg config.ServerConfig, cliconf config.Cl
return ipchange && err == nil
}
func setDNS(node *models.Node, servercfg config.ServerConfig, nodecfg *models.Node) {
if nodecfg.DNSOn == "yes" {
ifacename := node.Interface
nameserver := servercfg.CoreDNSAddr
network := node.Network
local.UpdateDNS(ifacename, network, nameserver)
}
}
// DEPRECATED
// func setDNS(node *models.Node, servercfg config.ServerConfig, nodecfg *models.Node) {
// if nodecfg.DNSOn == "yes" {
// ifacename := node.Interface
// nameserver := servercfg.CoreDNSAddr
// network := node.Network
// local.UpdateDNS(ifacename, network, nameserver)
// }
// }
func checkNodeActions(node *models.Node, networkName string, servercfg config.ServerConfig, localNode *models.Node, cfg *config.ClientConfig) string {
if (node.Action == models.NODE_UPDATE_KEY || localNode.Action == models.NODE_UPDATE_KEY) &&

View file

@ -1,8 +1,6 @@
package functions
import (
"context"
"encoding/json"
"errors"
"fmt"
"log"
@ -21,10 +19,6 @@ import (
"google.golang.org/grpc/metadata"
)
var (
wcclient nodepb.NodeServiceClient
)
// ListPorts - lists ports of WireGuard devices
func ListPorts() error {
wgclient, err := wgctrl.New()
@ -101,30 +95,31 @@ func getPrivateAddrBackup() (string, error) {
}
}
if !found {
err := errors.New("Local Address Not Found.")
err := errors.New("local ip address not found")
return "", err
}
return local, err
}
func needInterfaceUpdate(ctx context.Context, mac string, network string, iface string) (bool, string, error) {
var header metadata.MD
req := &nodepb.Object{
Data: mac + "###" + network,
Type: nodepb.STRING_TYPE,
}
readres, err := wcclient.ReadNode(ctx, req, grpc.Header(&header))
if err != nil {
return false, "", err
}
var resNode models.Node
if err := json.Unmarshal([]byte(readres.Data), &resNode); err != nil {
return false, iface, err
}
oldiface := resNode.Interface
// DEPRECATED
// func needInterfaceUpdate(ctx context.Context, mac string, network string, iface string) (bool, string, error) {
// var header metadata.MD
// req := &nodepb.Object{
// Data: mac + "###" + network,
// Type: nodepb.STRING_TYPE,
// }
// readres, err := wcclient.ReadNode(ctx, req, grpc.Header(&header))
// if err != nil {
// return false, "", err
// }
// var resNode models.Node
// if err := json.Unmarshal([]byte(readres.Data), &resNode); err != nil {
// return false, iface, err
// }
// oldiface := resNode.Interface
return iface != oldiface, oldiface, err
}
// return iface != oldiface, oldiface, err
// }
// GetNode - gets node locally
func GetNode(network string) models.Node {

View file

@ -25,7 +25,7 @@ func SetIPForwarding() error {
case "darwin":
err = SetIPForwardingMac()
default:
err = errors.New("This OS is not supported")
err = errors.New("this OS is not currently supported")
}
return err
}

View file

@ -2,7 +2,6 @@ package ncutils
import (
"fmt"
"log"
"os/exec"
"strconv"
"strings"
@ -17,8 +16,8 @@ func RunCmd(command string, printerr bool) (string, error) {
cmd.Wait()
out, err := cmd.CombinedOutput()
if err != nil && printerr {
log.Println("error running command:", command)
log.Println(strings.TrimSuffix(string(out), "\n"))
Log(fmt.Sprintf("error running command: %s", command))
Log(strings.TrimSuffix(string(out), "\n"))
}
return string(out), err
}
@ -33,9 +32,8 @@ func GetEmbedded() error {
return nil
}
// CreateUserSpaceConf - creates a user space WireGuard conf
func CreateUserSpaceConf(address string, privatekey string, listenPort string, mtu int32, dns string, perskeepalive int32, peers []wgtypes.PeerConfig) (string, error) {
log.Println("---------- dns passed to create conf ", dns)
// CreateWireGuardConf - creates a user space WireGuard conf
func CreateWireGuardConf(address string, privatekey string, listenPort string, mtu int32, dns string, perskeepalive int32, peers []wgtypes.PeerConfig) (string, error) {
peersString, err := parsePeers(perskeepalive, peers)
var listenPortString string
if mtu <= 0 {

View file

@ -50,6 +50,9 @@ func CheckIn(network string) (*models.Node, error) {
// == run client action ==
var header metadata.MD
ctx, err := auth.SetJWT(wcclient, network)
if err != nil {
return nil, err
}
nodeData, err := json.Marshal(&node)
if err != nil {
return nil, err
@ -123,7 +126,7 @@ func GetPeers(macaddress string, network string, server string, dualstack bool,
}
keepalive := nodecfg.PersistentKeepalive
keepalivedur, err := time.ParseDuration(strconv.FormatInt(int64(keepalive), 10) + "s")
keepalivedur, _ := time.ParseDuration(strconv.FormatInt(int64(keepalive), 10) + "s")
keepaliveserver, err := time.ParseDuration(strconv.FormatInt(int64(5), 10) + "s")
if err != nil {
log.Fatalf("Issue with format of keepalive value. Please update netconfig: %v", err)

View file

@ -149,9 +149,9 @@ func InitWireguard(node *models.Node, privkey string, peers []wgtypes.PeerConfig
}
var newConf string
if node.UDPHolePunch != "yes" {
newConf, _ = ncutils.CreateUserSpaceConf(node.Address, key.String(), strconv.FormatInt(int64(node.ListenPort), 10), node.MTU, nameserver, node.PersistentKeepalive, peers)
newConf, _ = ncutils.CreateWireGuardConf(node.Address, key.String(), strconv.FormatInt(int64(node.ListenPort), 10), node.MTU, nameserver, node.PersistentKeepalive, peers)
} else {
newConf, _ = ncutils.CreateUserSpaceConf(node.Address, key.String(), "", node.MTU, nameserver, node.PersistentKeepalive, peers)
newConf, _ = ncutils.CreateWireGuardConf(node.Address, key.String(), "", node.MTU, nameserver, node.PersistentKeepalive, peers)
}
confPath := ncutils.GetNetclientPathSpecific() + ifacename + ".conf"
ncutils.PrintLog("writing wg conf file to: "+confPath, 1)
@ -178,7 +178,6 @@ func InitWireguard(node *models.Node, privkey string, peers []wgtypes.PeerConfig
}
}
if syncconf {
log.Println("syncing conf")
err = SyncWGQuickConf(ifacename, confPath)
} else {
d, _ := wgclient.Device(deviceiface)

View file

@ -1,21 +0,0 @@
package wireguard
import (
"os/exec"
"github.com/gravitl/netmaker/netclient/ncutils"
//homedir "github.com/mitchellh/go-homedir"
)
func setKernelDevice(ifacename string, address string) error {
ipExec, err := exec.LookPath("ip")
if err != nil {
return err
}
_, _ = ncutils.RunCmd("ip link delete dev "+ifacename, false)
_, _ = ncutils.RunCmd(ipExec+" link add dev "+ifacename+" type wireguard", true)
_, _ = ncutils.RunCmd(ipExec+" address add dev "+ifacename+" "+address+"/24", true)
return nil
}