]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
import fix from HEAD (error return when there's no write access to naming attributes...
authorPierangelo Masarati <ando@openldap.org>
Wed, 29 Dec 2004 13:46:23 +0000 (13:46 +0000)
committerPierangelo Masarati <ando@openldap.org>
Wed, 29 Dec 2004 13:46:23 +0000 (13:46 +0000)
CHANGES
servers/slapd/modrdn.c

diff --git a/CHANGES b/CHANGES
index 4f419d915e357208b10a2b7c125d6cba97d65922..06dc8f0495feb26aeb09eb7755c1a98ac7bfacfe 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,7 @@ OpenLDAP 2.2.20 Engineering
        Fixed slapd sl_realloc memory overrun (ITS#3420, #3404, #3296)
        Fixed slapd syncrepl bugs (ITS#3423, #3425, #3443, #3448)
        Fixed slapd bad tag handling
+       Fixed slapd error return for modrdn invalid access (ITS#3450)
        Fixed back-bdb locks in backend_group (ITS#3263, #3365)
        Fixed back-bdb/back-hdb listing of permissive control (ITS#3453)
        Fixed back-ldap failed connection retry (ITS#3217)
index 938a7734cb1b7bfb6aac072742399e66fa4bc756..8369b3c4a3c1746c9f759130881c88d5efb8300d 100644 (file)
@@ -519,6 +519,7 @@ slap_modrdn2mods(
                                "(new) not allowed\n", 
                                new_rdn[ a_cnt ]->la_attr.bv_val, 0, 0 );
 #endif
+                       rs->sr_text = "access to naming attributes (new) not allowed";
                        rs->sr_err = LDAP_INSUFFICIENT_ACCESS;
                        goto done;
                }
@@ -588,6 +589,7 @@ slap_modrdn2mods(
                                        old_rdn[ d_cnt ]->la_attr.bv_val,
                                        0, 0 );
 #endif
+                               rs->sr_text = "access to naming attributes (old) not allowed";
                                rs->sr_err = LDAP_INSUFFICIENT_ACCESS;
                                goto done;
                        }
@@ -619,7 +621,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;