]> git.sur5r.net Git - openldap/commitdiff
ITS#6469, don't touch op_attrs when updatedn is modifying contextCSN
authorRalf Haferkamp <ralf@openldap.org>
Fri, 5 Feb 2010 11:49:49 +0000 (11:49 +0000)
committerRalf Haferkamp <ralf@openldap.org>
Fri, 5 Feb 2010 11:49:49 +0000 (11:49 +0000)
servers/slapd/back-bdb/modify.c

index 847208c84165ae1fbe5efe58a5ddb94a5fdce804..84e9af87b2f84b4f8b4b6c1af590be90e7a46a26 100644 (file)
@@ -422,7 +422,13 @@ txnReturn:
 
        ctrls[num_ctrls] = NULL;
 
-       slap_mods_opattrs( op, &op->orm_modlist, 1 );
+       /* Don't touch the opattrs, if this is a contextCSN update
+        * initiated from updatedn */
+       if ( !be_isupdate(op) || !op->orm_modlist || op->orm_modlist->sml_next ||
+                op->orm_modlist->sml_desc != slap_schema.si_ad_contextCSN ) {
+
+               slap_mods_opattrs( op, &op->orm_modlist, 1 );
+       }
 
        if( 0 ) {
 retry: /* transaction retry */