Z-Push 2.4.x beta/pre-final updates

The pre-final repository is now using release/2.4 branch. Current version of the pre-final repository is 2.4.0.beta1+0.

Tickets since 2.4.0 beta1 release:
[ZP-836] - Recurring tasks duplicate in OL 2016
[ZP-1287] - Editing appointment by owner creates new appointment
[ZP-1294] - FixFileOwner requires posix_getuid which fails on Windows
[ZP-1322] - All-day event created in Outlook stretches over 2 days in Webapp
[ZP-1329] - Refactor impersonation feature
[ZP-1339] - Replace removed PHP-MAPI functions
[ZP-1344] - Reply back exporter doesn’t honor private flag
[ZP-1345] - Own private items stripped when folder is in $additionalFolders
[ZP-1347] - [imap] Creating folder on mobile fails
[ZP-1348] - Use of undefined constants in email with attachments
[ZP-1350] - Erroneous mapi_last_hresult value when source message is not found while moving
[ZP-1352] - Impersonation: check read permissions on all folders on FolderSync
[ZP-1353] - Check user vs authUser case-insensitive for log
[ZP-1354] - Basedate in GlobalObjectId must be GMT
[ZP-1355] - Auth username when impersonating is always lowercase
[ZP-1356] - Log output without impersonated user
[ZP-1361] - Folder created in impersonated store is not FLD_ORIGIN_IMPERSONATED

New Feature
[ZP-1192] - Expose shared folder API to z-push-admin
[ZP-1332] - Add wincache IPC provider

[ZP-1303] - [nginx] write documentation about configuration

[ZP-1284] - Add Note Backend operating against Postgres database
[ZP-1295] - Merge MAPI classes from webapp
[ZP-1304] - Refactoring in MAPI classes
[ZP-1340] - Review stream writes
[ZP-1357] - Private items aren’t stripped of data when impersonating
[ZP-1360] - Remove ICalParser class

Last merges for 2.4.0 final release:

[ZP-1370] - Impersonation: public folder can’t be opened

[ZP-1367] - Tools: gab-sync shows weird behavior when php-mapi includes are wrong

Tickets for 2.4.1 beta release:

[ZP-1291] - Cli tools should exit with 0 if called with --help
[ZP-1373] - USE_CUSTOM_REMOTE_IP_HEADER not working with Apache
[ZP-1374] - Include path in imap backend lacks pear folders
[ZP-1375] - z-push-config-nginx has wrong permissions in RPM
[ZP-1376] - Out-of-memory check when memory_limit = -1
[ZP-1377] - Undefined index warnings in imap backend
[ZP-1379] - Undefined offset warnings when impersonating
[ZP-1383] - CARDDAV: Last character of note trimmed

[ZP-1382] - CALDAV: Out of office / Tentative / Workingelsewhere status

Z-Push 2.4.1 beta1 update:

[ZP-1392] Fix SyncUserInformation for default backend.

Current version of the pre-final repository is 2.4.1.beta1+3.

Merges into release/2.4:

[ZP-1369] - Impersonation: ReplyBack notification mail can not get folder name
[ZP-1386] - include/mimeDecode.php:541 Uninitialized string offset: 0 (8)
[ZP-1391] - IMAP Backend: Users cannot authenticate against IMAP servers with GSSAPI support
[ZP-1396] - CalDAV Attendee but no meeting
[ZP-1399] - Wrong state and log folder permissions for RHEL based systems
[ZP-1400] - Picture not saved for a contact created on mobile
[ZP-1408] - Warning Undefined index: subject
[ZP-1410] - IMAP backend to provide user details for caldav
[ZP-1411] - Unset undefined properties for tasks

New Feature
[ZP-1372] - Folder re-sync is triggered on deletions ratio threshold

[ZP-1398] - z-push-admin do not call $device->GetHierarchyCache() in loop
[ZP-1401] - In gab2contacts also sync Kopano contacts

Merges into release/2.4

[ZP-1412] - Add ignore_missing_attachments option to mapi_inetmapi_imtoinet

[ZP-1413] - deb: Turn php dependencies around

Merges into release/2.4

[ZP-1402] - PHP 7.2 compatibility

[ZP-1407] - $errcontext argument of error handlers has been deprecated

[ZP-1330] - PHP 7.2, warnings in logs about implementing Countable
[ZP-1405] - create_function() has been deprecated
[ZP-1406] - each() has been deprecated
[ZP-1418] - IMAP Backend: imap_fetch_overview might return an empty array
[ZP-1419] - Structurally dead code (UNREACHABLE)
[ZP-1420] - Typo in identifier (IDENTIFIER_TYPO)
[ZP-1421] - Expression with no effect (NO_EFFECT)
[ZP-1422] - Expression with no effect (NO_EFFECT)
[ZP-1423] - Nesting level does not match indentation (NESTING_INDENT_MISMATCH)
[ZP-1424] - Typo in identifier (IDENTIFIER_TYPO)
[ZP-1425] - Expression with no effect (NO_EFFECT)
[ZP-1426] - Logically dead code (DEADCODE)
[ZP-1427] - Undefined index in mapiprovider
[ZP-1429] - IMAP backend, send emailaddress to reply_meeting_calendar
[ZP-1430] - Wrong IpcWincacheProvider path in InterProcessData

[ZP-1416] - List opened shares in z-push-admin

Current version of the pre-final repository is 2.4.3.beta0+0.

Merge into release/2.4

[ZP-1431] - Z-Push logrotate cron su file permissions

Update 18:11 - just pushed a small fix for the usage instructions formatting in z-push-admin.

Current version of the pre-final repository is 2.4.3.beta1+3.

Merge into release/2.4

[ZP-1434] - X-Forwarded-For header might contain multiple IPs
[ZP-1436] - Z-Push log files not writable after logrotate

Current version of the pre-final repository is 2.4.3.beta1+6.

Merge into release/2.4

[ZP-454] - Error deleting an occurrence on a mobile device
[ZP-1014] - z-push/include/z_caldav.php:585 Undefined index: urn:ietf:params:xml:ns:caldav:calendar-home-set (8)
[ZP-1437] - Send range in ItemOperations response
[ZP-1440] - Outlook EAS break meeting request
[ZP-1444] - KOE webservices calls fail for impersonated stores
[ZP-1445] - MAPI_E_STORE_FULL handling in SendMail()

New Feature
[ZP-1442] - Retry loop when writing file state machine data to disk

Current version of the pre-final repository is 2.4.4.beta1+0