From 9f8398ce98f45f80944de3850e23aeda1a8fc32e Mon Sep 17 00:00:00 2001 From: Noriko Hosoi Date: Apr 25 2016 21:02:38 +0000 Subject: Ticket #48409 - RHDS upgrade change Ownership of certificate files upon upgrade. Description: The fix for the ticket #47891 "Admin Server reconfig breaks SSL config" backs up the SSL key/cert db files before the upgrade and restores them when the upgrade is done. In the backup, "copy" is used, which does not keep the ownership and mode of the files. This patch uses move instead of copy to preserve them. https://fedorahosted.org/389/ticket/48409 Reviewed by mreynolds@redhat.com (Thank you, Mark!!) --- diff --git a/admserv/newinst/src/AdminServer.pm.in b/admserv/newinst/src/AdminServer.pm.in index eb80d19..3e31e70 100644 --- a/admserv/newinst/src/AdminServer.pm.in +++ b/admserv/newinst/src/AdminServer.pm.in @@ -530,7 +530,8 @@ sub reconfig_backup_secfiles } foreach my $savefile (@reconfigsavefiles) { if ( -e "$configdir/$savefile"){ - copy ("$configdir/$savefile", "$secfile_backup_dir/$savefile"); + # To keep the ownership and modes, use move for backup. + move ("$configdir/$savefile", "$secfile_backup_dir/$savefile"); debug(1, "Backing up $configdir/$savefile to $secfile_backup_dir/$savefile\n"); if (! -e "$secfile_backup_dir/$savefile"){ debug(0, "Backup file $secfile_backup_dir/$savefile not found, error $!\n"); @@ -590,6 +591,12 @@ sub createAdminServer { if ($reconfig) { $setup->msg('begin_reconfig_adminserver'); if (!reconfig_backup_secfiles($configdir)) { + foreach my $savefile (@reconfigsavefiles) { + if (-e "$secfile_backup_dir/$savefile") { + move ("$secfile_backup_dir/$savefile" ,"$configdir/$savefile"); + debug(1, "Restoring $configdir/$savefile with $secfile_backup_dir/$savefile\n"); + } + } return 0; } } else {