URL: https://github.com/SSSD/sssd/pull/816 Author: kernevil Title: #816: SUDO: Allow defaults sudoRole without sudoUser attribute Action: opened
PR body: """ Signed-off-by: Samuel Cabrero <[email protected]> """ To pull the PR as Git branch: git remote add ghsssd https://github.com/SSSD/sssd git fetch ghsssd pull/816/head:pr816 git checkout pr816
From 18e73b9f251d059783b81ce7b6704e3973fc3206 Mon Sep 17 00:00:00 2001 From: Samuel Cabrero <[email protected]> Date: Fri, 17 May 2019 12:34:41 +0200 Subject: [PATCH] SUDO: Allow defaults sudoRole without sudoUser attribute Signed-off-by: Samuel Cabrero <[email protected]> --- src/db/sysdb_sudo.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/db/sysdb_sudo.c b/src/db/sysdb_sudo.c index 19ed97b866..59d6824c0a 100644 --- a/src/db/sysdb_sudo.c +++ b/src/db/sysdb_sudo.c @@ -893,7 +893,8 @@ sysdb_sudo_add_sss_attrs(struct sysdb_attrs *rule, } static errno_t sysdb_sudo_add_lowered_users(struct sss_domain_info *domain, - struct sysdb_attrs *rule) + struct sysdb_attrs *rule, + const char *name) { TALLOC_CTX *tmp_ctx; const char **users = NULL; @@ -911,10 +912,13 @@ static errno_t sysdb_sudo_add_lowered_users(struct sss_domain_info *domain, ret = sysdb_attrs_get_string_array(rule, SYSDB_SUDO_CACHE_AT_USER, tmp_ctx, &users); if (ret != EOK) { - DEBUG(SSSDBG_OP_FAILURE, "Unable to get %s attribute [%d]: %s\n", - SYSDB_SUDO_CACHE_AT_USER, ret, strerror(ret)); - ret = ERR_MALFORMED_ENTRY; - goto done; + /* Allow "defaults" sudoRole without sudoUser attribute */ + if (name != NULL && !sss_string_equal(false, "defaults", name)) { + DEBUG(SSSDBG_OP_FAILURE, "Unable to get %s attribute [%d]: %s\n", + SYSDB_SUDO_CACHE_AT_USER, ret, strerror(ret)); + ret = ERR_MALFORMED_ENTRY; + goto done; + } } if (users == NULL) { @@ -957,7 +961,7 @@ sysdb_sudo_store_rule(struct sss_domain_info *domain, DEBUG(SSSDBG_TRACE_FUNC, "Adding sudo rule %s\n", name); - ret = sysdb_sudo_add_lowered_users(domain, rule); + ret = sysdb_sudo_add_lowered_users(domain, rule, name); if (ret != EOK) { return ret; }
_______________________________________________ sssd-devel mailing list -- [email protected] To unsubscribe send an email to [email protected] Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/[email protected]
