From: Simo Sorce Date: Thu, 20 Mar 2014 20:46:18 +0000 (-0400) Subject: Add PAM configuration code X-Git-Tag: v0.2.2~61 X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fipsilon.git;a=commitdiff_plain;h=411a829b99d81939a6f194abe940eb0f3f88673e Add PAM configuration code Signed-off-by: Simo Sorce --- 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)