Menu

Z-Push Zimbra Backend / News: Recent posts

Release 69 is now available

As always - please read the full Release Notes before upgrading

Added descriptive WARN message for unavailable shared folder
In isZimbraObjectInSyncInterval treat no response as false
Fix processing of zimbraMailAlias to handle string if exactly one alias
Fix ChangeMessage to strip input Categories from shared folder items
Renamed constructor function of mime.php, mimePart.php and z_RTF.php
Added hash to Primary folder stats to improve virtual folder change detection
Added logic to clear cache on Logoff where folder changes are detected
Updated comment and removed extra debug logging from recent fixes

Posted by LiverpoolFCfan 2020-01-09 Labels: Release69

Release 67 is now available

As always - please read the full Release Notes before upgrading

Changes Made To Revision 67:
- Allow for iPxx device meeting modification request with shadow data
- Changed ZIMBRA_DEBUG logging of folder setup to only fire on word 'setup'
- Move GetMailboxSearchResults() Log line to avoid warning on no folder Id
- Tidy up logging in GetMailboxSearchResults()
- Add debug logging of unidentified incoming Timezone in ChangeMessage()
- unset $preModAppt->recurrence->premodtype after using it to fix type
- Log error and return false if GetMsgResponse is not present in response
- Add config.php option ZIMBRA_DISABLE_BIRTHDAY_SYNC
- Don't allow difference in dtstamp of appointment exceptions cause an issue
- Keep original Organizer for Tasks in ChangeMessage
- Check for service.PROXY_ERROR in Login and ChangesSink in multi-server setup
- If no Change Token is returned from CreateWaitSet then delay and return
- Updated comment on FakeOutbox

Posted by LiverpoolFCfan 2017-10-09

Release 66 is now available

As always - Please read the full Release Notes before upgrading

Changes Made To Revision 66:

  • Use zimbraHttpStreamWrapper class to output MIME body
  • Log ERROR if setting "zimbraAttachmentsBlocked" is "TRUE"
  • Fix passing header on GetFolder for shared folders generates new session
  • Replace split() with explode() for PHP 7 compatability
  • Refactored GetMessageList() to improve efficiency and reduce memory needed
  • Added config.php options ZIMBRA_SSL_VERIFYPEER and ZIMBRA_SSL_VERIFYHOST
  • Added SSL Verify Peer and Host options to zimbraHttpStreamWrapper class
Posted by LiverpoolFCfan 2017-01-10 Labels: Release66

Anyone have an old unwanted iPhone 5 that needs a new home?

There are some recent changes to iOS 9.3.x and 10 that are breaking things in z-push. The z-push guys are fixing them as they are reported. However, some of these require backend changes. My old iPhone 4 cannot run these iOS releases so I am unable to test these issues/fixes.

If anyone has an old iPhone 5 lying around that they would like to donate for a good cause, please get in touch.

Posted by LiverpoolFCfan 2016-10-06

Release 65 is now available

As always - please read the full Release Notes before upgrading

Changes Made To Revision 65:

  • Added zimbraHttpStreamWrapper class to provide attachment length to streamer
  • If inv[0] of a Calendar item is an Exception then don't treat it as one
  • Fixed issue with timezone identification where DST is not observed
  • Fixed issue with population of Timezone object in function GetTz()
  • Added handling of Company Main Phone field and nickName
  • Added readonly parameter to Setup() for z-push 2.3 support
  • Updated GetInvIDFromMsgID to retrieve InvID from Message for exceptions
  • Commented out some debug logging
  • Incorrect variable name used in unlink command - Check for orphaned files
Posted by LiverpoolFCfan 2016-08-31

Release 64 is now available

Changes Made To Revision 64: z-push-2 version ONLY

These changes are for the z-push-2 version ONLY
The z-push-1 and as12.1 versions are still at Revision 54

  • Correct path to backend multi-folder support file for autodiscover
  • Identify character encoding of Attachment name and re-use when forwarding
  • Remove closing PHP tag from files
  • Remove unused experimental function CustomRowCmp
  • Set X-Forwarded-For header to Request::$RemoteAddr if available
  • Added ua string 'MSFT-WP/10' to the zimbraMultiFolderUAs.php file
  • Save folder permissions in folder array/cache
  • If shared calendar with write permision do not output Organizer
  • Added ua string 'Android/6' to the zimbraMultiFolderUAs.php file
  • Add try/catch around call to ZPush::GetDeviceManager()->GetUserAgent()
  • Support new names for Z-Push official ResolveRecipients classes
  • Added code to handle SyncBaseBody as a stream for Z-Push 2.3 and later
  • For deleted recurring meetings set meetingstatus to null - don't unset it
  • For recurring meetings do not output meetingstatus on exceptions in AS 2.5
  • Updated Out-Of-Office to handle different External messages
  • Handle both Autodiscover and Browser Tests when setting the ua string
  • Allow a default user XML file to be used for all users
  • Add support for category changing to messages and to cachedMessageLists
  • Renamed constructor function from BackendZimbra to construct
  • Removed //IGNORE//TRANSLIT from $params array in SendMail
  • Added new config setting 'ZIMBRAURLALLOWREDIRECT' for OPEN LDAP auth
  • Added SmartFolders flag to cache to detect changes and invalidate cache
  • Added stats field to folders for use by new FolderStats functionality
  • Added extra GetFolder calls to get data on Shared Folders for FolderStats
