|
@@ -86,33 +86,9 @@ func main() {
|
|
|
setupPgeodnsZone(Zones)
|
|
|
|
|
|
go configReader(dirName, Zones)
|
|
|
- for _, host := range strings.Split(*flaginter, ",") {
|
|
|
- ip, port, err := net.SplitHostPort(host)
|
|
|
- if err != nil {
|
|
|
- switch {
|
|
|
- case strings.Contains(err.Error(), "missing port in address"):
|
|
|
- // 127.0.0.1
|
|
|
- ip = host
|
|
|
- case strings.Contains(err.Error(), "too many colons in address") &&
|
|
|
- // [a:b::c]
|
|
|
- strings.LastIndex(host, "]") == len(host)-1:
|
|
|
- ip = host[1 : len(host)-1]
|
|
|
- port = ""
|
|
|
- case strings.Contains(err.Error(), "too many colons in address"):
|
|
|
- // a:b::c
|
|
|
- ip = host
|
|
|
- port = ""
|
|
|
- default:
|
|
|
- log.Fatalf("Could not parse %s: %s\n", host, err)
|
|
|
- }
|
|
|
- }
|
|
|
- if len(port) == 0 {
|
|
|
- port = *flagport
|
|
|
- }
|
|
|
- host = net.JoinHostPort(ip, port)
|
|
|
- if len(serverId) == 0 {
|
|
|
- serverId = ip
|
|
|
- }
|
|
|
+
|
|
|
+ inter := getInterfaces()
|
|
|
+ for _, host := range inter {
|
|
|
go listenAndServe(host, &Zones)
|
|
|
}
|
|
|
|