diff --git a/CHANGES b/CHANGES index 96047ce9dfd908aafad7204fa50c869db1015b73..c8f633cae6d62f3f8d1ae16cc430b3ee40a406ea 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,7 @@ OpenLDAP 2.4.22 Engineering Fixed slapd empty URI parsing (ITS#6465) Fixed slapd REP_ENTRY flag handling (ITS#5340) Fixed slapd sasl auxprop_lookup (ITS#6441) + Fixed slapd-bdb contextCSN updates from updatedn (ITS#6469) Fixed slapo-collect REP_ENTRY flag handling (ITS#5340,ITS#6423) Fixed slapo-dynlist REP_ENTRY flag handling (ITS#5340,ITS#6423) Fixed slapo-rwm olcRwmMap handling (ITS#6436) diff --git a/servers/slapd/back-bdb/modify.c b/servers/slapd/back-bdb/modify.c index ea126d98a08474847338aee5f801b07d48a08b90..5db7aa984770e7676323c9b22fa9ca4be44f0a95 100644 --- a/servers/slapd/back-bdb/modify.c +++ b/servers/slapd/back-bdb/modify.c @@ -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 */