summaryrefslogtreecommitdiff
path: root/dkim/rmcert
blob: b5d2b67205053616016d12a1ea67fb538deacae1 (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
51
#!/bin/rc

# This script removes a DKIM keypair generated by dkim/mkcert

dir      = /etc/mail/dkim
user     = _dkimsign
selector = $1
privkey  = $dir/$selector.priv.key
pubkey   = $dir/$selector.pub.key
txt      = $dir/$selector.txt

fn err {
	echo $* >[1=2]
}

fn as {
	doas -u $user $*
}

fn removeif-e {
	if (as test -e $1) {
		if (as rm $1) {
			removed = ($removed $1)
		} else {
			failed = ($failed $1)
		}
	}
}

if (!~ $#* 1) {
	echo 'usage: mkcert <selector>'
	exit 2
}

removeif-e $privkey
removeif-e $pubkey
removeif-e $txt

if (~ $removed () && ~ $failed ()) {
	err no such selector: $selector
	exit 1
}

if (!~ $removed ()) {
	err removed: $removed
}

if (!~ $failed ()) {
	err failed to remove: $failed
	exit 1
}