- local config_backup
-
- pkg base-files lt 4 && restore_config /etc/issue /etc/issue.net
- pkg bind9 lt 1:9.3.4 && restore_config /etc/bind/named.conf.options
- pkg libpam-modules lt 0.79 && restore_config /etc/security/limits.conf
- pkg login lt 1:4.0.18.1 && restore_config /etc/pam.d/login
- pkg mysql-server lt 5.0.3 && restore_config /etc/init.d/mysql \
- /etc/logrotate.d/mysql-server \
- /etc/mysql/my.cnf
- pkg ntp lt 1:4.2.2 && restore_config /etc/ntp.conf
- pkg ntpdate lt 1:4.2.2 && restore_config /etc/default/ntpdate
- pkg oidentd lt 2.0.8 && restore_config /etc/default/oidentd
- pkg postgrey lt 1.27 && restore_config /etc/default/postgrey \
- /etc/postgrey/whitelist_clients
- pkg procps lt 1:3.2.7 && restore_config /etc/sysctl.conf
- pkg sasl2-bin lt 2.1.22 && restore_config /etc/default/saslauthd
- pkg slapd lt 2.3.30 && restore_config /etc/default/slapd /etc/init.d/slapd
- pkg squirrelmail lt 2:1.4.9a && restore_config /etc/squirrelmail/apache.conf
- pkg vsftpd lt 2.0.5 && restore_config /etc/vsftpd.conf
- pkg xinetd lt 1:2.3.14 && restore_config /etc/xinetd.conf
-
- # orphaned config file - no owner
- if pkg logcheck-database lt 1.2.54; then
- rm -vf /etc/logcheck/ignore.d.server/imap
- fi
-
- # aide switched to ucf, move old configs aside
- if pkg aide lt 0.13.1; then
- for file in /etc/aide/aide.conf \
- /etc/cron.daily/aide \
- /etc/default/aide;
- do
- if [ ! -e "$file.$backup_ext" ]; then
- mv -v "$file" "$file.$backup_ext"
- fi
-
- rm -vf "$file"
- done
- fi
-
- # register cn changes in ucf managed files
- for config in /etc/apache/modules.conf \
- /etc/clamav/clamd.conf \
- /etc/clamav/freshclam.conf \
- /etc/php4/apache2/php.ini \
- /etc/php4/apache/php.ini \
- /etc/php4/cgi/php.ini \
- /etc/php4/cli/php.ini
- do
- config_backup=$config.$backup_ext
- if [ -e $config -a ! -e $config_backup ]; then
- log "Saving config file $config"
- cp -av $config $config_backup
- ucf $config_backup $config
- fi
- done
+ local hostname domain config_new memtotal memlimit
+
+ # restore simple configs
+ if pkg ntp-cn && pkg ntp lt 1:4.2.6.p2+dfsg-1+b1; then
+ if restore_file /etc/ntp.conf; then
+ postupgrade_reconfigure ntp-cn
+ fi
+ fi
+
+ if pkg kernel-2.6-cn && pkg procps lt 1:3.2.8-9; then
+ if restore_file /etc/sysctl.conf; then
+ postupgrade_reconfigure kernel-2.6-cn
+ fi
+ fi
+
+ if pkg kernel-2.6-cn && pkg libpam-modules lt 1.1.1-6.1; then
+ if restore_file /etc/security/limits.conf; then
+ postupgrade_reconfigure kernel-2.6-cn
+ fi
+ fi
+
+ if pkg vsftpd-cn && pkg vsftpd lt 2.3.2-3+squeeze2; then
+ if restore_file /etc/vsftpd.conf; then
+ postupgrade_reconfigure vsftpd-cn
+ fi
+ fi
+
+ if pkg squirrelmail-cn && pkg squirrelmail lt 2:1.4.21-2; then
+ if restore_file /etc/squirrelmail/apache.conf; then
+ postupgrade_reconfigure squirrelmail-cn
+ fi
+ fi
+
+ if pkg spamassassin-cn && pkg spamassassin lt 3.3.1-1; then
+ if restore_file /etc/spamassassin/v310.pre; then
+ postupgrade_reconfigure spamassassin-cn
+ fi
+ fi
+
+ if pkg amavisd-cn && pkg amavisd-new lt 1:2.6.4-3; then
+ if restore_file /etc/cron.daily/amavisd-new; then
+ rm -f /etc/cron.daily/amavisd-new.$backup_ext
+ postupgrade_reconfigure amavisd-cn
+ fi
+
+ if restore_file /etc/amavis/conf.d/15-av_scanners; then
+ rm -f /etc/amavis/conf.d/15-av_scanners.$backup_ext
+ postupgrade_reconfigure amavisd-cn
+ fi
+ fi
+
+ if pkg amavisd-cn lt 3:2.6.5; then
+ restore_file /etc/init.d/amavisd-cn
+ rm -f /etc/init.d/amavisd-cn.$backup_ext
+ fi
+
+ if pkg console-tools lt 1:0.2.3dbs-69.1; then
+ restore_file /etc/console-tools/config
+ fi
+
+ if pkg base-files lt 6.0squeeze2; then
+ restore_file /etc/issue
+ restore_file /etc/issue.net
+ fi
+
+ if pkg slapd lt 2.4.23-7.2; then
+ restore_file /etc/default/slapd
+ fi
+
+ # dovecot won't start with these options
+ if pkg dovecot-cn && pkg dovecot-common lt 1:1.2.15-7; then
+ sed -i 's/^\( *\)\(sieve\(_storage\)\?=.*\)/\1#\2/' \
+ /etc/dovecot/dovecot.conf
+ fi
+
+ # check if monitrc is template based
+ if [ -e /etc/monit/monitrc ]; then # monit is removed at this point
+ # regenerate config from template
+ hostname=$(hostname)
+ domain=$(hostname --domain)
+ config_new=$(copy_template /etc/monit/monitrc)
+ check_and_sed "@localhost" \
+ "s/@localhost/@$hostname.$domain/g" $config_new || true
+ restore_file /etc/monit/monitrc $config_new
+ rm -f $config_new
+ fi