#ifdef NEW_LOGGING
LDAP_LOG(( "backend", LDAP_LEVEL_ENTRY,
- "ldbm_modify_internal: %s\n", dn ));
+ "ldbm_modify_internal: %s\n", dn ));
#else
Debug(LDAP_DEBUG_TRACE, "ldbm_modify_internal: %s\n", dn, 0, 0);
#endif
case LDAP_MOD_ADD:
#ifdef NEW_LOGGING
LDAP_LOG(( "backend", LDAP_LEVEL_DETAIL1,
- "ldbm_modify_internal: add\n" ));
+ "ldbm_modify_internal: add\n" ));
#else
Debug(LDAP_DEBUG_ARGS, "ldbm_modify_internal: add\n", 0, 0, 0);
#endif
- err = add_values( e, mod, op->o_ndn );
+ err = add_values( e, mod, op->o_ndn.bv_val );
if( err != LDAP_SUCCESS ) {
*text = "modify: add values failed";
#ifdef NEW_LOGGING
LDAP_LOG(( "backend", LDAP_LEVEL_INFO,
- "ldbm_modify_internal: failed %d (%s)\n",
- err, *text ));
+ "ldbm_modify_internal: failed %d (%s)\n",
+ err, *text ));
#else
Debug(LDAP_DEBUG_ARGS, "ldbm_modify_internal: %d %s\n",
err, *text, 0);
case LDAP_MOD_DELETE:
#ifdef NEW_LOGGING
LDAP_LOG(( "backend", LDAP_LEVEL_DETAIL1,
- "ldbm_modify_internal: delete\n" ));
+ "ldbm_modify_internal: delete\n" ));
#else
Debug(LDAP_DEBUG_ARGS, "ldbm_modify_internal: delete\n", 0, 0, 0);
#endif
- err = delete_values( e, mod, op->o_ndn );
+ err = delete_values( e, mod, op->o_ndn.bv_val );
assert( err != LDAP_TYPE_OR_VALUE_EXISTS );
if( err != LDAP_SUCCESS ) {
*text = "modify: delete values failed";
#ifdef NEW_LOGGING
LDAP_LOG(( "backend", LDAP_LEVEL_INFO,
- "ldbm_modify_internal: failed %d (%s)\n", err, *text ));
+ "ldbm_modify_internal: failed %d (%s)\n", err, *text ));
#else
Debug(LDAP_DEBUG_ARGS, "ldbm_modify_internal: %d %s\n",
err, *text, 0);
case LDAP_MOD_REPLACE:
#ifdef NEW_LOGGING
LDAP_LOG(( "backend", LDAP_LEVEL_DETAIL1,
- "ldbm_modify_internal: replace\n" ));
+ "ldbm_modify_internal: replace\n" ));
#else
Debug(LDAP_DEBUG_ARGS, "ldbm_modify_internal: replace\n", 0, 0, 0);
#endif
- err = replace_values( e, mod, op->o_ndn );
+ err = replace_values( e, mod, op->o_ndn.bv_val );
assert( err != LDAP_TYPE_OR_VALUE_EXISTS );
if( err != LDAP_SUCCESS ) {
*text = "modify: replace values failed";
#ifdef NEW_LOGGING
LDAP_LOG(( "backend", LDAP_LEVEL_INFO,
- "ldbm_modify_internal: failed %d (%s)\n", err, *text ));
+ "ldbm_modify_internal: failed %d (%s)\n", err, *text ));
#else
Debug(LDAP_DEBUG_ARGS, "ldbm_modify_internal: %d %s\n",
err, *text, 0);
case SLAP_MOD_SOFTADD:
#ifdef NEW_LOGGING
LDAP_LOG(( "backend", LDAP_LEVEL_DETAIL1,
- "ldbm_modify_internal: softadd\n" ));
+ "ldbm_modify_internal: softadd\n" ));
#else
Debug(LDAP_DEBUG_ARGS, "ldbm_modify_internal: softadd\n", 0, 0, 0);
#endif
* We need to add index if necessary.
*/
mod->sm_op = LDAP_MOD_ADD;
- err = add_values( e, mod, op->o_ndn );
+ err = add_values( e, mod, op->o_ndn.bv_val );
if ( err == LDAP_TYPE_OR_VALUE_EXISTS ) {
err = LDAP_SUCCESS;
default:
#ifdef NEW_LOGGING
LDAP_LOG(( "backend", LDAP_LEVEL_ERR,
- "ldbm_modify_internal: invalid op %d\n", mod->sm_op ));
+ "ldbm_modify_internal: invalid op %d\n", mod->sm_op ));
#else
Debug(LDAP_DEBUG_ANY, "ldbm_modify_internal: invalid op %d\n",
mod->sm_op, 0, 0);
*text = "Invalid modify operation";
#ifdef NEW_LOGGING
LDAP_LOG(( "backend", LDAP_LEVEL_INFO,
- "ldbm_modify_internal: %d (%s)\n", err, *text ));
+ "ldbm_modify_internal: %d (%s)\n", err, *text ));
#else
Debug(LDAP_DEBUG_ARGS, "ldbm_modify_internal: %d %s\n",
err, *text, 0);
e->e_attrs = save_attrs;
#ifdef NEW_LOGGING
LDAP_LOG(( "backend", LDAP_LEVEL_ERR,
- "ldbm_modify_internal: entry failed schema check: %s\n",
- *text ));
+ "ldbm_modify_internal: entry failed schema check: %s\n",
+ *text ));
#else
Debug( LDAP_DEBUG_ANY, "entry failed schema check: %s\n",
*text, 0, 0 );
Backend *be,
Connection *conn,
Operation *op,
- const char *dn,
- const char *ndn,
+ struct berval *dn,
+ struct berval *ndn,
Modifications *modlist
)
{
#ifdef NEW_LOGGING
LDAP_LOG(( "backend", LDAP_LEVEL_ENTRY,
- "ldbm_back_modify: enter\n" ));
+ "ldbm_back_modify: enter\n" ));
#else
Debug(LDAP_DEBUG_ARGS, "ldbm_back_modify:\n", 0, 0, 0);
#endif
/* acquire and lock entry */
- if ( (e = dn2entry_w( be, ndn, &matched )) == NULL ) {
+ if ( (e = dn2entry_w( be, ndn->bv_val, &matched )) == NULL ) {
char* matched_dn = NULL;
- struct berval **refs = NULL;
+ struct berval **refs;
if ( matched != NULL ) {
matched_dn = ch_strdup( matched->e_dn );
: NULL;
cache_return_entry_r( &li->li_cache, matched );
} else {
- refs = default_referral;
+ refs = referral_rewrite( default_referral,
+ NULL, dn, LDAP_SCOPE_DEFAULT );
}
send_ldap_result( conn, op, LDAP_REFERRAL,
matched_dn, NULL, refs, NULL );
- if ( matched != NULL ) {
- ber_bvecfree( refs );
- free( matched_dn );
- }
+ ber_bvecfree( refs );
+ free( matched_dn );
return( -1 );
}
#ifdef NEW_LOGGING
LDAP_LOG(( "backend", LDAP_LEVEL_INFO,
- "ldbm_back_modify: entry (%s) is referral\n", ndn ));
+ "ldbm_back_modify: entry (%s) is referral\n", ndn->bv_val ));
#else
Debug( LDAP_DEBUG_TRACE, "entry is referral\n", 0,
0, 0 );
}
/* Modify the entry */
- rc = ldbm_modify_internal( be, conn, op, ndn, modlist, e,
+ rc = ldbm_modify_internal( be, conn, op, ndn->bv_val, modlist, e,
&text, textbuf, textlen );
if( rc != LDAP_SUCCESS ) {
int rc;
int j;
const char *text = NULL;
- struct berval *asserted;
+ struct berval *asserted = NULL;
rc = value_normalize( mod->sm_desc,
SLAP_MR_EQUALITY,
for ( j = 0; a->a_vals[j] != NULL; j++ ) {
int match;
int rc = value_match( &match, mod->sm_desc, mr,
- SLAP_MR_MODIFY_MATCHING,
+ SLAP_MR_VALUE_SYNTAX_MATCH,
a->a_vals[j], asserted, &text );
if( rc == LDAP_SUCCESS && match == 0 ) {
int rc;
const char *text = NULL;
- struct berval *asserted;
+ struct berval *asserted = NULL;
rc = value_normalize( mod->sm_desc,
SLAP_MR_EQUALITY,
for ( j = 0; a->a_vals[j] != NULL; j++ ) {
int match;
int rc = value_match( &match, mod->sm_desc, mr,
- SLAP_MR_MODIFY_MATCHING,
+ SLAP_MR_VALUE_SYNTAX_MATCH,
a->a_vals[j], asserted, &text );
if( rc == LDAP_SUCCESS && match != 0 ) {