LDAPMod **attrs;
struct berval mapped;
struct berval mdn = { 0, NULL };
+ ber_int_t msgid;
#ifdef NEW_LOGGING
LDAP_LOG( BACK_LDAP, ENTRY, "ldap_back_add: %s\n", e->e_dn, 0, 0 );
#endif /* !NEW_LOGGING */
lc = ldap_back_getconn(li, conn, op);
- if ( !lc || !ldap_back_dobind( lc, op ) ) {
+ if ( !lc || !ldap_back_dobind( li, lc, conn, op ) ) {
return( -1 );
}
continue;
}
- ldap_back_map(&li->at_map, &a->a_desc->ad_cname, &mapped, 0);
- if (mapped.bv_val == NULL) {
+ ldap_back_map(&li->at_map, &a->a_desc->ad_cname, &mapped,
+ BACKLDAP_MAP);
+ if (mapped.bv_val == NULL || mapped.bv_val[0] == '\0') {
continue;
}
}
attrs[i] = NULL;
- ldap_add_s(lc->ld, mdn.bv_val, attrs);
+ j = ldap_add_ext(lc->ld, mdn.bv_val, attrs, op->o_ctrls, NULL, &msgid);
for (--i; i>= 0; --i) {
ch_free(attrs[i]->mod_vals.modv_bvals);
ch_free(attrs[i]);
free( mdn.bv_val );
}
- return( ldap_back_op_result( lc, op ) );
+ return( ldap_back_op_result( li, lc, conn, op, msgid, j, 1 ) );
}
#ifdef ENABLE_REWRITE