From 1d7df9dbac43b63424ee07ebfb86c6a106dcb43c Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Fri, 14 Mar 2014 18:08:49 -0400 Subject: Add server-install plugin configuration support Automatically find plugins installed in the system and exposes their installation and configuration functions through the installer. Signed-off-by: Simo Sorce --- ipsilon/login/authpam.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'ipsilon/login/authpam.py') diff --git a/ipsilon/login/authpam.py b/ipsilon/login/authpam.py index 496a774..1eb697b 100755 --- a/ipsilon/login/authpam.py +++ b/ipsilon/login/authpam.py @@ -143,3 +143,24 @@ for authentication. """ def get_tree(self, site): self.page = Pam(site, self) return self.page + + +class Installer(object): + + def __init__(self): + self.name = 'pam' + self.ptype = 'login' + + def install_args(self, group): + group.add_argument('--pam', choices=['yes', 'no'], default='no', + help='Configure PAM authentication') + group.add_argument('--pam-service', action='store', default='remote', + help='PAM service name to use for authentication') + + def configure(self, opts): + if opts['pam'] != 'yes': + return + + if opts['pam_service'] != 'remote': + #TODO: add service_name in the database + return -- cgit