From c2593d57c4e90d519f1e34fdbadc4c9be66aec1a Mon Sep 17 00:00:00 2001 From: Rob Crittenden Date: Oct 21 2015 15:30:47 +0000 Subject: Don't assume cache_dir is set in conf during uninstall The code was unconditionally retrieving a value from ipsilon.conf and replacing strings in it. This would fail if the config file didn't exist, there was no global section or if cache_dir wasn't there. Signed-off-by: Rob Crittenden https://fedorahosted.org/ipsilon/ticket/186 --- diff --git a/ipsilon/install/ipsilon-server-install b/ipsilon/install/ipsilon-server-install index bf086f9..7837527 100755 --- a/ipsilon/install/ipsilon-server-install +++ b/ipsilon/install/ipsilon-server-install @@ -243,9 +243,14 @@ def uninstall(plugins, args): 'ipsilon-%s.conf' % args['instance']) data_dir = os.path.join(DATADIR, args['instance']) - tconf = ConfigParser.SafeConfigParser() - tconf.read(os.path.join(instance_conf, 'ipsilon.conf')) - cache_dir = tconf.get('global', 'cache_dir').replace('"', '') + try: + tconf = ConfigParser.SafeConfigParser() + tconf.read(os.path.join(instance_conf, 'ipsilon.conf')) + cache_dir = tconf.get('global', 'cache_dir') + except (ConfigParser.NoOptionError, ConfigParser.NoSectionError): + cache_dir = None + else: + cache_dir = cache_dir.replace('"', '') if not os.path.exists(instance_conf): raise Exception('Could not find instance %s configuration'