Fabiano Fidêncio fcff118
From d7795e33668b3e2ef212c5fa0bfaf4485e87db65 Mon Sep 17 00:00:00 2001
Fabiano Fidêncio fcff118
From: =?UTF-8?q?Pavel=20B=C5=99ezina?= <pbrezina@redhat.com>
Fabiano Fidêncio fcff118
Date: Tue, 31 Oct 2017 15:14:52 +0100
Fabiano Fidêncio fcff118
Subject: [PATCH] sudo ldap: do not store rules without sudoHost attribute
Fabiano Fidêncio fcff118
MIME-Version: 1.0
Fabiano Fidêncio fcff118
Content-Type: text/plain; charset=UTF-8
Fabiano Fidêncio fcff118
Content-Transfer-Encoding: 8bit
Fabiano Fidêncio fcff118
Fabiano Fidêncio fcff118
Unless it is cn=defaults.
Fabiano Fidêncio fcff118
Fabiano Fidêncio fcff118
Resolves:
Fabiano Fidêncio fcff118
https://pagure.io/SSSD/sssd/issue/3558
Fabiano Fidêncio fcff118
Fabiano Fidêncio fcff118
Reviewed-by: Fabiano FidĂȘncio <fidencio@redhat.com>
Fabiano Fidêncio fcff118
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Fabiano Fidêncio fcff118
(cherry picked from commit 47ad0778be72994a2294b2e73cc5c670be6811a7)
Fabiano Fidêncio fcff118
---
Fabiano Fidêncio fcff118
 src/providers/ldap/sdap_async_sudo.c | 5 +++--
Fabiano Fidêncio fcff118
 1 file changed, 3 insertions(+), 2 deletions(-)
Fabiano Fidêncio fcff118
Fabiano Fidêncio fcff118
diff --git a/src/providers/ldap/sdap_async_sudo.c b/src/providers/ldap/sdap_async_sudo.c
Fabiano Fidêncio fcff118
index 5dc580128..3da76256e 100644
Fabiano Fidêncio fcff118
--- a/src/providers/ldap/sdap_async_sudo.c
Fabiano Fidêncio fcff118
+++ b/src/providers/ldap/sdap_async_sudo.c
Fabiano Fidêncio fcff118
@@ -158,8 +158,9 @@ static char *sdap_sudo_build_host_filter(TALLOC_CTX *mem_ctx,
Fabiano Fidêncio fcff118
         goto done;
Fabiano Fidêncio fcff118
     }
Fabiano Fidêncio fcff118
 
Fabiano Fidêncio fcff118
-    /* sudoHost is not specified */
Fabiano Fidêncio fcff118
-    filter = talloc_asprintf_append_buffer(filter, "(!(%s=*))",
Fabiano Fidêncio fcff118
+    /* sudoHost is not specified and it is a cn=defaults rule */
Fabiano Fidêncio fcff118
+    filter = talloc_asprintf_append_buffer(filter, "(&(!(%s=*))(%s=defaults))",
Fabiano Fidêncio fcff118
+                                           map[SDAP_AT_SUDO_HOST].name,
Fabiano Fidêncio fcff118
                                            map[SDAP_AT_SUDO_HOST].name);
Fabiano Fidêncio fcff118
     if (filter == NULL) {
Fabiano Fidêncio fcff118
         goto done;
Fabiano Fidêncio fcff118
-- 
Fabiano Fidêncio fcff118
2.14.3
Fabiano Fidêncio fcff118