This commit is contained in:
Adam Ierymenko 2019-09-25 14:16:55 -07:00
commit 570032484f
No known key found for this signature in database
GPG key ID: C8877CF2D7A5D7F3
9 changed files with 93 additions and 103 deletions

View file

@ -37,9 +37,7 @@ func Service(basePath, authToken string, args []string) {
osSignalChannel := make(chan os.Signal, 2)
signal.Notify(osSignalChannel, syscall.SIGTERM, syscall.SIGQUIT, syscall.SIGINT, syscall.SIGBUS)
signal.Ignore(syscall.SIGUSR1, syscall.SIGUSR2)
go func() {
<-osSignalChannel
node.Close()
os.Exit(0)
}()
<-osSignalChannel
node.Close()
os.Exit(0)
}

View file

@ -54,6 +54,13 @@ func readAuthToken(basePath string) string {
return ""
}
func authTokenRequired(authToken string) {
if len(authToken) == 0 {
fmt.Println("FATAL: unable to read API authorization token from service path or user home ('sudo' may be needed)")
os.Exit(1)
}
}
func main() {
globalOpts := flag.NewFlagSet("global", flag.ContinueOnError)
hflag := globalOpts.Bool("h", false, "") // support -h to be canonical with other Unix utilities
@ -81,16 +88,13 @@ func main() {
if len(*pflag) > 0 {
basePath = *pflag
}
var authToken string
if len(*tflag) > 0 {
authToken = *tflag
} else {
authToken = readAuthToken(basePath)
}
if len(authToken) == 0 {
fmt.Println("FATAL: unable to read API authorization token from service path or user home ('sudo' may be needed)")
os.Exit(1)
}
authToken = strings.TrimSpace(authToken)
switch args[0] {
@ -103,24 +107,34 @@ func main() {
case "service":
cli.Service(basePath, authToken, cmdArgs)
case "status":
authTokenRequired(authToken)
cli.Status(basePath, authToken, cmdArgs, *jflag)
case "peers":
authTokenRequired(authToken)
cli.Peers(basePath, authToken, cmdArgs)
case "roots":
authTokenRequired(authToken)
cli.Roots(basePath, authToken, cmdArgs)
case "addroot":
authTokenRequired(authToken)
cli.AddRoot(basePath, authToken, cmdArgs)
case "removeroot":
authTokenRequired(authToken)
cli.RemoveRoot(basePath, authToken, cmdArgs)
case "networks":
authTokenRequired(authToken)
cli.Networks(basePath, authToken, cmdArgs)
case "join":
authTokenRequired(authToken)
cli.Join(basePath, authToken, cmdArgs)
case "leave":
authTokenRequired(authToken)
cli.Leave(basePath, authToken, cmdArgs)
case "show":
authTokenRequired(authToken)
cli.Show(basePath, authToken, cmdArgs)
case "set":
authTokenRequired(authToken)
cli.Set(basePath, authToken, cmdArgs)
}