Update config, signal handling and refactoring

This commit is contained in:
George
2020-03-08 00:59:44 -05:00
parent 041fdff2a8
commit a2be79ddcb
3 changed files with 63 additions and 32 deletions
+2 -2
View File
@@ -3,8 +3,8 @@ package main
import (
"fmt"
"net"
"strings"
"os"
"strings"
"github.com/zhoreeq/meshname/src/meshname"
)
@@ -28,7 +28,7 @@ func main() {
fmt.Println("Invalid domain")
return
}
subDomain := labels[len(labels) - 2]
subDomain := labels[len(labels)-2]
if len(subDomain) != 26 {
fmt.Println("Invalid subdomain length")
return
+18 -1
View File
@@ -3,8 +3,10 @@ package main
import (
"net"
"os"
"os/signal"
"fmt"
"flag"
"syscall"
"github.com/gologme/log"
@@ -47,9 +49,24 @@ func main() {
os.Exit(1)
}
s.Init(logger, meshname.MeshnameOptions{ListenAddr: *listenAddr, ConfigPath: *useconffile, ValidSubnet: validSubnet})
s.Init(logger, *listenAddr, *useconffile, validSubnet)
s.Start()
c := make(chan os.Signal, 1)
r := make(chan os.Signal, 1)
signal.Notify(c, os.Interrupt, syscall.SIGTERM)
signal.Notify(r, os.Interrupt, syscall.SIGHUP)
defer s.Stop()
for {
select {
case _ = <-c:
goto exit
case _ = <-r:
s.UpdateConfig()
}
}
default:
flag.PrintDefaults()
}
exit:
}