Synced with upstream debian
[freeradius.git] / debian / freeradius.postinst
1 #! /bin/sh
2
3 set -e
4
5 case "$1" in
6   configure)
7         if [ -z "$2" ]; then
8           # Changed in 1.1.5-1 for new installs (we used to start at S50
9           # and stop at K50)  We now start at S50 and stop at K19 so we
10           # start after services which may be used and stop before them.
11           update-rc.d freeradius start 50 2 3 4 5 . stop 19 0 1 6 . >/dev/null
12
13           # Set up initial permissions on all the freeradius directories
14
15           if ! dpkg-statoverride --list | grep -q /var/run/freeradius$; then
16             dpkg-statoverride --add --update freerad freerad 0755 /var/run/freeradius
17           fi
18
19           if ! dpkg-statoverride --list | grep -q /var/log/freeradius$; then
20             dpkg-statoverride --add --update freerad freerad 0750 /var/log/freeradius
21           fi
22
23           for file in radius.log radwtmp; do
24             [ ! -f "/var/log/freeradius/${file}" ] && install -o freerad -g freerad -m 644 /dev/null /var/log/freeradius/${file}
25           done
26
27           for file in /etc/freeradius/preproxy_users \
28             /etc/freeradius/policy.conf \
29             /etc/freeradius/eap.conf \
30             /etc/freeradius/experimental.conf \
31             /etc/freeradius/huntgroups \
32             /etc/freeradius/proxy.conf \
33             /etc/freeradius/attrs.pre-proxy \
34             /etc/freeradius/hints \
35             /etc/freeradius/sql.conf \
36             /etc/freeradius/ldap.attrmap \
37             /etc/freeradius/attrs \
38             /etc/freeradius/policy.txt \
39             /etc/freeradius/attrs.accounting_response \
40             /etc/freeradius/attrs.access_reject \
41             /etc/freeradius/clients.conf \
42             /etc/freeradius/acct_users
43           do
44             if ! dpkg-statoverride --list | grep -qw $file$; then
45               dpkg-statoverride --add --update root freerad 0640 $file
46             fi
47           done
48
49           for dir in /etc/freeradius/certs/ \
50             /etc/freeradius/sites-available/ \
51             /etc/freeradius/sites-enabled/
52           do
53             if ! dpkg-statoverride --list | grep -qw $dir$; then
54               dpkg-statoverride --add --update freerad freerad 2751 $dir
55             fi
56           done
57
58           action="start"
59         else
60           action="restart"
61         fi
62
63         # Create links for default sites, but only if this is an initial
64         # install or an upgrade from before there were links; users may
65         # want to remove them...
66         if [ -z "$2" ] || dpkg --compare-versions "$2" lt 2.0.4+dfsg-4; then
67           for site in default inner-tunnel; do
68             if [ ! -e /etc/freeradius/sites-enabled/$site ]; then
69               ln -s ../sites-available/$site /etc/freeradius/sites-enabled/$site
70             fi
71           done
72         fi
73
74         if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
75           invoke-rc.d freeradius $action || true
76         else
77           /etc/init.d/freeradius $action
78         fi
79         ;;
80   abort-upgrade)
81         if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
82           invoke-rc.d freeradius restart || true
83         else
84           /etc/init.d/freeradius restart
85         fi
86         ;;
87   abort-remove)
88         if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
89           invoke-rc.d freeradius start || true
90         else
91           /etc/init.d/freeradius start
92         fi
93         ;;
94   abort-deconfigure)
95         ;;
96 esac
97
98 #DEBHELPER#
99
100 exit 0