Posted by LiverpoolFCfan 2016-04-03

Release 63 is now available

Changes Made To Revision 63: z-push-2 version ONLY

These changes are for the z-push-2 version ONLY
The z-push-1 and as12.1 versions are still at Revision 54

  • Ensure meetingstatus is output correctly for main and exceptions
  • Only output attendeestatus to the meeting organizer
  • Change 'Android/5.0' to 'Android/5' as a multi-folder capable _ua string
    in order to match Android/5.1 also
  • Since z-push 2.2.2 the class StringStreamWrapper has been moved and
    pre-included from index.php - Check before including it from old location
  • Use new exception constant SyncCollections::HIERARCHY_CHANGED
  • Trap additional HTML errors in SoapRequest to prevent removing content
  • Add checking for HTML errors in functions Logon and ChangesSink
  • Fix ChangeFolder function so create/rename/delete/move all work
  • Changed SendMail filter to keep the original body in more cases
  • Add neg="1" flag to incoming appointment alarms
  • Check for Request class in Logon function before setting client variables
  • Removed reference to Request class from function SoapRequest
  • Reworked Multi-Folder support adding a new configuration file
  • Check for existence of DiffState::RowCmp before calling it
  • Use DeviceManager function GetUserAgent if available
Posted by LiverpoolFCfan 2015-08-22

Release 62 is now available

Changes Made To Revision 62: z-push-2 version ONLY

These changes are for the z-push-2 version ONLY
The z-push-1 and as12.1 versions are still at Revision 54

  • Add 'Android/5.0' as a multi-folder capable _ua string
  • Report actual UserAgent, partial DeviceID, and IP Address in headers
  • Remove X-Mailer-Connector header from SendMail
  • Output meetingstatus on Exceptions too
  • Output recurrence type 1 for zimbra "DAI"ly appointments that are weekly
  • Added X-Forwarded-For HTTP header to CURL options
  • Wrap subject with htmlspecialchars in 3 places it was overlooked
  • Add check for class ZPushAutodiscover to initial host version check
  • Additional check added to functions GetAttachmentData and
    ItemOperationsGetAttachmentData to allow for Sub-Folder of Shared folder
  • Disable document access if Class SyncDocumentLibraryDocument does not exist
  • Fix in MakeXMLTree for case where tag has no attributes
  • Add required use of new curl_file_create function for PHP 5.5 and later
  • Output the Organizer Name/Email on Appointments if available
Posted by LiverpoolFCfan 2015-05-09

Release 61 is now available

Changes Made To Revision 61: z-push-2 version ONLY

These changes are for the z-push-2 version ONLY
The z-push-1 and as12.1 versions are still at Revision 54

  • Remove forcing CURLOPT_SSLVERSION to 3 (to avoid SSLv3 POODLE issue)
  • Fix SendMailSenderFix email address for condition where no from header
    and full email address used as username
  • Throw exception on SOAP FAULT - service.AUTH_EXPIRED to force re-auth
  • Fix initialization of _userFolderTypeActive based on GetInfoResponse
  • Add ZIMBRA_DISABLE_DOCUMENTS setting to Config File notes below
  • Added function GetUserDetails needed for AutoDiscover feature
  • Fix check for zimbraPrefFromDisplay and zimbraPrefFromAddress
  • Use configured zimbraPrefFromAddress as sender email address if different
    from account name
  • Fix clear SendAsNameOverride, SendAsEmailOverride, ServerInviteReply from
    cache
Posted by LiverpoolFCfan 2014-10-20 Labels: Release61 POODLE

Release 61 is now available

Changes Made To Revision 61: z-push-2 version ONLY

These changes are for the z-push-2 version ONLY
The z-push-1 and as12.1 versions are still at Revision 54

  • Remove forcing CURLOPT_SSLVERSION to 3 (to avoid SSLv3 POODLE issue)
  • Fix SendMailSenderFix email address for condition where no from header
    and full email address used as username
  • Throw exception on SOAP FAULT - service.AUTH_EXPIRED to force re-auth
  • Fix initialization of _userFolderTypeActive based on GetInfoResponse
  • Add ZIMBRA_DISABLE_DOCUMENTS setting to Config File notes below
  • Added function GetUserDetails needed for AutoDiscover feature
  • Fix check for zimbraPrefFromDisplay and zimbraPrefFromAddress
  • Use configured zimbraPrefFromAddress as sender email address if different
    from account name
  • Fix clear SendAsNameOverride, SendAsEmailOverride, ServerInviteReply from
    cache
Posted by LiverpoolFCfan 2014-10-20 Labels: Release61

Release 60 is now available

Changes Made To Revision 60:

