X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=src%2Ffunctions.sh;h=b29e43e835486f8785a4242aefa761cd989ba071;hb=339278c5131eeac5a734c0d3407d4a0aae5c672b;hp=cbb8be289eac85d556410dfb209bded618917407;hpb=4079aceafdc0196fde97eb596c151d19acc8d9e0;p=carnet-upgrade.git diff --git a/src/functions.sh b/src/functions.sh index cbb8be2..b29e43e 100644 --- a/src/functions.sh +++ b/src/functions.sh @@ -1039,7 +1039,7 @@ upgrade_amavis () { # handle freerdius config files upgrade upgrade_freeradius () { - local template config_new password realm + local template config_new password realm hostname basedn pkg freeradius-aai lt 2.1.3-0lenny0 || return 0 @@ -1047,10 +1047,24 @@ upgrade_freeradius () { restore_config freeradius-aai freeradius 2.1.3-0lenny0 \ /etc/freeradius/clients.conf \ /etc/freeradius/hints \ - /etc/freeradius/ldap.attrmap \ - /etc/freeradius/radiusd.conf + /etc/freeradius/ldap.attrmap # handle template based configs + template=/usr/share/carnet-upgrade/files/etc/freeradius/radiusd.conf.template + config_new=$(mktemp /var/lib/carnet-upgrade/radiusd.conf.XXXXXX) + basedn=$(sed -n '/^[[:space:]]*suffix[[:space:]]*/ { + s///; s/"//g; p; q }' /etc/ldap/slapd.conf) + hostname=$(hostname -f) + cp $template $config_new + sed -i "s/#HOSTNAME#/$hostname/" $config_new + sed -i "s/#BASEDN#/$basedn/" $config_new + if cmp -s $config_new /etc/freeradius/radiusd.conf >/dev/null; then + log "Restoring config file /etc/freeradius/radiusd.conf" + cp -v /usr/share/carnet-upgrade/files/etc/freeradius/radiusd.conf.restore \ + /etc/freeradius/radiusd.conf + fi + rm -f $config_new + template=/usr/share/carnet-upgrade/files/etc/freeradius/eap.conf.template config_new=$(mktemp /var/lib/carnet-upgrade/eap.conf.XXXXXX) password=$(grep -s '^[[:space:]]*private_key_password[[:space:]]*=' \