Erik van Oosten wrote:
Still, this interpretation can not be correct. When I run my sync
program against OpenLDAP (2.3.36), and then restart it after the refresh
stage with the last received cookie (note: the DIT remains unchanged), the
first message is exactly that SyncInfoMessage of refreshPresent with
refreshDone set to TRUE. Using our interpretation I should now delete all
client content! Since the DIT was not changed this is clearly wrong. (By
the way the new server cookie is the same as the initial cookie, but
depending on this is tricky; the client should never interpret the
Are you still talking about refreshAndPersist mode, or refreshonly?
There appears to be a detail missing from the RFC - when no changes have
occurred since the last refresh, for refreshOnly the provider will send a Sync
Done refreshDeletes control with no cookie. I.e., if the state hasn't changed,
the cookie would be identical, so there's no need to send it back to the consumer.
For refreshAndPersist it always sends the cookie back. I think this may be a
bug, we probably shouldn't be sending the cookie in this case either. So, you
*should* be able to assume that no changes have occurred at all when no cookie
I am quite confused here. Where is the error in our reasoning?
-- Howard Chu
Chief Architect, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/