assert( desc != NULL );
assert( access > ACL_NONE );
- attr = desc->ad_cname->bv_val;
+ attr = desc->ad_cname.bv_val;
assert( attr != NULL );
assert( count != NULL );
assert( desc != NULL );
- attr = desc->ad_cname->bv_val;
+ attr = desc->ad_cname.bv_val;
assert( attr != NULL );
if ( dnlen <= patlen )
continue;
- if ( e->e_ndn[dnlen - patlen - 1] != ',' )
+ if ( !DN_SEPARATOR( e->e_ndn[dnlen - patlen - 1] ) || DN_ESCAPE( e->e_ndn[dnlen - patlen - 2] ) )
continue;
rdn = dn_rdn( NULL, e->e_ndn );
continue;
} else if ( a->acl_dn_style == ACL_STYLE_SUBTREE ) {
- if ( dnlen > patlen && e->e_ndn[dnlen - patlen - 1] != ',' )
+ if ( dnlen > patlen && ( !DN_SEPARATOR( e->e_ndn[dnlen - patlen - 1] ) || DN_ESCAPE( e->e_ndn[dnlen - patlen - 2] ) ) )
continue;
} else if ( a->acl_dn_style == ACL_STYLE_CHILDREN ) {
if ( dnlen <= patlen )
continue;
- if ( e->e_ndn[dnlen - patlen - 1] != ',' )
+ if ( !DN_SEPARATOR( e->e_ndn[dnlen - patlen - 1] ) || DN_ESCAPE( e->e_ndn[dnlen - patlen - 2] ) )
continue;
}
assert( mask != NULL );
assert( desc != NULL );
- attr = desc->ad_cname->bv_val;
+ attr = desc->ad_cname.bv_val;
assert( attr != NULL );
if ( odnlen <= patlen )
continue;
- if ( op->o_ndn[odnlen - patlen - 1] != ',' )
+ if ( !DN_SEPARATOR( op->o_ndn[odnlen - patlen - 1] ) || DN_ESCAPE( op->o_ndn[odnlen - patlen - 2] ) )
continue;
rdn = dn_rdn( NULL, op->o_ndn );
continue;
} else if ( b->a_dn_style == ACL_STYLE_SUBTREE ) {
- if ( odnlen > patlen && op->o_ndn[odnlen - patlen - 1] != ',' )
+ if ( odnlen > patlen && ( !DN_SEPARATOR( op->o_ndn[odnlen - patlen - 1] ) || DN_ESCAPE( op->o_ndn[odnlen - patlen - 2] ) ) )
continue;
} else if ( b->a_dn_style == ACL_STYLE_CHILDREN ) {
if ( odnlen <= patlen )
continue;
- if ( op->o_ndn[odnlen - patlen - 1] != ',' )
+ if ( !DN_SEPARATOR( op->o_ndn[odnlen - patlen - 1] ) || DN_ESCAPE( op->o_ndn[odnlen - patlen - 2] ) )
continue;
}
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 );
#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;
}
}
ber_bvecfree(bvals);
}
- ad_free(desc, 1);
}
}
ch_free(ndn);
{
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);
char *grpat;
ObjectClass *grp_oc = NULL;
AttributeDescription *grp_ad = NULL;
- char *text;
+ const char *text;
int rc;
/* format of string is "group/objectClassValue/groupAttrName" */
}
done:
- if( grp_ad != NULL ) ad_free( grp_ad, 1 );
ch_free(grpdn);
ch_free(grpat);
ch_free(grpoc);
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 );
}
}
- ad_free( ad, 1 );
return rc;