From 4a95a50596fb86ce9de82b2c2a0517d3aa341950 Mon Sep 17 00:00:00 2001 From: Tomas Babej Date: Wed, 9 Oct 2013 12:23:18 +0200 Subject: ipa-upgradeconfig: Remove backed up smb.conf Since we are not able to properly restore the Samba server to the working state after running ipa-adtrust-install, we should not keep the smb.conf in the fstore. This patch makes sure that any backed up smb.conf is removed from the backup and that this file is not backed up anymore. Part of: https://fedorahosted.org/freeipa/ticket/3479 --- install/tools/ipa-upgradeconfig | 14 ++++++++++++++ ipaserver/install/adtrustinstance.py | 15 ++++++--------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/install/tools/ipa-upgradeconfig b/install/tools/ipa-upgradeconfig index 1edc4c7b..2ee59832 100644 --- a/install/tools/ipa-upgradeconfig +++ b/install/tools/ipa-upgradeconfig @@ -291,6 +291,19 @@ def cleanup_kdc(fstore): fstore.untrack_file(filename) root_logger.debug('Uninstalling %s', filename) +def cleanup_adtrust(fstore): + """ + Clean up any old Samba backup files that were deprecated. + """ + + root_logger.info('[Checking for deprecated backups of Samba ' + 'configuration files]') + + for backed_up_file in ['/etc/samba/smb.conf']: + if fstore.has_file(backed_up_file): + fstore.untrack_file(backed_up_file) + root_logger.debug('Removing %s from backup', backed_up_file) + def setup_firefox_extension(fstore): """Set up the Firefox configuration extension, if it's not set up yet @@ -1061,6 +1074,7 @@ def main(): pass cleanup_kdc(fstore) + cleanup_adtrust(fstore) setup_firefox_extension(fstore) add_ca_dns_records() diff --git a/ipaserver/install/adtrustinstance.py b/ipaserver/install/adtrustinstance.py index b3046386..140c8d76 100644 --- a/ipaserver/install/adtrustinstance.py +++ b/ipaserver/install/adtrustinstance.py @@ -365,8 +365,6 @@ class ADTRUSTInstance(service.Service): self.admin_conn.add_entry(entry) def __write_smb_conf(self): - self.fstore.backup_file(self.smb_conf) - conf_fd = open(self.smb_conf, "w") conf_fd.write('### Added by IPA Installer ###\n') conf_fd.write('[global]\n') @@ -863,18 +861,17 @@ class ADTRUSTInstance(service.Service): except: pass - for r_file in [self.smb_conf]: - try: - self.fstore.restore_file(r_file) - except ValueError, error: - root_logger.debug(error) - pass + # Since we do not guarantee restoring back to working samba state, + # we should not restore smb.conf + + # Restore the state of affected selinux booleans for var in self.selinux_booleans: sebool_state = self.restore_state(var) if not sebool_state is None: try: - ipautil.run(["/usr/sbin/setsebool", "-P", var, sebool_state]) + ipautil.run(["/usr/sbin/setsebool", + "-P", var, sebool_state]) except: self.print_msg(SELINUX_WARNING % dict(var=var)) -- cgit