]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Fix scope of kadmind ACL wildcard back-references
authorGreg Hudson <ghudson@mit.edu>
Thu, 12 Mar 2015 20:36:33 +0000 (16:36 -0400)
committerTom Yu <tlyu@mit.edu>
Tue, 12 May 2015 19:41:27 +0000 (15:41 -0400)
In kadm5int_acl_find_entry(), clear the wildcard back-references list
for each acl entry.  Otherwise the wildcards we process can affect
back-references for later entries.

(cherry picked from commit d3d18b8d8d7a47766fd4e9667d045035f43d90ef)
(cherry picked from commit 8e67dce9379c0f50bdccc12619fecad423aa5384)

ticket: 8183
version_fixed: 1.12.4
status: resolved

src/lib/kadm5/srv/server_acl.c
src/tests/t_kadmin_acl.py

index b2aeb7daa4e8e73a6645f0b7b18663799503f1a8..9d971a9e5286077a2ce05371822a16b0db95c09a 100644 (file)
@@ -611,8 +611,8 @@ kadm5int_acl_find_entry(kcontext, principal, dest_princ)
     wildstate_t         state;
 
     DPRINT(DEBUG_CALLS, acl_debug_level, ("* kadm5int_acl_find_entry()\n"));
-    memset(&state, 0, sizeof state);
     for (entry=acl_list_head; entry; entry = entry->ae_next) {
+        memset(&state, 0, sizeof(state));
         if (entry->ae_name_bad)
             continue;
         if (!strcmp(entry->ae_name, "*")) {
index c4b8465d8dd73bd5d4160a65e833161b99033798..8b04c1e3a01ebc6c161cef572ab9c8397a75aead 100644 (file)
@@ -65,6 +65,8 @@ restricted_modify  im  *         +preauth
 restricted_rename  ad  *         +preauth
 
 */*                d   *2/*1
+# The next line is a regression test for #8154; it is not used directly.
+one/*/*/five       l
 */two/*/*          d   *3/*1/*2
 */admin            a
 wctarget           a   wild/*