diff options
author | Timo Aaltonen <tjaalton@ubuntu.com> | 2012-12-05 14:58:06 +0200 |
---|---|---|
committer | Martin Kosek <mkosek@redhat.com> | 2013-01-14 14:39:54 +0100 |
commit | ed849639272acf0aed44935591ba525ec1348d59 (patch) | |
tree | dce45b15575c4c9561a260a898d358575b45c610 /ipapython/platform/redhat/auth.py | |
parent | 38dded7db6529be096b92c9d63182a980e0b3a93 (diff) | |
download | freeipa.git-ed849639272acf0aed44935591ba525ec1348d59.tar.gz freeipa.git-ed849639272acf0aed44935591ba525ec1348d59.tar.xz freeipa.git-ed849639272acf0aed44935591ba525ec1348d59.zip |
convert the base platform modules into packages
Diffstat (limited to 'ipapython/platform/redhat/auth.py')
-rw-r--r-- | ipapython/platform/redhat/auth.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/ipapython/platform/redhat/auth.py b/ipapython/platform/redhat/auth.py new file mode 100644 index 00000000..93c3c5e9 --- /dev/null +++ b/ipapython/platform/redhat/auth.py @@ -0,0 +1,49 @@ +# Authors: Simo Sorce <ssorce@redhat.com> +# Alexander Bokovoy <abokovoy@redhat.com> +# +# Copyright (C) 2007-2011 Red Hat +# see file 'COPYING' for use and warranty information +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +from ipapython import ipautil +from ipapython.platform import base + +class RedHatAuthConfig(base.AuthConfig): + """ + AuthConfig class implements system-independent interface to configure + system authentication resources. In Red Hat-produced systems this is done with + authconfig(8) utility. + """ + def __build_args(self): + args = [] + for (option, value) in self.parameters.items(): + if type(value) is bool: + if value: + args.append("--enable%s" % (option)) + else: + args.append("--disable%s" % (option)) + elif type(value) in (tuple, list): + args.append("--%s" % (option)) + args.append("%s" % (value[0])) + elif value is None: + args.append("--%s" % (option)) + else: + args.append("--%s%s" % (option,value)) + return args + + def execute(self): + args = self.__build_args() + ipautil.run(["/usr/sbin/authconfig"]+args) |