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 72b52b9f9caaf4862c8da5017983470e66be02e3 Mon Sep 17 00:00:00 2001 From: Alex Rodin <alex.ro...@sas.com> Date: Wed, 17 Jul 2019 13:45:26 -0400 Subject: [PATCH 1/4] Update __init__.py.in COMPONENT: SSSDConfig The default value for sudo_provider, auth_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 | 41 ++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/src/config/SSSDConfig/__init__.py.in b/src/config/SSSDConfig/__init__.py.in index 9642fe6baf..b0f6347168 100644 --- a/src/config/SSSDConfig/__init__.py.in +++ b/src/config/SSSDConfig/__init__.py.in @@ -1915,6 +1915,47 @@ 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, 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 + 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 == "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 autofs_provider: + try: + domain.add_provider(id_provider_value, "autofs") + except NoSuchProviderSubtypeError: + pass + + providers=domain.providers + for (option, value) in providers: try: domain.set_option(option, value) From e9b02a9b981462dcb25cc7c9bfe7cf37ebb64638 Mon Sep 17 00:00:00 2001 From: Alex Rodin <alex.ro...@sas.com> Date: Wed, 17 Jul 2019 15:41:34 -0400 Subject: [PATCH 2/4] Update __init__.py.in One of the tests has failed with the following error. This is the fix: ERROR: testGetDomain (__main__.SSSDConfigTestSSSDConfig) ---------------------------------------------------------------------- Traceback (most recent call last): File "/shared/sssd/src/config/SSSDConfigTest.py", line 1826, in testGetDomain self.assertTrue(domain.get_option('ldap_id_use_start_tls')) File "./src/config/SSSDConfig/__init__.py", line 725, in get_option raise NoOptionError(optionname) NoOptionError: ldap_id_use_start_tls --- src/config/SSSDConfig/__init__.py.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config/SSSDConfig/__init__.py.in b/src/config/SSSDConfig/__init__.py.in index b0f6347168..53d7acb368 100644 --- a/src/config/SSSDConfig/__init__.py.in +++ b/src/config/SSSDConfig/__init__.py.in @@ -1954,7 +1954,7 @@ class SSSDConfig(SSSDChangeConf): except NoSuchProviderSubtypeError: pass - providers=domain.providers + providers = providers + domain.providers for (option, value) in providers: try: From e873b920737f8a7c7e4cce2288aa434a17d808d2 Mon Sep 17 00:00:00 2001 From: Alex Rodin <alex.ro...@sas.com> Date: Wed, 17 Jul 2019 16:21:26 -0400 Subject: [PATCH 3/4] Update SSSDConfigTest.py As we are setting autofs, auth, and sudo options by default, we need to change unit test and add them to domain_control_list --- src/config/SSSDConfigTest.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/config/SSSDConfigTest.py b/src/config/SSSDConfigTest.py index 727df71abf..bc22da7626 100755 --- a/src/config/SSSDConfigTest.py +++ b/src/config/SSSDConfigTest.py @@ -1401,6 +1401,9 @@ def testImportConfigNoVersion(self): 'id_provider', 'auth_provider', 'access_provider', + 'autofs_provider', + 'auth_provider', + 'sudo_provider', 'session_provider', 'default_shell', 'fallback_homedir', From 61870bd6ae188e99cefeae9407ef9f7edc5199a6 Mon Sep 17 00:00:00 2001 From: Alex Rodin <alex.ro...@sas.com> Date: Thu, 18 Jul 2019 07:13:33 -0400 Subject: [PATCH 4/4] Squashing all three patches into a single commit As requested by @alexey-tikhonov squashing all three patches into a single commit --- src/config/SSSDConfig/__init__.py.in | 41 ++++++++++++++++++++++++++++ src/config/SSSDConfigTest.py | 3 ++ 2 files changed, 44 insertions(+) diff --git a/src/config/SSSDConfig/__init__.py.in b/src/config/SSSDConfig/__init__.py.in index 9642fe6baf..53d7acb368 100644 --- a/src/config/SSSDConfig/__init__.py.in +++ b/src/config/SSSDConfig/__init__.py.in @@ -1915,6 +1915,47 @@ 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, 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 + 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 == "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 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..bc22da7626 100755 --- a/src/config/SSSDConfigTest.py +++ b/src/config/SSSDConfigTest.py @@ -1401,6 +1401,9 @@ def testImportConfigNoVersion(self): 'id_provider', 'auth_provider', 'access_provider', + 'autofs_provider', + 'auth_provider', + 'sudo_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