From 6302769b83af75f267c76fe6f854d5b42b6b80f5 Mon Sep 17 00:00:00 2001 From: Florence Blanc-Renaud Date: Oct 21 2021 19:58:19 +0000 Subject: ipa-server-install uninstall: remove tdb files ipa-server-install uninstaller must remove samba *.tdb files in /var/lib/samba, /var/lib/samba/private and /var/lib/samba/lock. The current code calls rm on the relative path filename instead of building an absolute path filename, resulting in failure to remove the tdb files. Related: https://pagure.io/freeipa/issue/8687 Signed-off-by: Florence Blanc-Renaud Reviewed-By: Alexander Bokovoy --- diff --git a/ipaserver/install/adtrustinstance.py b/ipaserver/install/adtrustinstance.py index 24e90f3..e034fab 100644 --- a/ipaserver/install/adtrustinstance.py +++ b/ipaserver/install/adtrustinstance.py @@ -918,11 +918,18 @@ class ADTRUSTInstance(service.Service): ipautil.remove_file(self.smb_conf) # Remove samba's persistent and temporary tdb files - if os.path.isdir(paths.SAMBA_DIR): - tdb_files = [tdb_file for tdb_file in os.listdir(paths.SAMBA_DIR) - if tdb_file.endswith(".tdb")] - for tdb_file in tdb_files: - ipautil.remove_file(tdb_file) + # in /var/lib/samba and /var/lib/samba/private + for smbpath in (paths.SAMBA_DIR, + os.path.join(paths.SAMBA_DIR, "private"), + os.path.join(paths.SAMBA_DIR, "lock")): + if os.path.isdir(smbpath): + tdb_files = [ + os.path.join(smbpath, tdb_file) + for tdb_file in os.listdir(smbpath) + if tdb_file.endswith(".tdb") + ] + for tdb_file in tdb_files: + ipautil.remove_file(tdb_file) # Remove our keys from samba's keytab self.clean_samba_keytab() From 82eaa2eac454aed75a498d2c6ccd9e921f9c8a89 Mon Sep 17 00:00:00 2001 From: Florence Blanc-Renaud Date: Oct 21 2021 19:58:19 +0000 Subject: ipa-client-samba uninstall: remove tdb files ipa-client-samba uninstaller must remove samba *.tdb files in /var/lib/samba, /var/lib/samba/private and /var/lib/samba/lock. The current code calls rm on the relative path filename instead of building an absolute path filename, resulting in failure to remove the tdb files. Fixes: https://pagure.io/freeipa/issue/8687 Signed-off-by: Florence Blanc-Renaud Reviewed-By: Alexander Bokovoy --- diff --git a/ipaclient/install/ipa_client_samba.py b/ipaclient/install/ipa_client_samba.py index fd89e59..222ff31 100755 --- a/ipaclient/install/ipa_client_samba.py +++ b/ipaclient/install/ipa_client_samba.py @@ -446,13 +446,17 @@ def uninstall(fstore, statestore, options): fstore.restore_file(paths.SMB_CONF) # Remove samba's persistent and temporary tdb files - tdb_files = [ - tdb_file - for tdb_file in os.listdir(paths.SAMBA_DIR) - if tdb_file.endswith(".tdb") - ] - for tdb_file in tdb_files: - ipautil.remove_file(tdb_file) + # in /var/lib/samba and /var/lib/samba/private + for smbpath in (paths.SAMBA_DIR, + os.path.join(paths.SAMBA_DIR, "private"), + os.path.join(paths.SAMBA_DIR, "lock")): + tdb_files = [ + os.path.join(smbpath, tdb_file) + for tdb_file in os.listdir(smbpath) + if tdb_file.endswith(".tdb") + ] + for tdb_file in tdb_files: + ipautil.remove_file(tdb_file) # Remove our keys from samba's keytab if os.path.exists(paths.SAMBA_KEYTAB):