aboutsummaryrefslogtreecommitdiff
path: root/cmd/resolver
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/resolver')
-rw-r--r--cmd/resolver/doc.go1
-rw-r--r--cmd/resolver/resolver.go30
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 {