src.hhvn.uk > hhvn.uk-scripts > commit > 5013f322b444e653b5c403d3985407569aacc613

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

commit 5013f322b444e653b5c403d3985407569aacc613
parent e5772ae9f939ce73e9fedd295248f46b1190ac33
Author: Hayden Hamilton <hayden@hhvn.uk>
Date:   Sun, 24 May 2026 22:26:46 +0100

Create dkim/reconfig-smtpd

Diffstat:
Adkim/reconfig-smtpd | 39+++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+), 0 deletions(-)

diff --git a/dkim/reconfig-smtpd b/dkim/reconfig-smtpd @@ -0,0 +1,39 @@ +#!/bin/rc -e + +# This script reconfigures and reloads smtpd to use the provided info. + +mdir = /etc/mail +ddir = $mdir/dkim +conf = $mdir/smtpd.conf +duser = _dkimsign +rsapriv = $1 +edpriv = $2 +domain = $3 +selector = `$nl{basename $rsapriv | sed 's/\..*//'} +telltale = '#added by reconfig-smtpd' + +fn err { + echo $* >[1=2] +} + +if (~ $#* 2 || ~ $#* 3) { } else { + err 'usage: reconfig-smtpd <rsakey> <ed25519key> [domain]' + exit 2 +} + +if (~ $domain ()) { + domain = `hostname +} + +doas sed -ibkp '/' ^ $telltale ^ '/d' $conf + + +{ + printf 'filter dkimsign_rsa proc-exec "filter-dkimsign -d %s -s %s -k %s" user %s group %s %s\n' \ + $domain $selector $rsapriv $duser $duser $telltale + printf 'filter dkimsign_ed25519 proc-exec "filter-dkimsign -a ed25519-sha256 -d %s -s %s -k %s" user %s group %s %s\n' \ + $domain $selector $edpriv $duser $duser $telltale + cat $conf +} | doas tee $conf >/dev/null + +doas rcctl restart smtpd