diff --git a/0004-TOOLS-Take-into-consideration-app-domains.patch b/0004-TOOLS-Take-into-consideration-app-domains.patch new file mode 100644 index 0000000..9ba25e3 --- /dev/null +++ b/0004-TOOLS-Take-into-consideration-app-domains.patch @@ -0,0 +1,44 @@ +From 692780f793f96815aaee0007515838fce30b6097 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= +Date: Wed, 14 Mar 2018 23:01:39 +0100 +Subject: [PATCH 04/15] TOOLS: Take into consideration app domains +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In order to properly show an app domain when listing domains using +sssctl domain-list we have to expand the confdb, as already done in the +monitor code. + +Resolves: +https://pagure.io/SSSD/sssd/issue/3658 + +Signed-off-by: Fabiano Fidêncio + +Reviewed-by: Jakub Hrozek +--- + src/tools/common/sss_tools.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/src/tools/common/sss_tools.c b/src/tools/common/sss_tools.c +index e491a1286..4832db5a0 100644 +--- a/src/tools/common/sss_tools.c ++++ b/src/tools/common/sss_tools.c +@@ -117,6 +117,14 @@ static errno_t sss_tool_domains_init(TALLOC_CTX *mem_ctx, + struct sss_domain_info *dom; + errno_t ret; + ++ ret = confdb_expand_app_domains(confdb); ++ if (ret != EOK) { ++ DEBUG(SSSDBG_CRIT_FAILURE, ++ "Unable to expand application domains [%d]: %s\n", ++ ret, sss_strerror(ret)); ++ return ret; ++ } ++ + ret = confdb_get_domains(confdb, &domains); + if (ret != EOK) { + DEBUG(SSSDBG_CRIT_FAILURE, "Unable to setup domains [%d]: %s\n", +-- +2.14.3 + diff --git a/0005-TESTS-Move-get_call_output-to-util.py.patch b/0005-TESTS-Move-get_call_output-to-util.py.patch new file mode 100644 index 0000000..4a10fd6 --- /dev/null +++ b/0005-TESTS-Move-get_call_output-to-util.py.patch @@ -0,0 +1,66 @@ +From be7e7de999f93f57bfccdeeabcb8682d1e92023a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= +Date: Fri, 16 Mar 2018 19:00:52 +0100 +Subject: [PATCH 05/15] TESTS: Move get_call_output() to util.py +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This function will be reused outside of test_sssctl.py. + +Related: +https://pagure.io/SSSD/sssd/issue/3658 + +Signed-off-by: Fabiano Fidêncio + +Reviewed-by: Jakub Hrozek +--- + src/tests/intg/test_sssctl.py | 9 +-------- + src/tests/intg/util.py | 7 +++++++ + 2 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/src/tests/intg/test_sssctl.py b/src/tests/intg/test_sssctl.py +index 0df5d0bc1..e8861dd86 100644 +--- a/src/tests/intg/test_sssctl.py ++++ b/src/tests/intg/test_sssctl.py +@@ -28,7 +28,7 @@ import signal + import ds_openldap + import ldap_ent + import config +-from util import unindent ++from util import unindent, get_call_output + import sssd_netgroup + + LDAP_BASE_DN = "dc=example,dc=com" +@@ -203,13 +203,6 @@ def fqname_case_insensitive_rfc2307(request, ldap_conn): + return None + + +-def get_call_output(cmd): +- process = subprocess.Popen(cmd, stdout=subprocess.PIPE, +- stderr=subprocess.PIPE) +- output, ret = process.communicate() +- return output.decode('utf-8') +- +- + def test_user_show_basic_sanity(ldap_conn, sanity_rfc2307, portable_LC_ALL): + # Fill the cache first + ent.assert_passwd_by_name( +diff --git a/src/tests/intg/util.py b/src/tests/intg/util.py +index 2b40311bd..a1c439648 100644 +--- a/src/tests/intg/util.py ++++ b/src/tests/intg/util.py +@@ -78,3 +78,10 @@ def restore_envvar_file(name): + path = os.environ[name] + backup_path = path + ".bak" + os.rename(backup_path, path) ++ ++ ++def get_call_output(cmd): ++ process = subprocess.Popen(cmd, stdout=subprocess.PIPE, ++ stderr=subprocess.PIPE) ++ output, ret = process.communicate() ++ return output.decode('utf-8') +-- +2.14.3 + diff --git a/0006-TESTS-Make-get_call_output-more-flexible-about-the-s.patch b/0006-TESTS-Make-get_call_output-more-flexible-about-the-s.patch new file mode 100644 index 0000000..9450f9b --- /dev/null +++ b/0006-TESTS-Make-get_call_output-more-flexible-about-the-s.patch @@ -0,0 +1,40 @@ +From e8c0527bf782de166722706db119ccb01258e78b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= +Date: Fri, 16 Mar 2018 19:23:58 +0100 +Subject: [PATCH 06/15] TESTS: Make get_call_output() more flexible about the + stderr log +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Future tests that will be added will need the stderr redirected to the +STDOUT. + +Related: +https://pagure.io/SSSD/sssd/issue/3658 + +Signed-off-by: Fabiano Fidêncio + +Reviewed-by: Jakub Hrozek +--- + src/tests/intg/util.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/tests/intg/util.py b/src/tests/intg/util.py +index a1c439648..bfebbfb35 100644 +--- a/src/tests/intg/util.py ++++ b/src/tests/intg/util.py +@@ -80,8 +80,8 @@ def restore_envvar_file(name): + os.rename(backup_path, path) + + +-def get_call_output(cmd): ++def get_call_output(cmd, stderr_output=subprocess.PIPE): + process = subprocess.Popen(cmd, stdout=subprocess.PIPE, +- stderr=subprocess.PIPE) ++ stderr=stderr_output) + output, ret = process.communicate() + return output.decode('utf-8') +-- +2.14.3 + diff --git a/0007-TESTS-Add-a-basic-test-of-sssctl-domain-list.patch b/0007-TESTS-Add-a-basic-test-of-sssctl-domain-list.patch new file mode 100644 index 0000000..3c54b6f --- /dev/null +++ b/0007-TESTS-Add-a-basic-test-of-sssctl-domain-list.patch @@ -0,0 +1,73 @@ +From 15ab42ad5349485c9156234f5a6d1c6635c36de3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= +Date: Thu, 15 Mar 2018 16:28:41 +0100 +Subject: [PATCH 07/15] TESTS: Add a basic test of `sssctl domain-list` +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Let's just add a test for `sssctl domain-list` in order to avoid +regressing https://pagure.io/SSSD/sssd/issue/3658. + +The test has been added as part of test_infopipe.py in order to take +advantage of the machinery already provided there. + +Resolves: +https://pagure.io/SSSD/sssd/issue/3658 + +Signed-off-by: Fabiano Fidêncio + +Reviewed-by: Jakub Hrozek +--- + src/tests/intg/test_infopipe.py | 17 +++++++++++++++-- + 1 file changed, 15 insertions(+), 2 deletions(-) + +diff --git a/src/tests/intg/test_infopipe.py b/src/tests/intg/test_infopipe.py +index 3a7961403..b851bbd91 100644 +--- a/src/tests/intg/test_infopipe.py ++++ b/src/tests/intg/test_infopipe.py +@@ -34,7 +34,7 @@ import dbus + import config + import ds_openldap + import ldap_ent +-from util import unindent ++from util import unindent, get_call_output + + LDAP_BASE_DN = "dc=example,dc=com" + INTERACTIVE_TIMEOUT = 4 +@@ -194,7 +194,7 @@ def format_basic_conf(ldap_conn, schema): + return unindent("""\ + [sssd] + debug_level = 0xffff +- domains = LDAP ++ domains = LDAP, app + services = nss, ifp + enable_files_domain = false + +@@ -212,6 +212,9 @@ def format_basic_conf(ldap_conn, schema): + id_provider = ldap + ldap_uri = {ldap_conn.ds_inst.ldap_url} + ldap_search_base = {ldap_conn.ds_inst.base_dn} ++ ++ [application/app] ++ inherit_from = LDAP + """).format(**locals()) + + +@@ -532,3 +535,13 @@ def test_get_user_groups(dbus_system_bus, ldap_conn, sanity_rfc2307): + + assert len(res) == 2 + assert sorted(res) == ['single_user_group', 'two_user_group'] ++ ++ ++def test_sssctl_domain_list_app_domain(dbus_system_bus, ++ ldap_conn, ++ sanity_rfc2307): ++ output = get_call_output(["sssctl", "domain-list"], subprocess.STDOUT) ++ ++ assert "Error" not in output ++ assert output.find("LDAP") != -1 ++ assert output.find("app") != -1 +-- +2.14.3 + diff --git a/sssd.spec b/sssd.spec index 5e0cf0f..2895a6a 100644 --- a/sssd.spec +++ b/sssd.spec @@ -45,6 +45,10 @@ Source0: https://releases.pagure.org/SSSD/sssd/%{name}-%{version}.tar.gz Patch0001: 0001-IPA-Handle-empty-nisDomainName.patch Patch0002: 0002-intg-enhance-netgroups-test.patch Patch0003: 0003-CONFDB-Start-a-ldb-transaction-from-sss_ldb_modify_p.patch +Patch0004: 0004-TOOLS-Take-into-consideration-app-domains.patch +Patch0005: 0005-TESTS-Move-get_call_output-to-util.py.patch +Patch0006: 0006-TESTS-Make-get_call_output-more-flexible-about-the-s.patch +Patch0007: 0007-TESTS-Add-a-basic-test-of-sssctl-domain-list.patch Patch0502: 0502-SYSTEMD-Use-capabilities.patch Patch0503: 0503-Disable-stopping-idle-socket-activated-responders.patch @@ -1249,6 +1253,7 @@ fi * Fri Mar 30 2018 Fabiano Fidêncio - 1.16.1-2 - Resolves: upstream#3573 - sssd won't show netgroups with blank domain - Resolves: upstream#3660 - confdb_expand_app_domains() always fails +- Resolves: upstream#3658 - Application domain is not interpreted correctly * Fri Mar 9 2018 Fabiano Fidêncio - 1.16.1-1 - New upstream release 1.16.1