]> git.sur5r.net Git - openldap/commitdiff
updatedn can add '' rooted entries (according to ACLs)
authorPierangelo Masarati <ando@openldap.org>
Fri, 16 Nov 2001 14:08:17 +0000 (14:08 +0000)
committerPierangelo Masarati <ando@openldap.org>
Fri, 16 Nov 2001 14:08:17 +0000 (14:08 +0000)
servers/slapd/back-ldbm/add.c
servers/slapd/back-ldbm/delete.c
servers/slapd/back-ldbm/modrdn.c

index c09502b16bacf64a6247c6f1a70d47157a401c5e..f02429ba26b6c547d50e5242810c65bf2d005d9d 100644 (file)
@@ -210,7 +210,8 @@ ldbm_back_add(
 
                /* no parent, must be adding entry to root */
                if ( !be_isroot( be, op->o_ndn ) ) {
-                       if ( be_issuffix( be, "" ) ) {
+                       if ( be_issuffix( be, "" ) 
+                                       || be_isupdate( be, op->o_ndn ) ) {
                                static const Entry rootp = { NOID, "", "", NULL, NULL };
                                p = (Entry *)&rootp;
                                
index c2f4e3f3781792c864095f441911b9a089d96be7..c6e9a6c501fc4e76e68a83619b6ff964033364cf 100644 (file)
@@ -154,7 +154,8 @@ ldbm_back_delete(
        } else {
                /* no parent, must be root to delete */
                if( ! be_isroot( be, op->o_ndn ) ) {
-                       if ( be_issuffix( be, "" )  ) {
+                       if ( be_issuffix( be, "" ) 
+                                       || be_isupdate( be, op->o_ndn ) ) {
                                static const Entry rootp = { NOID, "", "", NULL, NULL };
                                p = (Entry *)&rootp;
                                
index 2dad01e78e21af53d081b1245fef22a6575e0c1e..6c30a2f5d881b7a244158a2997acbbe2719e61f2 100644 (file)
@@ -208,7 +208,8 @@ ldbm_back_modrdn(
                /* no parent, must be root to modify rdn */
                isroot = be_isroot( be, op->o_ndn );
                if ( ! be_isroot ) {
-                       if ( be_issuffix( be, "" ) ) {
+                       if ( be_issuffix( be, "" )
+                                       || be_isupdate( be, op->o_ndn ) ) {
                                static const Entry rootp = { NOID, "", "", NULL, NULL };
                                p = (Entry *)&rootp;
                                
@@ -387,7 +388,8 @@ ldbm_back_modrdn(
                        }
 
                        if ( ! be_isroot ) {
-                               if ( be_issuffix( be, "" ) ) {
+                               if ( be_issuffix( be, "" )
+                                               || be_isupdate( be, op->o_ndn ) ) {
                                        static const Entry rootp = { NOID, "", "", NULL, NULL };
                                        np = (Entry *)&rootp;