diff options
Diffstat (limited to 'dns')
| -rwxr-xr-x | dns/zone/edit | 25 | ||||
| -rwxr-xr-x | dns/zone/reload | 6 |
2 files changed, 31 insertions, 0 deletions
diff --git a/dns/zone/edit b/dns/zone/edit new file mode 100755 index 0000000..2f31acb --- /dev/null +++ b/dns/zone/edit @@ -0,0 +1,25 @@ +#!/bin/rc + +zone = $1 + +fn die { + echo $* >[1=2] + exit 1 +} + +fn try { + test -f $1 && doas $EDITOR $1 && exec dns/zone/reload $zone $1 +} + +if (! test $#* -lt 2) { + die 'usage: dns/edit <zone>' +} + +if (~ $zone ()) { + zone = `hostname +} + +try /var/nsd/zones/master/$zone +try /var/nsd/zones/master/$zone.zone + +die could not guess zone file diff --git a/dns/zone/reload b/dns/zone/reload new file mode 100755 index 0000000..bef6a0a --- /dev/null +++ b/dns/zone/reload @@ -0,0 +1,6 @@ +#!/bin/rc + +zone = $1 +zonefile = $2 + +doas nsd-checkzone $zone $zonefile && doas nsd-control reload $zone |