#!/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 [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