[Dovecot] Issues with VANISHED CHANGEDSINCE

Michael J Rubinsky mrubinsk at horde.org
Tue Nov 6 16:23:10 EET 2012


Quoting Robert Schetterer <rs at sys4.de>:

> Am 06.11.2012 13:17, schrieb Timo Sirainen:
>> the only problem is activesync implementation using it
>
> Hi, Michael,
> as i am going to implement horde 5 active sync server in near Future
> with dovecot , i followed this in high interest
>
> I know horde active sync server is different to z-push
> so sorry my question, i recent use z-push with dovecot and never noticed
> any problems with it, so how does z-push handle this "problem" comparing
> horde, any chance to workaround it in horde code ?

ZPush's default "imap backend" implementation uses PHP's imap  
implementation, which has _many_ problems. Horde's uses  
Horde_Imap_Client a PHP native implementation with tons of  
improvements over just about any other available IMAP client  
implementation in PHP.

The problem I'm describing stems from our ActiveSync code trying to  
take advantage of IMAP extensions such as QRESYNC, where the server  
can track and report things like expunged messages, flag changes  
etc... since a known point without us having to cache and track every  
bit of information about the device's state. This is what ZPush does,  
it uses plaintext files on the server and writes out all the message  
ids and flag states that were sent to each device. Then during every  
sync, it retrieves the complete list of message ids and flag state  
from the IMAP server again and compares them against the data in the  
text file to determine the deltas.

There is already a work around for this in place - if we detect a UID  
being returned from one of these VANISHED responses that is older than  
the oldest known UID we know was sent to the device then we reset the  
device's mailbox state, causing the mailbox to resync.

We already track the UIDs of all email sent to the device in our state  
tables when using a server that does not support QRESYNC, I plan on  
extending/improving this and getting rid of the current use VANISHED  
data completely.

For further information about our code vs ZPush you can read a basic  
overview on our wiki page http://wiki.horde.org/ActiveSync. I'm in the  
process of a more detailed feature comparison grid, but it's far from  
ready.

Please move any further discussion specific to Horde's ActiveSync code  
to the dev at lists.horde.org mailing list.


> Hacking dovecot might be complex, as it should fit in so many stuff and
> setups

I would never suggest people should hack server code to get other code  
to work :)

> Anyway i agree many people using active sync in their smartphone these
> days and new outlook will also have a active sync mode, so there
> shouldnt stay any fixable problems ( where ever they may be ), but in my
> understanding the imap server ( dovecot ) acts more like a backhand here
> did you test against recent versions of cyrus etc, how is their behave
> in this case?

I have not personally tested against cyrus, but I know some of our  
other devs use cyrus with the ActiveSync code base.
-- 
mike

The Horde Project (www.horde.org)
mrubinsk at horde.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 6062 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://dovecot.org/pipermail/dovecot/attachments/20121106/f2affb1e/attachment-0004.bin>


More information about the dovecot mailing list