]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/modrdn.c
minor naming cleanup; improvements to DN mapping layer; major docs update
[openldap] / servers / slapd / modrdn.c
index 6446a311af7b8791d23deb93efb4018fbac6f3ed..f6157df780be6e913f897da7cc14af7062597bcf 100644 (file)
@@ -1,7 +1,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2004 The OpenLDAP Foundation.
+ * Copyright 1998-2005 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -219,8 +219,8 @@ fe_op_modrdn( Operation *op, SlapReply *rs )
                goto cleanup;
        }
 
-       Statslog( LDAP_DEBUG_STATS, "conn=%lu op=%lu MODRDN dn=\"%s\"\n",
-           op->o_connid, op->o_opid, op->o_req_dn.bv_val, 0, 0 );
+       Statslog( LDAP_DEBUG_STATS, "%s MODRDN dn=\"%s\"\n",
+           op->o_log_prefix, op->o_req_dn.bv_val, 0, 0, 0 );
 
        manageDSAit = get_manageDSAit( op );
 
@@ -229,7 +229,7 @@ fe_op_modrdn( Operation *op, SlapReply *rs )
         * appropriate one, or send a referral to our "referral server"
         * if we don't hold it.
         */
-       op->o_bd = select_backend( &op->o_req_ndn, manageDSAit, 0 );
+       op->o_bd = select_backend( &op->o_req_ndn, manageDSAit, 1 );
        if ( op->o_bd == NULL ) {
                rs->sr_ref = referral_rewrite( default_referral,
                        NULL, &op->o_req_dn, LDAP_SCOPE_DEFAULT );
@@ -338,7 +338,7 @@ fe_op_modrdn( Operation *op, SlapReply *rs )
                                org_managedsait = get_manageDSAit( op );
                                op->o_dn = op->o_bd->be_rootdn;
                                op->o_ndn = op->o_bd->be_rootndn;
-                               op->o_managedsait = 1;
+                               op->o_managedsait = SLAP_CONTROL_NONCRITICAL;
 
                                while ( rs->sr_err == LDAP_SUCCESS &&
                                                op->o_delete_glue_parent ) {
@@ -440,6 +440,7 @@ slap_modrdn2mods(
                                "slap_modrdn2modlist: access to attr \"%s\" "
                                "(new) not allowed\n", 
                                new_rdn[ a_cnt ]->la_attr.bv_val, 0, 0 );
+                       rs->sr_text = "access to naming attributes (new) not allowed";
                        rs->sr_err = LDAP_INSUFFICIENT_ACCESS;
                        goto done;
                }
@@ -493,6 +494,7 @@ slap_modrdn2mods(
                                        "to attr \"%s\" (old) not allowed\n", 
                                        old_rdn[ d_cnt ]->la_attr.bv_val,
                                        0, 0 );
+                               rs->sr_text = "access to naming attributes (old) not allowed";
                                rs->sr_err = LDAP_INSUFFICIENT_ACCESS;
                                goto done;
                        }
@@ -524,7 +526,7 @@ slap_modrdn2mods(
        
 done:
 
-       if ( !repl_user ) {
+       if ( rs->sr_err == LDAP_SUCCESS && !repl_user ) {
                char textbuf[ SLAP_TEXT_BUFLEN ];
                size_t textlen = sizeof textbuf;