Adjust nameserver

This commit is contained in:
Daniel 2018-10-22 17:03:54 +02:00
parent bf55c1232d
commit 9f6edae70b

View file

@ -4,38 +4,39 @@ package nameserver
import ( import (
"net" "net"
"time"
"github.com/miekg/dns" "github.com/miekg/dns"
"github.com/Safing/safing-core/analytics/algs" "github.com/Safing/portbase/log"
"github.com/Safing/safing-core/intel" "github.com/Safing/portbase/modules"
"github.com/Safing/safing-core/log"
"github.com/Safing/safing-core/modules"
"github.com/Safing/safing-core/network"
"github.com/Safing/safing-core/network/netutils"
"github.com/Safing/safing-core/portmaster"
)
var ( "github.com/Safing/portmaster/analytics/algs"
nameserverModule *modules.Module "github.com/Safing/portmaster/intel"
"github.com/Safing/portmaster/network"
"github.com/Safing/portmaster/network/netutils"
"github.com/Safing/portmaster/portmaster"
) )
func init() { func init() {
nameserverModule = modules.Register("Nameserver", 128) modules.Register("nameserver", nil, start, nil, "intel")
} }
func Start() { func start() error {
server := &dns.Server{Addr: "127.0.0.1:53", Net: "udp"} server := &dns.Server{Addr: "127.0.0.1:53", Net: "udp"}
dns.HandleFunc(".", handleRequest) dns.HandleFunc(".", handleRequest)
go func() { go run()
}
func run(server *dns.Server) {
for {
err := server.ListenAndServe() err := server.ListenAndServe()
if err != nil { if err != nil {
log.Errorf("nameserver: server failed: %s", err) log.Errorf("nameserver: server failed: %s", err)
log.Info("nameserver: restarting server in 10 seconds")
time.Sleep(10 * time.Second)
}
} }
}()
// TODO: stop mocking
defer nameserverModule.StopComplete()
<-nameserverModule.Stop
} }
func nxDomain(w dns.ResponseWriter, query *dns.Msg) { func nxDomain(w dns.ResponseWriter, query *dns.Msg) {