44 lines
1.4 KiB
Diff
44 lines
1.4 KiB
Diff
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) {
|
|
|