From 411a829b99d81939a6f194abe940eb0f3f88673e Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Thu, 20 Mar 2014 16:46:18 -0400 Subject: [PATCH] Add PAM configuration code Signed-off-by: Simo Sorce --- ipsilon/login/authpam.py | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/ipsilon/login/authpam.py b/ipsilon/login/authpam.py index 1eb697b..db409f7 100755 --- a/ipsilon/login/authpam.py +++ b/ipsilon/login/authpam.py @@ -18,6 +18,8 @@ # along with this program. If not, see . from ipsilon.login.common import LoginPageBase, LoginManagerBase +from ipsilon.login.common import FACILITY +from ipsilon.util.plugin import PluginObject import cherrypy import pam @@ -161,6 +163,25 @@ class Installer(object): if opts['pam'] != 'yes': return - if opts['pam_service'] != 'remote': - #TODO: add service_name in the database - return + # Add configuration data to database + po = PluginObject() + po.name = 'pam' + po.wipe_data() + + po.wipe_config_values(FACILITY) + config = {'service name': opts['pam_service']} + po.set_config(config) + po.save_plugin_config(FACILITY) + + # Update global config to add login plugin + po = PluginObject() + po.name = 'global' + globalconf = po.get_plugin_config(FACILITY) + if 'order' in globalconf: + order = globalconf['order'].split(',') + else: + order = [] + order.append('pam') + globalconf['order'] = ','.join(order) + po.set_config(globalconf) + po.save_plugin_config(FACILITY) -- 2.20.1