+ rs->sr_err = slap_mods_check( modlist, &rs->sr_text,
+ textbuf, textlen, NULL );
+
+ if ( rs->sr_err != LDAP_SUCCESS ) {
+ send_ldap_result( op, rs );
+ goto done;
+ }
+
+ /* temporary; remove if not invoking backend function */
+ op->ora_e = e;
+ op->ora_modlist = modlist;
+
+ op->o_bd = frontendDB;
+ rc = frontendDB->be_add( op, rs );
+ if ( rc == 0 ) {
+ e = NULL;
+ }
+
+done:;
+ slap_graduate_commit_csn( op );
+
+ if ( modlist != NULL ) {
+ slap_mods_free( modlist );
+ }
+ if ( e != NULL ) {
+ entry_free( e );
+ }
+ op->o_tmpfree( op->o_req_dn.bv_val, op->o_tmpmemctx );
+ op->o_tmpfree( op->o_req_ndn.bv_val, op->o_tmpmemctx );
+
+ return rc;
+}
+
+int
+fe_op_add( Operation *op, SlapReply *rs )
+{
+ int manageDSAit;
+ Entry *e = op->ora_e;
+ Modifications *modlist = op->ora_modlist;
+ Modifications **modtail = &modlist;
+ int rc = 0;
+ BackendDB *op_be;
+