ch_free( pdn );
/* no parent, must be root to delete */
- if( ! be_isroot( be, op->o_ndn ) ) {
+ if( ! be_isroot( be, op->o_ndn ) && ! be_issuffix( be, "" ) ) {
Debug( LDAP_DEBUG_TRACE,
"<=- bdb_delete: no parent and not root\n",
0, 0, 0);
/* ACL check of newly added attrs */
val.bv_val = new_rdn_vals[ a_cnt ];
val.bv_len = strlen( val.bv_val );
- if ( !access_allowed( be, conn, op, p,
+ if ( !access_allowed( be, conn, op, e,
desc, &val, ACL_WRITE ) ) {
Debug( LDAP_DEBUG_TRACE,
"bdb_modrdn: access to attr \"%s\" "
/* ACL check of newly added attrs */
val.bv_val = new_rdn_vals[ d_cnt ];
val.bv_len = strlen( val.bv_val );
- if ( !access_allowed( be, conn, op, p,
+ if ( !access_allowed( be, conn, op, e,
desc, &val, ACL_WRITE ) ) {
Debug( LDAP_DEBUG_TRACE,
"bdb_modrdn: access to attr \"%s\" "