Fix linter warnings and go fmt

This commit is contained in:
George 2020-09-23 14:49:57 -04:00
parent db6b46d933
commit eaffe705b1
5 changed files with 25 additions and 25 deletions

View File

@ -38,7 +38,7 @@ func loadConfig(s *meshname.MeshnameServer, confPath string) error {
var ( var (
genconf, subdomain, useconffile, listenAddr, networksconf string genconf, subdomain, useconffile, listenAddr, networksconf string
debug bool debug bool
) )
func init() { func init() {
@ -47,14 +47,13 @@ func init() {
flag.StringVar(&useconffile, "useconffile", "", "run daemon with a config file") flag.StringVar(&useconffile, "useconffile", "", "run daemon with a config file")
flag.StringVar(&listenAddr, "listenaddr", "[::1]:53535", "address to listen on") flag.StringVar(&listenAddr, "listenaddr", "[::1]:53535", "address to listen on")
flag.StringVar(&networksconf, "networks", "ygg=200::/7,cjd=fc00::/8,meshname=::/0", "TLD=subnet list separated by comma") flag.StringVar(&networksconf, "networks", "ygg=200::/7,cjd=fc00::/8,meshname=::/0", "TLD=subnet list separated by comma")
flag.BoolVar(&debug,"debug", false, "enable debug logging") flag.BoolVar(&debug, "debug", false, "enable debug logging")
} }
func main() { func main() {
flag.Parse() flag.Parse()
var logger *log.Logger logger := log.New(os.Stdout, "", log.Flags())
logger = log.New(os.Stdout, "", log.Flags())
logger.EnableLevel("error") logger.EnableLevel("error")
logger.EnableLevel("warn") logger.EnableLevel("warn")
@ -86,7 +85,9 @@ func main() {
} }
} }
s.Start() if err := s.Start(); err != nil {
logger.Fatal(err)
}
logger.Infoln("Listening on:", listenAddr) logger.Infoln("Listening on:", listenAddr)
c := make(chan os.Signal, 1) c := make(chan os.Signal, 1)
@ -96,9 +97,9 @@ func main() {
defer s.Stop() defer s.Stop()
for { for {
select { select {
case _ = <-c: case <-c:
return return
case _ = <-r: case <-r:
if useconffile != "" { if useconffile != "" {
if err := loadConfig(s, useconffile); err != nil { if err := loadConfig(s, useconffile); err != nil {
logger.Errorln(err) logger.Errorln(err)

View File

@ -10,7 +10,6 @@ import (
"github.com/miekg/dns" "github.com/miekg/dns"
) )
func GenConf(target, zone string) (string, error) { func GenConf(target, zone string) (string, error) {
ip := net.ParseIP(target) ip := net.ParseIP(target)
if ip == nil { if ip == nil {
@ -50,4 +49,3 @@ func ParseZoneConfigMap(zoneConfigMap map[string][]string) (map[string][]dns.RR,
} }
return zoneConfig, nil return zoneConfig, nil
} }

View File

@ -1,10 +1,10 @@
package meshname package meshname
import ( import (
"bytes" "bytes"
"fmt"
"net" "net"
"testing" "testing"
"fmt"
"github.com/zhoreeq/meshname/pkg/meshname" "github.com/zhoreeq/meshname/pkg/meshname"
) )
@ -16,7 +16,7 @@ func TestIPFromDomain(t *testing.T) {
if ip, err := meshname.IPFromDomain(&test_subdomain); err != nil { if ip, err := meshname.IPFromDomain(&test_subdomain); err != nil {
t.Fatal(err) t.Fatal(err)
} else if bytes.Compare(ip, test_ip) != 0 { } else if bytes.Compare(ip, test_ip) != 0 {
t.Fatalf("Decoding IP error %s != %s", ip.String(), test_ip.String()) t.Fatalf("Decoding IP error %s != %s", ip.String(), test_ip.String())
} }
} }

View File

@ -30,24 +30,23 @@ func New(log *log.Logger, listenAddr string) *MeshnameServer {
dnsClient.Timeout = 5000000000 // increased 5 seconds timeout dnsClient.Timeout = 5000000000 // increased 5 seconds timeout
return &MeshnameServer{ return &MeshnameServer{
log: log, log: log,
listenAddr: listenAddr, listenAddr: listenAddr,
zoneConfig: make(map[string][]dns.RR), zoneConfig: make(map[string][]dns.RR),
networks: make(map[string]*net.IPNet), networks: make(map[string]*net.IPNet),
dnsClient: dnsClient, dnsClient: dnsClient,
} }
} }
func (s *MeshnameServer) Stop() error { func (s *MeshnameServer) Stop() {
s.startedLock.Lock() s.startedLock.Lock()
defer s.startedLock.Unlock() defer s.startedLock.Unlock()
if s.started == true { if s.started {
s.dnsServer.Shutdown() if err := s.dnsServer.Shutdown(); err != nil {
s.log.Debugln(err)
}
s.started = false s.started = false
return nil
} else {
return errors.New("MeshnameServer is not running")
} }
} }
@ -55,7 +54,7 @@ func (s *MeshnameServer) Start() error {
s.startedLock.Lock() s.startedLock.Lock()
defer s.startedLock.Unlock() defer s.startedLock.Unlock()
if s.started == false { if !s.started {
s.dnsServer = &dns.Server{Addr: s.listenAddr, Net: "udp"} s.dnsServer = &dns.Server{Addr: s.listenAddr, Net: "udp"}
for tld, subnet := range s.networks { for tld, subnet := range s.networks {
dns.HandleFunc(tld, s.handleRequest) dns.HandleFunc(tld, s.handleRequest)
@ -129,7 +128,10 @@ func (s *MeshnameServer) handleRequest(w dns.ResponseWriter, r *dns.Msg) {
} }
m.Answer = append(m.Answer, resp.Answer...) m.Answer = append(m.Answer, resp.Answer...)
} }
w.WriteMsg(m)
if err := w.WriteMsg(m); err != nil {
s.log.Debugln("Error writing response:", err)
}
} }
func (s *MeshnameServer) isRemoteLookupAllowed(addr net.Addr) bool { func (s *MeshnameServer) isRemoteLookupAllowed(addr net.Addr) bool {

View File

@ -23,7 +23,7 @@ func TestServerLocalDomain(t *testing.T) {
exampleConfig := make(map[string][]string) exampleConfig := make(map[string][]string)
exampleConfig["aiarnf2wpqjxkp6rhivuxbondy"] = append(exampleConfig["aiarnf2wpqjxkp6rhivuxbondy"], exampleConfig["aiarnf2wpqjxkp6rhivuxbondy"] = append(exampleConfig["aiarnf2wpqjxkp6rhivuxbondy"],
"test.aiarnf2wpqjxkp6rhivuxbondy.meshname. AAAA 201:1697:567c:1375:3fd1:3a2b:4b85:cd1e") "test.aiarnf2wpqjxkp6rhivuxbondy.meshname. AAAA 201:1697:567c:1375:3fd1:3a2b:4b85:cd1e")
if zoneConfig, err := meshname.ParseZoneConfigMap(exampleConfig); err == nil { if zoneConfig, err := meshname.ParseZoneConfigMap(exampleConfig); err == nil {
ts.SetZoneConfig(zoneConfig) ts.SetZoneConfig(zoneConfig)
@ -31,7 +31,6 @@ func TestServerLocalDomain(t *testing.T) {
t.Fatalf("meshname: Failed to parse Meshname config: %s", err) t.Fatalf("meshname: Failed to parse Meshname config: %s", err)
} }
ts.Start() ts.Start()
tc := new(dns.Client) tc := new(dns.Client)