)
{
struct bdbinfo *li = (struct bdbinfo *) be->be_private;
+ struct bdb_op_info *boi = (struct bdb_op_info *) op->o_private;
+ DB_TXN *txn;
Entry *e;
int rc = 1;
Attribute *attr;
target->e_ndn, 0, 0 );
#endif
+ if( boi != NULL && be == boi->boi_bdb ) {
+ txn = boi->boi_txn;
+ }
+
if (dn_match(&target->e_name, gr_ndn)) {
/* we already have a LOCKED copy of the entry */
e = target;
#endif
} else {
/* can we find group entry */
- rc = bdb_dn2entry( be, NULL, gr_ndn, &e, NULL, 0 );
+ rc = bdb_dn2entry( be, txn, gr_ndn, &e, NULL, 0 );
if( rc ) {
+ if( txn ) {
+ boi->boi_err = rc;
+ }
return( 1 );
}
if (e == NULL) {
goto return_results;
}
- if( !is_entry_objectclass( e, group_oc ) ) {
+ if( !is_entry_objectclass( e, group_oc, 0 ) ) {
#ifdef NEW_LOGGING
LDAP_LOG(( "backend", LDAP_LEVEL_ERR,
"bdb_group: failed to find %s in objectClass.\n",