diff --git a/contrib/config/yggdrasilconf.go b/contrib/config/yggdrasilconf.go index 12048c3..bc6e132 100644 --- a/contrib/config/yggdrasilconf.go +++ b/contrib/config/yggdrasilconf.go @@ -9,13 +9,13 @@ the command line arguments, and then spits out an updated file. import ( "bytes" "encoding/json" - "flag" + "flag" "fmt" "io/ioutil" - "strconv" + "strconv" - "golang.org/x/text/encoding/unicode" "github.com/neilalexander/hjson-go" + "golang.org/x/text/encoding/unicode" "yggdrasil/config" ) @@ -23,8 +23,8 @@ import ( type nodeConfig = config.NodeConfig func main() { - useconffile := flag.String("useconffile", "/etc/yggdrasil.conf", "update config at specified file path") - flag.Parse() + useconffile := flag.String("useconffile", "/etc/yggdrasil.conf", "update config at specified file path") + flag.Parse() cfg := nodeConfig{} var config []byte var err error @@ -50,44 +50,44 @@ func main() { panic(err) } json.Unmarshal(confJson, &cfg) - switch flag.Arg(0) { - case "setMTU": - cfg.IfMTU, err = strconv.Atoi(flag.Arg(1)) - if err != nil { - cfg.IfMTU = 1280 - } - if mtu, _ := strconv.Atoi(flag.Arg(1)); mtu < 1280 { - cfg.IfMTU = 1280 - } - case "setIfName": - cfg.IfName = flag.Arg(1) - case "setListen": - cfg.Listen = flag.Arg(1) - case "setAdminListen": - cfg.AdminListen = flag.Arg(1) - case "setIfTapMode": - if flag.Arg(1) == "true" { - cfg.IfTAPMode = true - } else { - cfg.IfTAPMode = false - } - case "addPeer": - found := false - for _, v := range cfg.Peers { - if v == flag.Arg(1) { - found = true - } - } - if !found { - cfg.Peers = append(cfg.Peers, flag.Arg(1)) - } - case "removePeer": - for k, v := range cfg.Peers { - if v == flag.Arg(1) { - cfg.Peers = append(cfg.Peers[:k], cfg.Peers[k+1:]...) - } - } - } + switch flag.Arg(0) { + case "setMTU": + cfg.IfMTU, err = strconv.Atoi(flag.Arg(1)) + if err != nil { + cfg.IfMTU = 1280 + } + if mtu, _ := strconv.Atoi(flag.Arg(1)); mtu < 1280 { + cfg.IfMTU = 1280 + } + case "setIfName": + cfg.IfName = flag.Arg(1) + case "setListen": + cfg.Listen = flag.Arg(1) + case "setAdminListen": + cfg.AdminListen = flag.Arg(1) + case "setIfTapMode": + if flag.Arg(1) == "true" { + cfg.IfTAPMode = true + } else { + cfg.IfTAPMode = false + } + case "addPeer": + found := false + for _, v := range cfg.Peers { + if v == flag.Arg(1) { + found = true + } + } + if !found { + cfg.Peers = append(cfg.Peers, flag.Arg(1)) + } + case "removePeer": + for k, v := range cfg.Peers { + if v == flag.Arg(1) { + cfg.Peers = append(cfg.Peers[:k], cfg.Peers[k+1:]...) + } + } + } bs, err := hjson.Marshal(cfg) if err != nil { panic(err) diff --git a/src/yggdrasil/tcp.go b/src/yggdrasil/tcp.go index 1e62f46..db57b56 100644 --- a/src/yggdrasil/tcp.go +++ b/src/yggdrasil/tcp.go @@ -17,7 +17,7 @@ package yggdrasil import ( "errors" "fmt" - "math/rand" + "math/rand" "net" "sync" "sync/atomic" @@ -113,7 +113,7 @@ func (iface *tcpInterface) call(saddr string, socksaddr *string) { defer func() { // Block new calls for a little while, to mitigate livelock scenarios time.Sleep(tcp_timeout) - time.Sleep(time.Duration(rand.Intn(1000)) * time.Millisecond) + time.Sleep(time.Duration(rand.Intn(1000)) * time.Millisecond) iface.mutex.Lock() delete(iface.calls, saddr) iface.mutex.Unlock()