#! /bin/sh
set -e
update_fs_from_statoverride() {
# I wish a simple dpkg-statoverride --update $file just did
# the right thing, but it doesn't, so we have to do it manually.
type=$1
user=$2
group=$3
mode=$4
file=$5
if [ -n "$type" -a -n "$group" -a -n "$mode" -a -n "$file" ]; then
if [ "$(find $file -maxdepth 0 -type $type -group $group -perm $mode)" = "" -a -$type $file ]; then
chgrp $group $file
chmod $mode $file
fi
fi
}
case "$1" in
configure)
for file in /etc/freeradius/sql/postgresql/cisco_h323_db_schema.sql \
/etc/freeradius/sql/postgresql/counter.conf \
/etc/freeradius/sql/postgresql/dialup.conf \
/etc/freeradius/sql/postgresql/ippool.conf \
/etc/freeradius/sql/postgresql/ippool.sql \
/etc/freeradius/sql/postgresql/nas.sql \
/etc/freeradius/sql/postgresql/schema.sql \
/etc/freeradius/sql/postgresql/update_radacct_group_trigger.sql \
/etc/freeradius/sql/postgresql/voip-postpaid.conf
do
set +e
so=$(dpkg-statoverride --list $file)
ret=$?
set -e
if [ -z "$2" ]; then
if [ $ret != 0 ]; then
dpkg-statoverride --add --update root freerad 0640 $file
fi
else
update_fs_from_statoverride f $so
fi
done
for dir in /etc/freeradius/sql \
/etc/freeradius/sql/postgresql
do
set +e
so=$(dpkg-statoverride --list $dir)
ret=$?
set -e
if [ -z "$2" ]; then
if [ $ret != 0 ]; then
dpkg-statoverride --add --update root freerad 2751 $dir
fi
else
update_fs_from_statoverride d $so
fi
done
if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
invoke-rc.d freeradius force-reload
else
/etc/init.d/freeradius force-reload
fi
;;
esac
#DEBHELPER#
exit 0