diff -rup original/plugins/sudoers/sssd.c new/plugins/sudoers/sssd.c --- original/plugins/sudoers/sssd.c 2012-07-18 13:17:53.026208728 +0200 +++ new/plugins/sudoers/sssd.c 2012-07-18 13:35:59.780623153 +0200 @@ -239,6 +239,14 @@ static int sudo_sss_setdefs(struct sudo_ debug_return_int(-1); } + if (sss_error == ENOENT) { + sudo_debug_printf(2, "The user was not found in SSSD."); + debug_return_int(-1); + } else if(sss_error != 0) { + sudo_debug_printf(2, "sss_error=%u\n", sss_error); + debug_return_int(-1); + } + for (i = 0; i < sss_result->num_rules; ++i) { sudo_debug_printf(1, "Parsing cn=defaults, %d/%d", i, sss_result->num_rules); sss_rule = sss_result->rules + i; @@ -515,7 +523,7 @@ static struct sss_sudo_result *sudo_sss_ } break; case ENOENT: - sudo_debug_printf(2, "No result."); + sudo_debug_printf(2, "The user was not found in SSSD."); default: sudo_debug_printf(2, "sss_error=%u\n", sss_error); debug_return_ptr(NULL); @@ -901,6 +909,14 @@ static int sudo_sss_display_defaults(str goto done; } + if (sss_error == ENOENT) { + sudo_debug_printf(2, "The user was not found in SSSD."); + goto done; + } else if(sss_error != 0) { + sudo_debug_printf(2, "sss_error=%u\n", sss_error); + goto done; + } + handle->pw = pw; for (i = 0; i < sss_result->num_rules; ++i) {