URL: https://github.com/SSSD/sssd/pull/851 Author: alexal Title: #851: Update __init__.py.in Action: synchronized
To pull the PR as Git branch: git remote add ghsssd https://github.com/SSSD/sssd git fetch ghsssd pull/851/head:pr851 git checkout pr851
From 86f62a2e362259bd2e8a38d012a243bc91e4e6c5 Mon Sep 17 00:00:00 2001 From: Alex Rodin <alex.ro...@sas.com> Date: Tue, 20 Aug 2019 12:57:10 -0400 Subject: [PATCH] Update __init__.py.in COMPONENT: SSSDConfig The default value for sudo_provider, auth_provider, selinux_provider, subdomains_provider, hostid_provider and autofs_provider will be the value of id_provider, if those options weren't set in the configuration file Resolves: https://pagure.io/SSSD/sssd/issue/3995 --- src/config/SSSDConfig/__init__.py.in | 69 ++++++++++++++++++++++++++++ src/config/SSSDConfigTest.py | 6 +++ 2 files changed, 75 insertions(+) diff --git a/src/config/SSSDConfig/__init__.py.in b/src/config/SSSDConfig/__init__.py.in index 9642fe6baf..7f8c066c70 100644 --- a/src/config/SSSDConfig/__init__.py.in +++ b/src/config/SSSDConfig/__init__.py.in @@ -1915,6 +1915,75 @@ class SSSDConfig(SSSDChangeConf): providers = [ (x['name'],x['value']) for x in self.strip_comments_empty(self.options('domain/%s' % name)) if x['name'].rfind('_provider') > 0] + # The default value for sudo_provider, auth_provider, subdomains_provider, selinux_provider + # hostid_provider and autofs_provider will be the value of id_provider + # If those options weren't set in the configuration file + + id_provider = False + id_provider_value = "" + sudo_provider = False + auth_provider = False + subdomains_provider = False + selinux_provider = False + hostid_provider = False + autofs_provider = False + + for (option, value) in providers: + if option == "id_provider": + id_provider = True + id_provider_value = value + elif option == "sudo_provider": + sudo_provider = True + elif option == "auth_provider": + auth_provider = True + elif option == "subdomains_provider": + subdomains_provider = True + elif option == "selinux_provider": + selinux_provider = True + elif option == "hostid_provider": + hostid_provider = True + elif option == "autofs_provider": + autofs_provider = True + + if id_provider: + if not sudo_provider: + try: + domain.add_provider(id_provider_value, "sudo") + except NoSuchProviderSubtypeError: + pass + + if not auth_provider: + try: + domain.add_provider(id_provider_value, "auth") + except NoSuchProviderSubtypeError: + pass + + if not subdomains_provider: + try: + domain.add_provider(id_provider_value, "subdomains") + except NoSuchProviderSubtypeError: + pass + + if not selinux_provider: + try: + domain.add_provider(id_provider_value, "selinux") + except NoSuchProviderSubtypeError: + pass + + if not hostid_provider: + try: + domain.add_provider(id_provider_value, "hostid") + except NoSuchProviderSubtypeError: + pass + + if not autofs_provider: + try: + domain.add_provider(id_provider_value, "autofs") + except NoSuchProviderSubtypeError: + pass + + providers = providers + domain.providers + for (option, value) in providers: try: domain.set_option(option, value) diff --git a/src/config/SSSDConfigTest.py b/src/config/SSSDConfigTest.py index 727df71abf..df85c5717d 100755 --- a/src/config/SSSDConfigTest.py +++ b/src/config/SSSDConfigTest.py @@ -1401,6 +1401,12 @@ def testImportConfigNoVersion(self): 'id_provider', 'auth_provider', 'access_provider', + 'autofs_provider', + 'auth_provider', + 'sudo_provider', + 'subdomains_provider', + 'selinux_provider', + 'hostid_provider', 'session_provider', 'default_shell', 'fallback_homedir',
_______________________________________________ sssd-devel mailing list -- sssd-devel@lists.fedorahosted.org To unsubscribe send an email to sssd-devel-le...@lists.fedorahosted.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/sssd-devel@lists.fedorahosted.org