1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
#! /bin/sh
set -e
if [ "$1" = "configure" ]; then
if dpkg --compare-versions -- "$2" le "0.4.6-1"; then
echo "Upgrading from old onak.conf version"
if [ -e /etc/onak.conf.dpkg-backup -a ! -e /etc/onak.conf ]; then
echo "Migrating onak.conf to onak.ini"
# Old config file was modified; generate a new style
# file. onak will use the file extension to determine it's
# an old style config, so we need the symlink.
ln -s /etc/onak.conf.dpkg-backup /etc/onak.conf
onak -c /etc/onak.conf dumpconfig /etc/onak.ini
rm /etc/onak.conf
fi
fi
# Add the onak user
adduser --system --home /var/lib/onak --no-create-home --disabled-login onak
# Take ownership of the database and spool directory
chown onak /var/lib/onak
chown onak /var/spool/onak
# Create our logfile
touch /var/log/onak.log
chown onak /var/log/onak.log
#
# If we're using a default config and there's no onak database, create it
# by adding my key.
#
if grep -q "^backend=defaultdb4" /etc/onak.ini &&
grep -q "^location=/var/lib/onak" /etc/onak.ini &&
[ ! -e /var/lib/onak/num_keydb -a \
-e /usr/share/doc/onak/noodles.key.gz ]; then
zcat /usr/share/doc/onak/noodles.key | runuser -u onak -- onak -b add
fi
# Make the CGI tools setuid onak
for i in /usr/lib/cgi-bin/pks/*
do
if ! dpkg-statoverride --list $i >/dev/null
then
dpkg-statoverride --update --add onak root 4755 $i
fi
done
fi
#DEBHELPER#
#
# With the move to systemd this will force systemd to start keyd even if it's
# disabled in the onak config file; the systemd service file can't check the
# way the init script does. Work around this by doing the check here and
# only calling invoke-rc.d if it's actually enabled.
#
if grep -q -E '^use_keyd=*(true|yes|1)$' /etc/onak.ini; then
invoke-rc.d onak start || exit $?
fi
|