]> git.sur5r.net Git - openldap/commitdiff
ITS#6821
authorQuanah Gibson-Mount <quanah@openldap.org>
Thu, 3 Feb 2011 03:14:49 +0000 (03:14 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Thu, 3 Feb 2011 03:14:49 +0000 (03:14 +0000)
CHANGES
servers/slapd/back-ndb/modify.cpp

diff --git a/CHANGES b/CHANGES
index d5d4dcc00bd1f4327100514f13b90d8c7f457464..ddea9c573085f6cc5c26fa4c5192d60a5502f1e0 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -81,6 +81,7 @@ OpenLDAP 2.4.24 Engineering
        Fixed slapd-ndb to honor rootpw setting (ITS#6661)
        Fixed slapd-ndb hasSubordinates generation (ITS#6712)
        Fixed slapd-ndb variable initialization (ITS#6806)
+       Fixed slapd-ndb with out of order attributes (ITS#6821)
        Fixed slapd-meta anon retry with failed auth method (ITS#6643)
        Fixed slapd-meta rebind proc (ITS#6665)
        Fixed slapd-meta to correctly rebind as user (ITS#6574)
index dac207b279b061eacf33881620a3cd14c08372d0..188826140cc3ae399f7eddad6276778b8f4daa51 100644 (file)
@@ -334,6 +334,14 @@ int ndb_modify_internal(
                return rc;
        }
 
+       if ( got_oc ) {
+               rc = ndb_entry_put_info( op->o_bd, NA, 1 );
+               if ( rc ) {
+                       attrs_free( old );
+                       return rc;
+               }
+       }
+
        /* apply modifications to DB */
        modai = (NdbAttrInfo **)op->o_tmpalloc( nmods * sizeof(NdbAttrInfo*), op->o_tmpmemctx );
 
@@ -357,7 +365,8 @@ int ndb_modify_internal(
        }
        ldap_pvt_thread_rdwr_runlock( &ni->ni_ai_rwlock );
 
-       if ( got_oc || indexed ) {
+       /* If got_oc, this was already done above */
+       if ( indexed && !got_oc) {
                rc = ndb_entry_put_info( op->o_bd, NA, 1 );
                if ( rc ) {
                        attrs_free( old );