summaryrefslogtreecommitdiffstats
path: root/ipsilon/login/authpam.py
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2014-03-20 16:46:18 -0400
committerSimo Sorce <simo@redhat.com>2014-03-20 17:28:30 -0400
commit411a829b99d81939a6f194abe940eb0f3f88673e (patch)
treeebc1856933706d78e5cf8ce0e7a9f2543b089549 /ipsilon/login/authpam.py
parent9d9679160296b2fe3103af20114484ee37dfdf44 (diff)
downloadipsilon-411a829b99d81939a6f194abe940eb0f3f88673e.tar.gz
ipsilon-411a829b99d81939a6f194abe940eb0f3f88673e.tar.xz
ipsilon-411a829b99d81939a6f194abe940eb0f3f88673e.zip
Add PAM configuration code
Signed-off-by: Simo Sorce <simo@redhat.com>
Diffstat (limited to 'ipsilon/login/authpam.py')
-rwxr-xr-xipsilon/login/authpam.py27
1 files 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 <http://www.gnu.org/licenses/>.
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)