diff options
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/resolver/doc.go | 1 | ||||
| -rw-r--r-- | cmd/resolver/resolver.go | 30 |
2 files changed, 22 insertions, 9 deletions
diff --git a/cmd/resolver/doc.go b/cmd/resolver/doc.go index d24b331..03222c0 100644 --- a/cmd/resolver/doc.go +++ b/cmd/resolver/doc.go @@ -67,6 +67,7 @@ Query the DNS server, Managing block.d files, + block.d # List all hosts in block.d. block.d disable <name> block.d enable <name> block.d update <name> diff --git a/cmd/resolver/resolver.go b/cmd/resolver/resolver.go index b22bee1..977b391 100644 --- a/cmd/resolver/resolver.go +++ b/cmd/resolver/resolver.go @@ -47,22 +47,34 @@ type resolver struct { } func (rsol *resolver) doCmdBlockd(args []string) { - if len(args) == 0 { - log.Fatalf("resolver: %s: missing sub command", rsol.cmd) - } - var ( resc = rsol.newRescachedClient() - hb interface{} - hbjson []byte - subCmd string - err error + hostBlockd map[string]*rescached.Blockd + hb interface{} + hbjson []byte + subCmd string + err error ) - subCmd = strings.ToLower(args[0]) + if len(args) > 0 { + subCmd = strings.ToLower(args[0]) + } switch subCmd { + case "": + hostBlockd, err = resc.Blockd() + if err != nil { + log.Fatalf("resolver: %s: %s", rsol.cmd, err) + } + + hbjson, err = json.MarshalIndent(hostBlockd, "", " ") + if err != nil { + log.Fatalf("resolver: %s: %s", rsol.cmd, err) + } + + fmt.Println(string(hbjson)) + case subCmdDisable: args = args[1:] if len(args) == 0 { |
