For weeks I had the intention to use my Android phone with Zarafa and Z-Push. However, my phone always reported that protocol version provided by the server would not be supported. I had a day off today and dug into the code (first Z-Push, then CyanogenMod 10) to track down the problem. It seemed like there would be a problem with the OPTIONS request in ActiveSync and the headers sent by Z-Push. I ended up using Fiddler to inspect the HTTPS traffic, in particular the headers and it turned out that Z-Push did not send the headers to identify the ActiveSync protocol. But the PHP-code (already messed with debugging output of my own) did send the headers.
Surprisingly, a minimal PHP script that did nothing by sending headers also worked. After a while it seems like the PHP output buffering (ob_start) dropped the headers, but then ob_clean or _flush at before and/or after the header call didn’t change anything.
Staring at the Fiddler traffic of the working testing code brought the saving idea: I had mod_pagespeed enabled (which I noticed, because it also added a header of its own). Turning it off made everything work!
Conclusion: Z-Push is incompatible with mod_pagespeed!
I have that same problem with mod_pagespeed interfering with Z-Push as I was spending a week trying to find a solution to the problem when I started a thread in here: https://forums.zarafa.com/showthread.php?9353-Z-Push-NoPostRequestException-with-devID-and-devType-Blank&p=42380#post42380
Man, I’m glad I’ve had that resolved!
[…] Grayson Peddie on Android Z-Push […]
Kommentare sind geschlossen.