/etc/init.d/amavis restart
}
-# handle freerdius config files upgrade
+# handle freerdius upgrade
upgrade_freeradius () {
local template config_new password realm hostname basedn
pkg freeradius-aai lt 2.1.3-0lenny0 || return 0
- # handle static configs
- restore_file /etc/freeradius/clients.conf
- restore_file /etc/freeradius/hints
- restore_file /etc/freeradius/ldap.attrmap
-
- # handle template based configs
- basedn=$(sed -n '/^[[:space:]]*suffix[[:space:]]*/ {
- s///; s/"//g; p; q }' /etc/ldap/slapd.conf)
- hostname=$(hostname -f)
- config_new=$(copy_template /etc/freeradius/radiusd.conf)
- sed -i "s/#HOSTNAME#/$hostname/" $config_new
- sed -i "s/#BASEDN#/$basedn/" $config_new
- restore_file /etc/freeradius/radiusd.conf $config_new
- rm -f $config_new
-
- password=$(grep -s '^[[:space:]]*private_key_password[[:space:]]*=' \
- /etc/freeradius/eap.conf)
- config_new=$(copy_template /etc/freeradius/eap.conf)
- sed -i "s/.*#PASSWORD#.*/$password/" $config_new
- restore_file /etc/freeradius/eap.conf $config_new
- rm -f $config_new
-
- realm=$(sed -n '/^[[:space:]]*suffix[[:space:]]*/ {
- s///; s/"//g; s/,dc=/./g; s/dc=//; s/.hr$//; p; q }' /etc/ldap/slapd.conf)
- config_new=$(copy_template /etc/freeradius/proxy.conf)
- sed -i "s/#REALM#/$realm/" $config_new
- restore_file /etc/freeradius/proxy.conf $config_new
- rm -f $config_new
-
- # install the new packages
- if ! apt-get -y install freeradius; then
- # freeradius upgrade fails here, try to fix it by creating certificates
- [ -x /etc/freeradius/certs/bootstrap ] && /etc/freeradius/certs/bootstrap
-
- dpkg --configure -a
- apt-get -y -f install
- fi
-
- # finally try to cleanup this mess
+ # aai team prevents a clean lenny upgrade
+ cp -av /etc/freeradius /etc/freeradius.$backup_ext
+ pkgrm freeradius-aai freeradius-ldap freeradius
pkgadd freeradius-aai
}
fi
}
+# upgrade bind separately so DNS is not down for too long
+# or breaks postinst scripts of other cn packages that depend on
+# working resolver
+upgrade_bind() {
+ pkgadd bind9-cn
+}
+
get_variable () {
local name=$1 file=$2 val