CONFDIR = '/etc/ipsilon'
DATADIR = '/var/lib/ipsilon'
HTTPDCONFD = '/etc/httpd/conf.d'
-BINDIR = '/usr/sbin'
+BINDIR = '/usr/libexec'
STATICDIR = '/usr/share/ipsilon'
WSGI_SOCKET_PREFIX = None
logger.info('Configuring login managers')
for plugin_name in args['lm_order']:
- plugin = plugins['Login Managers'][plugin_name]
+ try:
+ plugin = plugins['Login Managers'][plugin_name]
+ except KeyError:
+ sys.exit('Login provider %s not installed' % plugin_name)
if plugin.configure(args) == False:
print 'Configuration of login manager %s failed' % plugin_name
print 'Removal of environment helper %s failed' % plugin_name
logger.info('Removing login managers')
- for plugin_name in args['lm_order']:
+ for plugin_name in plugins['Login Managers']:
plugin = plugins['Login Managers'][plugin_name]
if plugin.unconfigure(args) == False:
print 'Removal of login manager %s failed' % plugin_name
parser.add_argument('--secure', choices=['yes', 'no'], default='yes',
help="Turn on all security checks")
parser.add_argument('--config-profile', default=None,
- help="File containing install options")
+ help=argparse.SUPPRESS)
parser.add_argument('--server-debugging', action='store_true',
help="Enable debugging")
parser.add_argument('--uninstall', action='store_true',
if not args['hostname']:
args['hostname'] = socket.getfqdn()
+ if args['uninstall']:
+ return args
+
if len(args['hostname'].split('.')) < 2:
raise ConfigurationError('Hostname: %s is not a FQDN')
args['lm_order'] = args['lm_order'].split(',')
if len(args['lm_order']) == 0:
- #force the basic pam provider if nothing else is selected
- if 'pam' not in args:
- parser.print_help()
- sys.exit(-1)
- args['lm_order'] = ['pam']
- args['pam'] = 'yes'
+ sys.exit('No login plugins are enabled.')
#FIXME: check instance is only alphanums
print 'Installation aborted.'
print 'See log file %s for details' % LOGFILE
out = 1
+ except SystemExit:
+ out = 1
+ raise
finally:
if out == 0:
if 'uninstall' in opts and opts['uninstall'] is True: