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/3] 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/3] 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/3] 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',
_______________________________________________
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

Reply via email to