X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=src%2Ffunctions.sh;h=b1718c48a4eb393067f46f73735bc8e398e7d543;hb=4c2c39354418f98a029d6142525042e73a506484;hp=5ec3d817ab2d13083058e6262b8eb81165d0cf7e;hpb=62570336ff4a368ae1b9de58f08d94a0da99f14c;p=carnet-upgrade.git diff --git a/src/functions.sh b/src/functions.sh index 5ec3d81..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 } @@ -1240,15 +1204,22 @@ comment_force_overwrite () { fi } +# try not to overwrite user modified issue files fix_issue () { - cat > /etc/issue </dev/null; then + cp -av /etc/issue /etc/issue.$backup_ext + cat > /etc/issue < /etc/issue.net </dev/null; then + cp -av /etc/issue.net /etc/issue.net.$backup_ext + cat > /etc/issue.net <