Home | History | Annotate | Download | only in back-mdb

Lines Matching refs:rs

30 mdb_compare( Operation *op, SlapReply *rs )
39 rs->sr_err = mdb_opinfo_get(op, mdb, 1, &moi);
40 switch(rs->sr_err) {
44 send_ldap_error( op, rs, LDAP_OTHER, "internal error" );
45 return rs->sr_err;
51 rs->sr_err = mdb_dn2entry( op, rtxn, NULL, &op->o_req_ndn, &e, NULL, 1 );
52 switch( rs->sr_err ) {
57 rs->sr_text = "ldap server busy";
60 rs->sr_err = LDAP_OTHER;
61 rs->sr_text = "internal error";
65 if ( rs->sr_err == MDB_NOTFOUND ) {
71 rs->sr_err = LDAP_NO_SUCH_OBJECT;
74 rs->sr_matched = ch_strdup( e->e_dn );
77 rs->sr_ref = referral_rewrite( ref, &e->e_name,
81 rs->sr_ref = NULL;
83 rs->sr_err = LDAP_REFERRAL;
89 rs->sr_ref = referral_rewrite( default_referral,
91 rs->sr_err = rs->sr_ref ? LDAP_REFERRAL : LDAP_NO_SUCH_OBJECT;
94 rs->sr_flags = REP_MATCHED_MUSTBEFREED | REP_REF_MUSTBEFREED;
95 send_ldap_result( op, rs );
104 rs->sr_err = LDAP_NO_SUCH_OBJECT;
107 rs->sr_ref = get_entry_referrals( op, e );
108 rs->sr_err = LDAP_REFERRAL;
109 rs->sr_matched = e->e_name.bv_val;
114 send_ldap_result( op, rs );
116 ber_bvarray_free( rs->sr_ref );
117 rs->sr_ref = NULL;
118 rs->sr_matched = NULL;
122 rs->sr_err = slap_compare_entry( op, e, op->orc_ava );
125 send_ldap_result( op, rs );
127 switch ( rs->sr_err ) {
130 rs->sr_err = LDAP_SUCCESS;
146 return rs->sr_err;