mirror of
https://github.com/cwinfo/yggdrasil-go.git
synced 2024-11-25 10:31:35 +00:00
Make yggdrasilctl less crashy
This commit is contained in:
parent
575572d9a0
commit
83d734e109
@ -30,6 +30,7 @@ func main() {
|
|||||||
if r := recover(); r != nil {
|
if r := recover(); r != nil {
|
||||||
logger.Println("Fatal error:", r)
|
logger.Println("Fatal error:", r)
|
||||||
fmt.Print(logbuffer)
|
fmt.Print(logbuffer)
|
||||||
|
panic(r)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
@ -37,13 +38,15 @@ func main() {
|
|||||||
endpoint := defaults.GetDefaults().DefaultAdminListen
|
endpoint := defaults.GetDefaults().DefaultAdminListen
|
||||||
|
|
||||||
flag.Usage = func() {
|
flag.Usage = func() {
|
||||||
fmt.Fprintf(flag.CommandLine.Output(), "Usage: %s [options] command [key=value] [key=value] ...\n", os.Args[0])
|
fmt.Fprintf(flag.CommandLine.Output(), "Usage: %s [options] command [key=value] [key=value] ...\n\n", os.Args[0])
|
||||||
fmt.Println("Options:")
|
fmt.Println("Options:")
|
||||||
flag.PrintDefaults()
|
flag.PrintDefaults()
|
||||||
fmt.Println("Commands:\n - Use \"list\" for a list of available commands")
|
fmt.Println("\nPlease note that options must always specified BEFORE the command\non the command line or they will be ignored.\n")
|
||||||
|
fmt.Println("Commands:\n - Use \"list\" for a list of available commands\n")
|
||||||
fmt.Println("Examples:")
|
fmt.Println("Examples:")
|
||||||
fmt.Println(" - ", os.Args[0], "list")
|
fmt.Println(" - ", os.Args[0], "list")
|
||||||
fmt.Println(" - ", os.Args[0], "getPeers")
|
fmt.Println(" - ", os.Args[0], "getPeers")
|
||||||
|
fmt.Println(" - ", os.Args[0], "-v getSelf")
|
||||||
fmt.Println(" - ", os.Args[0], "setTunTap name=auto mtu=1500 tap_mode=false")
|
fmt.Println(" - ", os.Args[0], "setTunTap name=auto mtu=1500 tap_mode=false")
|
||||||
fmt.Println(" - ", os.Args[0], "-endpoint=tcp://localhost:9001 getDHT")
|
fmt.Println(" - ", os.Args[0], "-endpoint=tcp://localhost:9001 getDHT")
|
||||||
fmt.Println(" - ", os.Args[0], "-endpoint=unix:///var/run/ygg.sock getDHT")
|
fmt.Println(" - ", os.Args[0], "-endpoint=unix:///var/run/ygg.sock getDHT")
|
||||||
@ -122,11 +125,20 @@ func main() {
|
|||||||
|
|
||||||
for c, a := range args {
|
for c, a := range args {
|
||||||
if c == 0 {
|
if c == 0 {
|
||||||
|
if strings.HasPrefix(a, "-") {
|
||||||
|
logger.Printf("Ignoring flag %s as it should be specified before other parameters\n", a)
|
||||||
|
continue
|
||||||
|
}
|
||||||
logger.Printf("Sending request: %v\n", a)
|
logger.Printf("Sending request: %v\n", a)
|
||||||
send["request"] = a
|
send["request"] = a
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
tokens := strings.Split(a, "=")
|
tokens := strings.Split(a, "=")
|
||||||
|
if len(tokens) == 1 {
|
||||||
|
send[tokens[0]] = true
|
||||||
|
} else if len(tokens) > 2 {
|
||||||
|
send[tokens[0]] = strings.Join(tokens[1:], "=")
|
||||||
|
} else if len(tokens) == 2 {
|
||||||
if i, err := strconv.Atoi(tokens[1]); err == nil {
|
if i, err := strconv.Atoi(tokens[1]); err == nil {
|
||||||
logger.Printf("Sending parameter %s: %d\n", tokens[0], i)
|
logger.Printf("Sending parameter %s: %d\n", tokens[0], i)
|
||||||
send[tokens[0]] = i
|
send[tokens[0]] = i
|
||||||
@ -142,6 +154,7 @@ func main() {
|
|||||||
logger.Printf("Sending parameter %s: %v\n", tokens[0], send[tokens[0]])
|
logger.Printf("Sending parameter %s: %v\n", tokens[0], send[tokens[0]])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if err := encoder.Encode(&send); err != nil {
|
if err := encoder.Encode(&send); err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
|
Loading…
Reference in New Issue
Block a user