[Date Prev][Date Next] [Chronological] [Thread] [Top]

(ITS#5065) out of order ctxcsn from old entryCSN



Full_Name: Donn Cave
Version: 2.4.4
OS: RH Linux
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (128.95.135.150)


Old entryCSN values imported into the data from another server, can crash
replicas.

In loop at top of syncrepl_updateCookie, replica encounters a syncCookie whose
value is less than its matching si_cookieState->cs_val.  This breaks out of the
inner loop, and the outer loop, without copying anything into `first', so
slap_queue_csn crashes on the null csn.  Both are element 0 of their respective
arrays.  I assume it is no surprise that syncCookie takes its value from an
entryCSN attribute.

To duplicate, add an entry with an explicit entryCSN, with value less than the
current contextCSN.  In my case, the entryCSN is of the format without the
`decimal fraction' field, but I doubt that matters.

I don't want to say OpenLDAP needs to support this, but maybe it would be better
to catch the problem in the master, than crash the replicas.