]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/aci.c
fix typo
[openldap] / servers / slapd / aci.c
index 0acf6c108ff38848a953c28454866a33390b613c..de0b6c6ac39703bdd39eb0d180877c0572f5ed5e 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2007 The OpenLDAP Foundation.
+ * Copyright 1998-2008 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -345,9 +345,12 @@ aci_list_get_rights(
                        continue;
                }
 
-               found = 1;
                *mask |= aci_list_get_attr_rights( &perm, attr, val );
                *mask |= aci_list_get_attr_rights( &perm, &aci_bv[ ACI_BV_BR_ALL ], NULL );
+
+               if ( *mask != ACL_PRIV_NONE ) { 
+                       found = 1;
+               }
        }
 
        return found;
@@ -439,7 +442,9 @@ aci_mask(
                                opts,
                                sdn;
        int                     rc;
-               
+
+       ACL_INIT( *grant );
+       ACL_INIT( *deny );
 
        assert( !BER_BVISNULL( &desc->ad_cname ) );
 
@@ -1738,6 +1743,12 @@ OpenLDAPaciPrettyNormal(
                }
 
                nsubject = ad->ad_cname;
+
+       } else if ( OpenLDAPacitypes[ idx ] == &aci_bv[ ACI_BV_SET ]
+               || OpenLDAPacitypes[ idx ] == &aci_bv[ ACI_BV_SET_REF ] )
+       {
+               /* NOTE: dunno how to normalize it... */
+               nsubject = subject;
        }