src.hhvn.uk > hhvn.uk-scripts > file > dkim > reconfig-smtpd

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

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