Blame SOURCES/0040-AD-Enforcing-GPO-rule-restriction-on-user.patch

57f72f
From a06bf788585f5fc14ba16d132665401a7ce7eb35 Mon Sep 17 00:00:00 2001
57f72f
From: =?UTF-8?q?Pawe=C5=82=20Po=C5=82awski?= <ppolawsk@redhat.com>
57f72f
Date: Thu, 28 May 2020 12:12:58 +0200
57f72f
Subject: [PATCH] AD: Enforcing GPO rule restriction on user
57f72f
57f72f
This fixes bug related to ad_gpo_implicit_deny option set to True.
57f72f
gpo_implict_denay was checked only for dacl_filtered_gpos,
57f72f
but not for cse_filtered_gpos.
57f72f
57f72f
Resolves:
57f72f
https://github.com/SSSD/sssd/issues/5181
57f72f
57f72f
Reviewed-by: Sumit Bose <sbose@redhat.com>
57f72f
---
57f72f
 src/providers/ad/ad_gpo.c | 11 ++++++++++-
57f72f
 1 file changed, 10 insertions(+), 1 deletion(-)
57f72f
57f72f
diff --git a/src/providers/ad/ad_gpo.c b/src/providers/ad/ad_gpo.c
57f72f
index 53560a754..2c6aa7fa6 100644
57f72f
--- a/src/providers/ad/ad_gpo.c
57f72f
+++ b/src/providers/ad/ad_gpo.c
57f72f
@@ -2541,7 +2541,16 @@ ad_gpo_process_gpo_done(struct tevent_req *subreq)
57f72f
         /* no gpos contain "SecuritySettings" cse_guid, nothing to enforce */
57f72f
         DEBUG(SSSDBG_TRACE_FUNC,
57f72f
               "no applicable gpos found after cse_guid filtering\n");
57f72f
-        ret = EOK;
57f72f
+
57f72f
+        if (state->gpo_implicit_deny == true) {
57f72f
+            DEBUG(SSSDBG_TRACE_FUNC,
57f72f
+                  "No applicable GPOs have been found and ad_gpo_implicit_deny"
57f72f
+                  " is set to 'true'. The user will be denied access.\n");
57f72f
+            ret = ERR_ACCESS_DENIED;
57f72f
+        } else {
57f72f
+            ret = EOK;
57f72f
+        }
57f72f
+
57f72f
         goto done;
57f72f
     }
57f72f
 
57f72f
-- 
57f72f
2.21.3
57f72f