src.hhvn.uk > hhvn.uk-scripts > commit > 315fb2e8e36e973f547ec6a5a2883569f12193c5

scripts that power hhvn.uk
Log | Files | Refs | README

commit 315fb2e8e36e973f547ec6a5a2883569f12193c5
parent e78a391eeac939c32c99edead06a845300a1ceb0
Author: Hayden Hamilton <hayden@hhvn.uk>
Date:   Sun, 24 May 2026 21:04:39 +0100

Add dkim/rmcert to remove generated certificates

Diffstat:
Adkim/rmcert | 51+++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+), 0 deletions(-)

diff --git a/dkim/rmcert b/dkim/rmcert @@ -0,0 +1,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 +}