Fix "sudo -l command" in the LDAP and SSS backends when the command
is not allowed.
This commit is contained in:
@@ -2568,8 +2568,9 @@ sudo_ldap_display_cmnd(struct sudo_nss *nss, struct passwd *pw)
|
|||||||
goto done;
|
goto done;
|
||||||
for (i = 0; i < lres->nentries; i++) {
|
for (i = 0; i < lres->nentries; i++) {
|
||||||
entry = lres->entries[i].entry;
|
entry = lres->entries[i].entry;
|
||||||
if (sudo_ldap_check_command(ld, entry, NULL) &&
|
if (!sudo_ldap_check_runas(ld, entry))
|
||||||
sudo_ldap_check_runas(ld, entry)) {
|
continue;
|
||||||
|
if (sudo_ldap_check_command(ld, entry, NULL) == true) {
|
||||||
found = true;
|
found = true;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
@@ -1380,8 +1380,9 @@ sudo_sss_display_cmnd(struct sudo_nss *nss, struct passwd *pw)
|
|||||||
|
|
||||||
for (i = 0; i < sss_result->num_rules; i++) {
|
for (i = 0; i < sss_result->num_rules; i++) {
|
||||||
rule = sss_result->rules + i;
|
rule = sss_result->rules + i;
|
||||||
if (sudo_sss_check_command(handle, rule, NULL) &&
|
if (!sudo_sss_check_runas(handle, rule))
|
||||||
sudo_sss_check_runas(handle, rule)) {
|
continue;
|
||||||
|
if (sudo_sss_check_command(handle, rule, NULL) == true) {
|
||||||
found = true;
|
found = true;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user