aboutsummaryrefslogtreecommitdiff
path: root/cmd/resolver
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/resolver')
-rw-r--r--cmd/resolver/main.go15
-rw-r--r--cmd/resolver/resolver.go18
2 files changed, 33 insertions, 0 deletions
diff --git a/cmd/resolver/main.go b/cmd/resolver/main.go
index 2c40b90..fac894c 100644
--- a/cmd/resolver/main.go
+++ b/cmd/resolver/main.go
@@ -206,6 +206,10 @@ hosts.d rr add <name> <domain> <value>
If the domain name already exists, the new record will be appended
instead of replaced.
+hosts.d rr delete <name> <domain>
+
+ Delete record from hosts file "name" by domain name.
+
== Examples
@@ -299,5 +303,16 @@ Add new record "127.0.0.1 my.hosts" to hosts file named "hosts",
"Type": 1,
"Class": 1,
"TTL": 604800
+ }
+
+Delete record "my.hosts" from hosts file "hosts",
+
+ $ resolver hosts.d rr delete hosts my.hosts
+ {
+ "Value": "127.0.0.1",
+ "Name": "my.hosts",
+ "Type": 1,
+ "Class": 1,
+ "TTL": 604800
}`)
}
diff --git a/cmd/resolver/resolver.go b/cmd/resolver/resolver.go
index 62ce953..792f8d9 100644
--- a/cmd/resolver/resolver.go
+++ b/cmd/resolver/resolver.go
@@ -362,6 +362,24 @@ func (rsol *resolver) doCmdHostsdRecord(args []string) {
fmt.Println(string(jsonb))
case subCmdDelete:
+ args = args[1:]
+ if len(args) <= 1 {
+ log.Fatalf("resolver: %s %s: missing arguments", rsol.cmd, subCmd)
+ }
+
+ resc = rsol.newRescachedClient()
+ record, err = resc.HostsdRecordDelete(args[0], args[1])
+ if err != nil {
+ log.Fatalf("resolver: %s", err)
+ }
+
+ jsonb, err = json.MarshalIndent(record, "", " ")
+ if err != nil {
+ log.Fatalf("resolver: %s", err)
+ }
+
+ fmt.Println(string(jsonb))
+
default:
log.Fatalf("resolver: %s %s: unknown command %s", rsol.cmd, subCmdRR, subCmd)
}