X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=src%2Ffunctions.sh;h=b1718c48a4eb393067f46f73735bc8e398e7d543;hb=4c2c39354418f98a029d6142525042e73a506484;hp=904082263f89cf92cff4b061a67f35a4247bf661;hpb=8ca348a924a2c02487dc34ca16376d29ded5029d;p=carnet-upgrade.git diff --git a/src/functions.sh b/src/functions.sh index 9040822..b1718c4 100644 --- a/src/functions.sh +++ b/src/functions.sh @@ -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 }