diff options
Diffstat (limited to 'cmd/resolver')
| -rw-r--r-- | cmd/resolver/main.go | 15 | ||||
| -rw-r--r-- | cmd/resolver/resolver.go | 18 |
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) } |
