]> 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 de26c6c7a0d5df607ea0b5a747d33022e5f3990b..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
@@ -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 );
@@ -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;