} else {
dnParent( &op->ora_e->e_nname, &pdn );
- }
- /*
- * Get the parent
- */
- bsi.bsi_e = &p;
- rs->sr_err = backsql_init_search( &bsi, &pdn,
- LDAP_SCOPE_BASE,
- (time_t)(-1), NULL, dbh, op, rs, slap_anlist_no_attrs,
- ( BACKSQL_ISF_MATCHED | BACKSQL_ISF_GET_ENTRY ) );
- if ( rs->sr_err != LDAP_SUCCESS ) {
- Debug( LDAP_DEBUG_TRACE, "backsql_add(): "
- "could not retrieve addDN parent "
- "\"%s\" ID - %s matched=\"%s\"\n",
- pdn.bv_val,
- rs->sr_err == LDAP_REFERRAL ? "referral" : "no such entry",
- rs->sr_matched ? rs->sr_matched : "(null)" );
- e = &p;
- goto done;
- }
+ /*
+ * Get the parent
+ */
+ bsi.bsi_e = &p;
+ rs->sr_err = backsql_init_search( &bsi, &pdn,
+ LDAP_SCOPE_BASE,
+ (time_t)(-1), NULL, dbh, op, rs, slap_anlist_no_attrs,
+ ( BACKSQL_ISF_MATCHED | BACKSQL_ISF_GET_ENTRY ) );
+ if ( rs->sr_err != LDAP_SUCCESS ) {
+ Debug( LDAP_DEBUG_TRACE, "backsql_add(): "
+ "could not retrieve addDN parent "
+ "\"%s\" ID - %s matched=\"%s\"\n",
+ pdn.bv_val,
+ rs->sr_err == LDAP_REFERRAL ? "referral" : "no such entry",
+ rs->sr_matched ? rs->sr_matched : "(null)" );
+ e = &p;
+ goto done;
+ }
- /* check "children" pseudo-attribute access to parent */
- if ( !access_allowed( op, &p, slap_schema.si_ad_children,
- NULL, ACL_WADD, NULL ) )
- {
- rs->sr_err = LDAP_INSUFFICIENT_ACCESS;
- e = &p;
- goto done;
+ /* check "children" pseudo-attribute access to parent */
+ if ( !access_allowed( op, &p, slap_schema.si_ad_children,
+ NULL, ACL_WADD, NULL ) )
+ {
+ rs->sr_err = LDAP_INSUFFICIENT_ACCESS;
+ e = &p;
+ goto done;
+ }
}
if ( get_assert( op ) &&
/*
* Get the parent
*/
+ e_id = bsi.bsi_base_id;
if ( !be_issuffix( op->o_bd, &op->o_req_ndn ) ) {
dnParent( &op->o_req_ndn, &pdn );
bsi.bsi_e = &p;
- e_id = bsi.bsi_base_id;
rs->sr_err = backsql_init_search( &bsi, &pdn,
LDAP_SCOPE_BASE,
(time_t)(-1), NULL, dbh, op, rs,