diff options
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/resolver/resolver.go | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/cmd/resolver/resolver.go b/cmd/resolver/resolver.go index 36175a1..deb787f 100644 --- a/cmd/resolver/resolver.go +++ b/cmd/resolver/resolver.go @@ -470,17 +470,31 @@ func (rsol *resolver) doCmdQuery(args []string) { } func (rsol *resolver) doCmdZoned(args []string) { - if len(args) == 0 { - log.Fatalf("resolver: %s: missing argument", rsol.cmd) - } - var ( - subCmd = strings.ToLower(args[0]) - resc = rsol.newRescachedClient() + resc = rsol.newRescachedClient() - err error + zone *dns.Zone + zones map[string]*dns.Zone + zoneName string + subCmd string + err error ) + if len(args) == 0 { + zones, err = resc.Zoned() + if err != nil { + log.Fatalf("resolver: %s: %s", rsol.cmd, err) + } + + for zoneName, zone = range zones { + fmt.Println(zoneName) + fmt.Printf(" SOA: %+v\n", zone.SOA) + } + return + } + + subCmd = strings.ToLower(args[0]) + switch subCmd { case subCmdCreate: args = args[1:] |
