take name as posarg, default for --tsig-name

This commit is contained in:
Tero Marttila 2016-06-19 20:10:19 +03:00
parent b2f9c97771
commit 8d38f299ad
1 changed files with 15 additions and 9 deletions

24
main.go
View File

@ -20,19 +20,19 @@ type Options struct {
TSIGAlgorithm TSIGAlgorithm `long:"tsig-algorithm" default:"hmac-sha1."` TSIGAlgorithm TSIGAlgorithm `long:"tsig-algorithm" default:"hmac-sha1."`
Zone string `long:"zone" description:"Zone to update"` Zone string `long:"zone" description:"Zone to update"`
Name string `long:"name" description:"Name to update"`
TTL int `long:"ttl" default:"60"` TTL int `long:"ttl" default:"60"`
Args struct {
Name string `description:"DNS Name to update"`
} `positional-args:"yes"`
} }
func main() { func main() {
var options Options var options Options
if args, err := flags.Parse(&options); err != nil { if _, err := flags.Parse(&options); err != nil {
log.Fatalf("flags.Parse: %v", err) log.Fatalf("flags.Parse: %v", err)
os.Exit(1) os.Exit(1)
} else if len(args) > 0 {
log.Fatalf("Usage: no args")
os.Exit(1)
} }
var update = Update{ var update = Update{
@ -40,14 +40,20 @@ func main() {
timeout: options.Timeout, timeout: options.Timeout,
} }
if err := update.Init(options.Name, options.Zone, options.Server); err != nil { if err := update.Init(options.Args.Name, options.Zone, options.Server); err != nil {
log.Fatalf("init: %v", err) log.Fatalf("init: %v", err)
} }
if options.TSIGName != "" { if options.TSIGSecret != "" {
log.Printf("using TSIG: %v (algo=%v)", options.TSIGName, options.TSIGAlgorithm) var name = options.TSIGName
update.InitTSIG(options.TSIGName, options.TSIGSecret, options.TSIGAlgorithm) if name == "" {
name = options.Args.Name
}
log.Printf("using TSIG: %v (algo=%v)", name, options.TSIGAlgorithm)
update.InitTSIG(name, options.TSIGSecret, options.TSIGAlgorithm)
} }
// addrs // addrs