X-Git-Url: https://iankelling.org/git/?p=distro-setup;a=blobdiff_plain;f=mail-setup;h=2af69b27f7411710b2b2efce87bccbc7c528d575;hp=c062362c18b70409db760268fc74a0ef40ea167b;hb=ae54f4cd08815de501151c10083e74294609558a;hpb=c8f87d4173949b8d96c9c34e2d2c0730caeba0eb diff --git a/mail-setup b/mail-setup index c062362..2af69b2 100755 --- a/mail-setup +++ b/mail-setup @@ -474,6 +474,17 @@ systemctl enable mailcert.timer if [[ $HOSTNAME == $MAIL_HOST ]]; then + # mail.iankelling.org so local imap clients can connect with tls and + # when they happen to not be local. + sed -ri -f - /etc/hosts <<'EOF' +/^127\.0\.1\.1.* mail\.iankelling\.org\b/q +/^127\.0\.1\.1 /s/ *$/ mail.iankelling.org/ +EOF + /a/exe/cedit mail /etc/dnsmasq-servers.conf <<'EOF' || [[ $? == 1 ]] +server=/mail.iankelling.org/127.0.1.1 +EOF + systemctl reload dnsmasq + debconf-set-selections </dev/null ||: systemctl stop offlineimapsync.timer &>/dev/null ||: systemctl disable mailclean.timer &>/dev/null ||: @@ -918,12 +938,29 @@ fi dir=/nocow/exim4 sdir=/var/spool/exim4 # we only do this if our system has $dir -if [[ -e /nocow && $(readlink -f $sdir) != $dir ]]; then - systemctl stop exim4 - if [[ ! -e $dir && -d $sdir ]]; then - mv $sdir $dir + +# this used to do a symlink, but, in the boot logs, /nocow would get mounted succesfully, +# about 2 seconds later, exim starts, and immediately puts into paniclog: +# honVi-0000u3-82 Failed to create directory "/var/spool/exim4/input": No such file or directory +# so, im trying a bind mount to get rid of that. +if [[ -e /nocow ]]; then + if ! grep -Fx "/nocow/exim4 /var/spool/exim4 none bind 0 0" /etc/fstab; then + echo "/nocow/exim4 /var/spool/exim4 none bind 0 0" >> /etc/fstab + fi + if ! mountpoint -q $sdir; then + systemctl stop exim4 + if [[ -L $sdir ]]; then + rm $sdir + fi + if [[ ! -e $dir && -d $sdir ]]; then + mv $sdir $dir + fi + if [[ ! -d $sdir ]]; then + mkdir $sdir + chmod 000 $sdir # only want it to be used when its mounted + fi + mount $sdir fi - /a/exe/lnf -T $dir $sdir fi systemctl restart exim4