You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ncdns/main.go

50 lines
982 B
Go

10 years ago
package main
10 years ago
import "gopkg.in/hlandau/service.v2"
9 years ago
import "gopkg.in/hlandau/easyconfig.v1"
10 years ago
import "github.com/hlandau/ncdns/server"
10 years ago
import "path/filepath"
10 years ago
func main() {
10 years ago
cfg := server.ServerConfig{}
9 years ago
9 years ago
config := easyconfig.Configurator{
9 years ago
ProgramName: "ncdns",
10 years ago
}
config.ParseFatal(&cfg)
10 years ago
10 years ago
// We use the configPath to resolve paths relative to the config file.
cfg.ConfigDir = filepath.Dir(config.ConfigFilePath())
service.Main(&service.Info{
10 years ago
Name: "ncdns",
Description: "Namecoin to DNS Daemon",
10 years ago
DefaultChroot: service.EmptyChrootPath,
RunFunc: func(smgr service.Manager) error {
s, err := server.NewServer(&cfg)
if err != nil {
return err
}
err = s.Start()
if err != nil {
return err
}
10 years ago
err = smgr.DropPrivileges()
if err != nil {
return err
}
smgr.SetStarted()
10 years ago
smgr.SetStatus("ncdns: running ok")
<-smgr.StopChan()
return nil
},
})
10 years ago
}
10 years ago
// © 2014 Hugo Landau <hlandau@devever.net> GPLv3 or later