blob: 6fa0f6d7e2bdae5a116fc659b5a974e8eee072bd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
#!/bin/rc -e
user = _nsd
rsatxt = $1
edtxt = $2
selector = $3
domain = $4
zonefile = $5
telltale = '; generated by dkim reconfig-dns'
fn err {
echo $* >[1=2]
}
fn as {
doas -u $user $*
}
fn record {
printf '%s._domainkey\tIN TXT "%s" %s\n' \
$selector `$nl{cat $1} $telltale
}
if (test $#* -gt 5 || test $#* -lt 3) {
err 'usage: reconfig-dns <record 1> <record 2> <selector> [domain] [zonefile]'
exit 2
}
if (~ $domain ()) {
domain = `hostname
}
if (~ $zonefile ()) {
zonefile = /var/nsd/zones/master/ ^ $domain
}
as sed -ibkp '/' ^ $telltale ^ '/d' $zonefile
{
cat $zonefile
record $rsatxt
record $edtxt
} | as tee $zonefile >/dev/null
if (!nsd-checkzone $domain $zonefile) {
err zone invalid, please manually check $zonefile
exit 3
}
doas nsd-control reload hhvn.uk
|