]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/acl.c
Extend value_match to extract an asserted value from a full value
[openldap] / servers / slapd / acl.c
index c71cee75bb0c929f7d406510221ba80b806e6f28..9dbe23de9eb7f6d5daecf42fdb79c45d90f863d2 100644 (file)
@@ -94,19 +94,18 @@ access_allowed(
        assert( desc != NULL );
        assert( access > ACL_NONE );
 
-       attr = desc->ad_cname->bv_val;
+       attr = desc->ad_cname.bv_val;
 
        assert( attr != NULL );
 
 #ifdef NEW_LOGGING
        LDAP_LOG(( "acl", LDAP_LEVEL_ENTRY,
-                  "access_allowed: conn %d %s access to \"%s\" \"%s\" requested\n",
-                  conn->c_connid, access2str( access ), e->e_dn, attr ));
+               "access_allowed: conn %d %s access to \"%s\" \"%s\" requested\n",
+               conn ? conn->c_connid : -1, access2str( access ), e->e_dn, attr ));
 #else
        Debug( LDAP_DEBUG_ACL,
                "=> access_allowed: %s access to \"%s\" \"%s\" requested\n",
-           access2str( access ),
-               e->e_dn, attr );
+           access2str( access ), e->e_dn, attr );
 #endif
 
        if ( op == NULL ) {
@@ -293,7 +292,7 @@ acl_get(
        assert( count != NULL );
        assert( desc != NULL );
 
-       attr = desc->ad_cname->bv_val;
+       attr = desc->ad_cname.bv_val;
 
        assert( attr != NULL );
 
@@ -464,7 +463,7 @@ acl_mask(
        assert( mask != NULL );
        assert( desc != NULL );
 
-       attr = desc->ad_cname->bv_val;
+       attr = desc->ad_cname.bv_val;
 
        assert( attr != NULL );
 
@@ -686,7 +685,7 @@ acl_mask(
                        struct berval   bv;
                        int rc, match = 0;
                        const char *text;
-                       const char *attr = b->a_dn_at->ad_cname->bv_val;
+                       const char *attr = b->a_dn_at->ad_cname.bv_val;
 
                        assert( attr != NULL );
 
@@ -1082,11 +1081,11 @@ acl_check_modlist(
 #ifdef NEW_LOGGING
                        LDAP_LOG(( "aci", LDAP_LEVEL_DETAIL1,
                                   "acl_check_modlist: conn %d  no-user-mod %s: modify access granted\n",
-                                  conn->c_connid, mlist->sml_desc->ad_cname->bv_val ));
+                                  conn->c_connid, mlist->sml_desc->ad_cname.bv_val ));
 #else
                        Debug( LDAP_DEBUG_ACL, "acl: no-user-mod %s:"
                                " modify access granted\n",
-                               mlist->sml_desc->ad_cname->bv_val, 0, 0 );
+                               mlist->sml_desc->ad_cname.bv_val, 0, 0 );
 #endif
                        continue;
                }
@@ -1237,7 +1236,6 @@ aci_set_gather (void *cookie, char *name, char *attr)
                                        }
                                        ber_bvecfree(bvals);
                                }
-                               ad_free(desc, 1);
                        }
                }
                ch_free(ndn);
@@ -1295,7 +1293,6 @@ aci_match_set (
                        {
                                backend_attribute(be, NULL, NULL, e,
                                                                subjdn, desc, &bvals);
-                               ad_free(desc, 1);
                                if ( bvals != NULL ) {
                                        if ( bvals[0] != NULL )
                                                set = ch_strdup(bvals[0]->bv_val);
@@ -1534,7 +1531,6 @@ aci_group_member (
        }
 
 done:
-       if( grp_ad != NULL ) ad_free( grp_ad, 1 );
        ch_free(grpdn);
        ch_free(grpat);
        ch_free(grpoc);
@@ -1559,7 +1555,7 @@ aci_mask(
     struct berval bv, perms, sdn;
     char *subjdn;
        int rc;
-       char *attr = desc->ad_cname->bv_val;
+       char *attr = desc->ad_cname.bv_val;
 
        assert( attr != NULL );
 
@@ -1646,7 +1642,6 @@ aci_mask(
                        }
                }
 
-               ad_free( ad, 1 );
                return rc;