summaryrefslogtreecommitdiffstats
path: root/ipsilon/login/authpam.py
diff options
context:
space:
mode:
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)