David Ramsden

Fixes For Z-Push

Z-Push is an open source implementation of Microsoft's ActiveSync protocol, an “over-the-air” synchronisation protocol for email, calendars and contacts.

This patch was created against revision 295 from the Z-Push SVN repository. As newer code is checked in, this patch my not apply cleanly. At the time of writing, it probably won't apply cleanly to the latest stable release of Z-Push.


This patch is based on various fixes found on the Z-Push forums. This patch currently addresses the following issues:

  • Apache specific apache_request_headers() PHP function used. Replaced to use getallheaders(). If this function doesn't exist, it defines a suitable function that should work with any web server.
  • When previewing messages (in the Inbox for example), messages are incorrectly marked as read. This issue occurs specifically with Dovecot.
  • Moving messages does not work. ImportMessageMove() routine in diffbackend.php just returns, instead of calling the move routine for the selected backend.
  • Better handling of emails with attachments.

This patch also implements the following new features:

  • Allows turning debugging on/off, via DEBUGGING flag in zpushdefs.php


Checkout the latest Z-Push from SVN, or specifically checkout revision 295. Download the patch. Apply using the patch command.


  1. z-push.patch