]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/acl.c
Extend checks to substrings rules. Need to kludge around
[openldap] / servers / slapd / acl.c
index 3b1900fd27e947769188a58524748b8fda8e1c87..3db4fd14e7a8ef160146691494275374ffdffc9e 100644 (file)
@@ -605,17 +605,17 @@ acl_mask(
                         * user is bound as somebody in the same namespace as
                         * the entry, OR the given dn matches the dn pattern
                         */
-                       if ( ber_bvcmp( &b->a_dn_pat, &aci_bv_anonymous ) == 0 ) {
+                       if ( bvmatch( &b->a_dn_pat, &aci_bv_anonymous ) ) {
                                if ( op->o_ndn.bv_len != 0 ) {
                                        continue;
                                }
 
-                       } else if ( ber_bvcmp( &b->a_dn_pat, &aci_bv_users ) == 0 ) {
+                       } else if ( bvmatch( &b->a_dn_pat, &aci_bv_users ) ) {
                                if ( op->o_ndn.bv_len == 0 ) {
                                        continue;
                                }
 
-                       } else if ( ber_bvcmp( &b->a_dn_pat, &aci_bv_self ) == 0 ) {
+                       } else if ( bvmatch( &b->a_dn_pat, &aci_bv_self ) ) {
                                if ( op->o_ndn.bv_len == 0 ) {
                                        continue;
                                }
@@ -1389,7 +1389,7 @@ aci_set_gather (void *cookie, struct berval *name, struct berval *attr)
                const char *text;
                AttributeDescription *desc = NULL;
                if (slap_bv2ad(attr, &desc, &text) == LDAP_SUCCESS) {
-                       backend_attribute(cp->be, NULL, NULL,
+                       backend_attribute(cp->be, NULL, cp->op,
                                cp->e, &ndn, desc, &bvals);
                }
                free(ndn.bv_val);
@@ -1438,7 +1438,7 @@ aci_match_set (
                        if ( dnNormalize2(NULL, &subjdn, &ndn) == LDAP_SUCCESS
                                && slap_bv2ad(&setat, &desc, &text) == LDAP_SUCCESS )
                        {
-                               backend_attribute(be, NULL, NULL, e,
+                               backend_attribute(be, NULL, op, e,
                                        &ndn, desc, &bvals);
                                if ( bvals != NULL ) {
                                        if ( bvals[0].bv_val != NULL ) {