#!/bin/sh
#
# Since FreeBSD does not supply a user for running an MTA in a sandbox
# by default, use user 'exim', adding it if it does not exist.  Even
# if FreeBSD supplied an MTA user, it's neglected to do so for so long
# that every sandboxed MTA under the sun uses its own user, so user
# 'exim' should probably be used forever.
#
# Modern FreeBSD systems already have a group mail.
#
# $FreeBSD: ports/mail/exim/pkg-install,v 1.5 2002/09/12 10:08:58 sheldonh Exp $
#

PKG_PREFIX=${PKG_PREFIX:=/}
user=mail
group=mail

PW=/usr/sbin/pw

if [ "$2" = "PRE-INSTALL" ]; then
        if ! /usr/bin/grep -q "^${group}:" < /etc/group; then
                $PW groupadd ${group} -g 12
        fi

        if ! /usr/bin/id ${user} > /dev/null; then
                $PW useradd -g ${group} -n ${user} -u 12
        fi

        if ! /usr/bin/id ${user} > /dev/null; then
                echo "Exim requires user ${user}.  Please update your system." 1>&2
                exit 1
        fi
        if ! /usr/bin/grep -q "^${group}:" < /etc/group; then
                echo "Exim requires group ${group}.  Please update your system." 1>&2
                exit 1
        fi

        # This is naughty, since the directory we create won't be removed along
        # with Exim.  However, logfiles should probably stick around after Exim
        # is removed, until the administrator is sure he doesn't want them
        # any more.
        #

        mkdir -p /var/spool/exim
        mkdir -p /var/spool/exim/db
        mkdir -p /var/spool/exim/input
        mkdir -p /var/spool/exim/msglog
        chown -R ${user}:${group} /var/spool/exim
        chmod -R 0750 /var/spool/exim

        mkdir -p /var/log/exim
        chown ${user}:${group} /var/log/exim

        mkdir -p /etc/virtual
        chown ${user}:${group} /etc/virtual
        chmod 755 /etc/virtual

        mkdir -p /var/spool/virtual
        chown ${user}:${group} /var/spool/virtual
        chgrp 1777 /var/spool/virtual
        for i in blacklist_domains whitelist_from use_rbl_domains bad_sender_hosts blacklist_senders whitelist_domains whitelist_hosts whitelist_senders; do
                touch /etc/virtual/$i;
                chown mail:mail /etc/virtual/$i;
                chmod 644 /etc/virtual/$i;
        done
        mkdir -p /etc/virtual/usage
        chown mail:mail /etc/virtual/usage
        chmod 700 /etc/virtual/usage
        if [ ! -e /etc/virtual/limit ]; then
                echo "0" > /etc/virtual/limit
                chmod 644 /etc/virtual/limit
                chown mail:mail /etc/virtual/limit
        fi

fi

if [ "$2" = "POST-INSTALL" ]; then
        TCWD=`pwd`
        cd /usr/sbin
        ln -sf exim sendmail
        chmod u+s exim
        cd $TCWD

        /usr/bin/openssl req -x509 -newkey rsa:1024 -keyout /etc/exim.key -out /etc/exim.cert -days 9999 -nodes -config /etc/exim.cert_config

        #FILE=/usr/lib/libc.so.4
        #if [ ! -e $FILE ]; then
        #       ln -s libc.so.5 $FILE;
        #fi
fi

