reconfig-smtpd (938B)
1 #!/bin/rc -ex 2 3 # This script reconfigures and reloads smtpd to use the provided info. 4 5 mdir = /etc/mail 6 ddir = $mdir/dkim 7 conf = $mdir/smtpd.conf 8 duser = _dkimsign 9 rsapriv = $1 10 edpriv = $2 11 domain = $3 12 selector = `$nl{basename $rsapriv | sed 's/\..*//'} 13 telltale = '#added by reconfig-smtpd' 14 15 fn err { 16 echo $* >[1=2] 17 } 18 19 if (test $#* -gt 3 || test $#* -lt 2) { 20 err 'usage: reconfig-smtpd <rsakey> <ed25519key> [domain]' 21 exit 2 22 } 23 24 if (~ $domain ()) { 25 domain = `hostname 26 } 27 28 doas sed -ibkp '/' ^ $telltale ^ '/d' $conf 29 30 31 { 32 printf 'filter dkimsign_rsa proc-exec "filter-dkimsign -d %s -s %s -k %s" user %s group %s %s\n' \ 33 $domain $selector $rsapriv $duser $duser $telltale 34 printf 'filter dkimsign_ed25519 proc-exec "filter-dkimsign -a ed25519-sha256 -d %s -s %s -k %s" user %s group %s %s\n' \ 35 $domain ed$selector $edpriv $duser $duser $telltale 36 cat $conf 37 } | doas tee $conf >/dev/null 38 39 doas rcctl restart smtpd