Pierangelo Masarati wrote:
Pierangelo Masarati wrote:
Not now. However, I think I spotted (and probably fixed) another related issue. The key point is that slapadd -w simply checks, and in case updates, the first occurrence of contextCSN. I believe this is not correct: it should go through all occurrences to find if there's one with the same SID of maxcsn and, if maxcsn is larger than that, update it. If none matches, maxcsn should be added. For this purpose, I defined a CSNSIDMatch equality rule, that works for the CSN syntax, and allows to compare CSN values by SID only. I added this logic to slapadd -w and now things seem to work as expected.
Just for the records: http://www.openldap.org/faq/data/cache/1145.html
draft-chu-ldap-csn was somewhat off base to begin with; it was an attempt to define a new format without the useless changeCount field that we're currently carrying around. Note that liblutil/csn.c documents the actual format and its original source (draft-ietf-ldup-model-03.txt) and also the change of the server ID field from 2 to 3 hex digits.