krb5 commit: Fix scope of kadmind ACL wildcard back-references

Greg Hudson ghudson at mit.edu
Fri Mar 13 23:31:41 EDT 2015


https://github.com/krb5/krb5/commit/d3d18b8d8d7a47766fd4e9667d045035f43d90ef
commit d3d18b8d8d7a47766fd4e9667d045035f43d90ef
Author: Greg Hudson <ghudson at mit.edu>
Date:   Thu Mar 12 16:36:33 2015 -0400

    Fix scope of kadmind ACL wildcard back-references
    
    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.
    
    ticket: 8154
    target_version: 1.13.2
    tags: pullup

 src/lib/kadm5/srv/server_acl.c |    2 +-
 src/tests/t_kadmin_acl.py      |    2 ++
 2 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/lib/kadm5/srv/server_acl.c b/src/lib/kadm5/srv/server_acl.c
index a35d795..86e1367 100644
--- a/src/lib/kadm5/srv/server_acl.c
+++ b/src/lib/kadm5/srv/server_acl.c
@@ -610,8 +610,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, "*")) {
diff --git a/src/tests/t_kadmin_acl.py b/src/tests/t_kadmin_acl.py
index 9ccc80b..6f5c589 100644
--- a/src/tests/t_kadmin_acl.py
+++ b/src/tests/t_kadmin_acl.py
@@ -61,6 +61,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/*


More information about the cvs-krb5 mailing list