Purge and reinstall freeradius as reqired by AAI package.
[carnet-upgrade.git] / src / functions.sh
index 9040822..b1718c4 100644 (file)
@@ -1066,51 +1066,15 @@ upgrade_amavis () {
   /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
 }