These changes are for the z-push-2 version ONLY
The z-push-1 and as12.1 versions are still at Revision 54

  • Save folder owner at Setup for shared folders, and use folder owner as
    organizer when creating appointments in a shared calendar folder
  • Add new function isZimbraObjectInSyncInterval() to check if an item being
    changed/deleted by a device is within the devices sync window.
  • Assign default of 'Unavailable' to _changeToken if it is not already set
  • Initialise _cacheChangeToken to 'NotSet' if cache is not used
  • Do not use absFolderPath for shared folder as it is path in other mailbox
  • Rename _deviceAgent to _ua
  • Add 'Android/4.4' as a multi-folder capable _ua string
  • Removed uninitialized variable _num_soap_calls from function SoapRequest()
  • Add authToken to header for NoOpRequest() calls for Nginx traversal
  • Don't call isZimbraObjectInSyncInterval() from ChangeMessage if id is blank
  • Add check for parentid '0' in GetFolder() before identifying it as a
    special folder - Inbox, Sent, Trash, Drafts, Outbox
  • Change the eol in SendMail from "\n" to "\r\n" as Outlook 2013 was unable
    to display Sent Items correctly with "\n"
Posted by LiverpoolFCfan 2014-06-04

Release 58 is now available

Changes Made To Revision 58:

These changes are for the z-push-2 version ONLY

  • Fix Logoff to only call EndSessionRequest if session was _connected and
    also add try/catch to ensure no exceptions are throw back to index.php
  • Change flagged memory amount to 10M in ReportMemoryUsage
  • Filter out Content-Transfer-Encoding header in SendMail
  • Fix content-transfer-encoding substring length (change from 13 to 26)
  • Add authToken back into SoapRequest header as it seems that passing it as
    a cookie does not suffice in all scenarios
  • Implement Flags support to sync set/unset flags both ways. Also sends
    updated LastVerbExecuted
  • Removed default value "=false" from $contentParameters parameter on
    functions MoveMessage, ChangeMessage, DeleteMessage and SetReadFlag
  • Change GetDocumentLibrary to use exact filename given (remove str_replace)
Posted by LiverpoolFCfan 2014-01-20 Labels: Release58

Release 56 is available

NEW FOR RELEASE 56 - Use with z-push 2.0.7 or later

NEW FOR RELEASE 56 - An issue has been identified with the list sorting method utilized
by z-push in conjunction with zimbra. The basic sort method used in the diffstate.php
module (which Zimbra backend utilizes) is a numeric comparison. While this works fine
for a zimbra user with no shared folders - it does not work once the user has folder
shares in their sync floder list. Zimbra precedes the message IDs from shared folders with
the GUID of the sharing user. This GUID is non-numeric - so the sorting breaks down. This
can result in duplication of appointments/contacts/tasks when used in conjunction with
virtual folders on devices that need to virtually include all items into a single calendar/
contact list/task list. Devices that support multiple folders (such as iPxxx devices) are
not affected. Mail folders are unaffected as they all get synched individually. The
solution for this is to allow the sorting method to be overridden. I have requested a
change in z-push to allow this. In the meantime, a change is needed to the baseline
/lib/default/diffbackend/diffstate.php in the function RowCmp() to allow the sorting to
work correctly. The function should be changed as follows :-... read more

Posted by LiverpoolFCfan 2013-04-25

Release 54 is now available

This is the first formal release for z-push-2

The download also includes updated backends for z-push-1 and the svn as12.1 branch

Posted by LiverpoolFCfan 2012-10-24

Release 52 now available

Release 52 has been uploaded to the main project downloads page.

In addition, the SVN has been updated with Release 52 for the z-push SVN "as12.1" branch.

A new branch, "z-push-2-alpha", has been added to the SVN for the z-push-2 version. This is a first alpha release and is FOR TESTING PURPOSES ONLY - NOT FOR PRODUCTION

Please use "z-push-2" Tracker to report any issues found in your testing. Thanks.... read more

Posted by LiverpoolFCfan 2012-02-21

HTML working with z-push as12.1 branch

If you cannot wait for z-push 2 to get HTML emails on your device, along with Email Search and Out-of-office functionality - check out the as12.1 branch in the SVN. When used in conjunction with the as12.1 branch in the z-push SVN it provides a richer ActiveSync experience. Please read all the notes in the README files.

Posted by LiverpoolFCfan 2011-09-13

Release 51 now available

Release 51 has been uploaded to the main project downloads page.

Posted by LiverpoolFCfan 2011-09-13

HTML support available with as12.1

I have added an SVN branch for HTML email support. It is only in the SVN - not available as a download archive. Use the files in Code\SVN Browse\zimbra-backend\branches\as12.1 in conjunction with the z-push as12.1 branch from their SVN.

Posted by LiverpoolFCfan 2011-08-20

PHP Programmer Wanted For Web Interface

As we continue work on the Zimbra backend, it is coming more clear to me that we need some way that users can customize exactly what they want pushed to their device and how.

A Zimlet would be nice but involves a lot. What I envision that is what I think a simple solution is a PHP web page that the user logs into (verified against their ZImbra account), allows them to see all their folders in Zimbra (using SOAP to pull this information), allows the user to select which folders to include/exclude, and allows the user to set a few other options. All this information would then be stored in an XML file that the backend would load and use.... read more

Posted by Grant 2010-03-07