diff --git a/main.go b/main.go index 0c2f2c1..c40b8d0 100644 --- a/main.go +++ b/main.go @@ -1,14 +1,14 @@ package main -import "github.com/hlandau/degoutils/config" import "gopkg.in/hlandau/service.v1" +import "gopkg.in/hlandau/easyconfig.v1" import "github.com/hlandau/ncdns/server" import "path/filepath" func main() { cfg := server.ServerConfig{} - config := config.Configurator{ + config := easyconfig.Configurator{ ProgramName: "ncdns", } config.ParseFatal(&cfg) diff --git a/server/server.go b/server/server.go index 8a118da..ae14b47 100644 --- a/server/server.go +++ b/server/server.go @@ -62,8 +62,14 @@ func (cfg *ServerConfig) cpath(s string) string { } func NewServer(cfg *ServerConfig) (s *Server, err error) { - s = &Server{} - s.cfg = *cfg + s = &Server{ + cfg: *cfg, + namecoinConn: namecoin.Conn{ + Username: cfg.NamecoinRPCUsername, + Password: cfg.NamecoinRPCPassword, + Server: cfg.NamecoinRPCAddress, + }, + } s.cfg.canonicalNameservers = strings.Split(s.cfg.CanonicalNameservers, ",") for i := range s.cfg.canonicalNameservers { @@ -81,22 +87,14 @@ func NewServer(cfg *ServerConfig) (s *Server, err error) { } } - s.namecoinConn = namecoin.Conn{ - Username: cfg.NamecoinRPCUsername, - Password: cfg.NamecoinRPCPassword, - Server: cfg.NamecoinRPCAddress, - } - - bcfg := &backend.Config{ + b, err := backend.New(&backend.Config{ NamecoinConn: s.namecoinConn, CacheMaxEntries: cfg.CacheMaxEntries, SelfIP: cfg.SelfIP, Hostmaster: cfg.Hostmaster, CanonicalNameservers: s.cfg.canonicalNameservers, VanityIPs: s.cfg.vanityIPs, - } - - b, err := backend.New(bcfg) + }) if err != nil { return } @@ -125,13 +123,11 @@ func NewServer(cfg *ServerConfig) (s *Server, err error) { return nil, fmt.Errorf("Must specify ZSK if KSK is specified") } - e, err := madns.NewEngine(ecfg) + s.engine, err = madns.NewEngine(ecfg) if err != nil { return } - s.engine = e - if cfg.HTTPListenAddr != "" { err = webStart(cfg.HTTPListenAddr, s) if err != nil {