Wait for interface in main
This commit is contained in:
1 parent
b8a06521c0
commit
bce06d2e9b
3 files changed
+14
-14
No files matched your search
@@ -4,6 +4,7 @@ import (
|
||||
"flag"
|
||||
"github.com/zettio/weavedns/server"
|
||||
"log"
|
||||
"net"
|
||||
"os"
|
||||
)
|
||||
|
||||
@@ -36,7 +37,16 @@ func main() {
|
||||
}
|
||||
}
|
||||
|
||||
err := weavedns.StartServer(zone, ifaceName, dnsPort, httpPort, wait)
|
||||
var iface *net.Interface = nil
|
||||
if ifaceName != "" {
|
||||
var err error
|
||||
iface, err = weavedns.EnsureInterface(ifaceName, wait)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
err := weavedns.StartServer(zone, iface, dnsPort, httpPort, wait)
|
||||
if err != nil {
|
||||
log.Fatal("Failed to start server", err)
|
||||
}
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ import (
|
||||
"time"
|
||||
)
|
||||
|
||||
func ensureInterface(ifaceName string, wait int) (iface *net.Interface, err error) {
|
||||
func EnsureInterface(ifaceName string, wait int) (iface *net.Interface, err error) {
|
||||
iface, err = findInterface(ifaceName)
|
||||
if err == nil || wait == 0 {
|
||||
return
|
||||
|
||||
+2
-12
@@ -69,24 +69,14 @@ func notUsHandler() dns.HandlerFunc {
|
||||
}
|
||||
}
|
||||
|
||||
func StartServer(zone Zone, ifaceName string, dnsPort int, httpPort int, wait int) error {
|
||||
|
||||
func StartServer(zone Zone, iface *net.Interface, dnsPort int, httpPort int, wait int) error {
|
||||
go ListenHttp(zone, httpPort)
|
||||
|
||||
var iface *net.Interface = nil
|
||||
if ifaceName != "" {
|
||||
var err error
|
||||
iface, err = ensureInterface(ifaceName, wait)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
mdnsClient, err := NewMDNSClient()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
} else {
|
||||
log.Printf("Using mDNS on %s", ifaceName)
|
||||
log.Printf("Using mDNS on %s", iface.Name)
|
||||
}
|
||||
err = mdnsClient.Start(iface)
|
||||
if err != nil {
|
||||
|
||||
Reference in new issue
Block a user