Hello,
I am writing a RFC4533 client implementation based on JLDAP. I have a question on how to interpret the rfc as a client, and secondly how the OpenLDAP server interprets it.
My question is: how can the client determine that it must delete content at the end of the refresh stage, when a refreshAndPersist is requested with an initial cookie?
The problem is that I can not defer from the rfc how I can differentiate between a server that sends an initial content poll and a server that sends a content update poll. The RFC specifies that the server may choose to ignore the initial cookie and the reloadHint flag, so either poll mode may be choosen by the server. In the case of a refreshOnly the RFC is clear: when refreshDeletes of syncDoneValue is FALSE, content that is not added, changed, or indicated as present must be deleted from the client copy (section 1.3.1 paragraph 8). However, in the case of a refreshAndPersist, there is no similar flag in the SyncInfoMessage that ends the refresh stage. SyncInfoMessage does have values named refreshDelete and refreshDeletes, but these are used for other purposes (see section 3.4.1 and section 3.3.2 paragraph 7 and 9).
Am I missing something?
What is the behavior of the OpenLDAP server in this matter? Does it ever ignore the reloadHint of the sync request control?
Regards, Erik.
-- Erik van Oosten http://2008.rubyenrails.nl/ http://www.day-to-day-stuff.blogspot.com/