have thé same problème with outlook 2016 and a AS account in my mobile phone. I use Zimbra 9. with
Added the fix to the other 2 places, and limited it to 8.1 and 8.2 Code is checked into the repository above as Version 73.1 Please test and report back. Thanks
73.1
Hello @LiverpoolFCfan, trying to upgrade our setup to 73 I had a chance to invastigate this further. Looks like you implemented the new option on line 6256, but mb_detect_encoding is also used on lines 6408 and 6624, and in these two cases still fails on php 8.1 and 8.2. versions. It is also possible to limit the php version check to specifically 8.1 and 8.2 instead of bigger than 8.0, but that is up to you.
- Updated preamble
Tag Release 73
73
Separate issue (wrong word as it really isn't an issue) That just indicates that the logged-in user does not have permission to delete an item from a folder that was shared with them. You need to share with admin rights if you want to allow users to delete items from shared folders.
Hello, seems ok as I red this [INFO] message: Zimbra->GetZimbraSmartFolders(): Ignoring Folder [Comments] with unsupported 'view' [comment] But I don't know if it's related but coincidentally I have few of this [ERROR] messages. There werer few issues with loops detections before so not sure if this is the reason. Zimbra->SoapRequest(): SOAP FAULT: Error Code [service.PERM_DENIED] Zimbra->SoapRequest(): SOAP FAULT: Error Reason [permission denied: cannot delete existing copy of message 74824] Zimbra->SoapRequest():...
Does everything still look good?
I have copied the new zimbra.php, rebooted, and so far seems working ok. Thanks so much! For the records I have also upgraded z-psuh to v2.7.4 and no WARN or ERROR messages for the moment.
OK. I suspected it might be zimbra 9/10. I believe I resolved the issue already but haven't released it. I checked in my latest zimbra.php code (72.1) in the code repository. No other files have been updated. (Click on the [Code] tab above Please download that copy of zimbra.php and replace your existing copy. Let me know if it resolves the issue for you.
72.1
Hi, here it is Release 10.0.8_GA_0324.RHEL8_64_20240702112155 RHEL8_64 FOSS edition Zimbra Backend release 72 Thank you
What version of zimbra? What release of the backend?
Hello, I am on a dedicated z-push server with PHP 8.2.13 and Z-push 2.7.3 and I got the following warining that I cannot understand how to solve ... any idea ? /usr/share/z-push/backend/zimbra/zimbra.php:2350 Trying to access array offset on value of type null (2) /usr/share/z-push/backend/zimbra/zimbra.php:2370 Undefined array key "comment" (2)
I am not familiar with Outlook 2021 but I know it is more and more difficult to add ActiveSync accounts to newer versions of Outlook. How did you add the account?
Office 2021 and z-push
I had the exact same problem. Randomly failed to sync calendar and server CPU usage with network traffic. Only a forced resync fixed the problem for a few hours. My problem was in z-push version 2.7.1. After reverting to version 2.6.4 everything was fine as before.
Also, I note that you are using :8443 - Do you have the zimbra proxy installed? Usually you should have the NGINX proxy installed in front of the jetty web server. Are your connections hitting the jetty server directly or going through the proxy?
The limit is per logged-in user - so you shouldn't need more that 7-8 unless you have a lot of devices sysning to the same account Look for a PM from me.
Yes, I think the limit is high enough : zimbra@phlag:~$ zmlocalconfig | grep zimbra_session_limit_soap zimbra_session_limit_soap = 100 zimbra@phlag:~$ Additionally, mailbox.log doesn't state there are too many SOAP sessions : 2024-06-10 22:30:58,290 INFO [qtp1477657879-17070:https://example.com:8443/service/soap/] [name=seb@example.com;mid=11;ip=<REDACTED>;port=45164;ua=Outlook/16.0 (16.0.17531.20004;; x64)(...1f4a45) devip=<REDACTED> ZPZB/72;soapId=46f9e2a9;] soap - GetInfoRequest elapsed=2 2024-06-10...
If the sessionID is changing, have you read this in the INSTALL, and updated the limit accordingly? ZIMBRA 7.2 AND LATER - Configure Max SOAP Sessions per User If you have users who have multiple devices synching against their account at the same time there is a potential issue with the number of allowed SOAP sessions per user. This was highlighted in a zimbra bugzilla ticket and was fixed in zimbra release 7.2 and later - where you can now increase the number. See https://bugzilla.zimbra.com/show_bug.cgi?id=75338...
Apologies for this late reply, I tried to figure out what is happening by myself. Here is what I found in the JSON replies : - This is a loop of 4 responses: one with the context ‘refresh’, then 3 with the context ‘change’ - Every 4 JSON responses (so at every 'refresh' response), the session ID increases by 3 - The 'token' (change token) value is everytime the same According to information I found here : https://gist.github.com/be1/562195/0c7f6b3e065b5a7db432c46f9ae9d73f231185df, this means there...
Gmail app searchs results only 10 mesages
Out of curiosity, did you define a specific value for this setting, or leave it at default? // define('ZIMBRA_SYNC_WINDOW_DAYS', 366);
If you set define('ZIMBRA_DEBUG','username'); in the zimbra config.php, and have DEBUG/DEVICEID level logging for that user in the specialLogUsers array, all the requests/responses from z-push to zimbra will be logged. Requests are in XML format, responses are in JSON. Use a text editor with JSON formatting (like Notepad++ with the JSON plugin) and select or copy/paste just the response JSON for the user, and Format the JSON for reading. Look for the notifications block sent back from the serveer....
Sure, I understand. I attached a sample of the logs with the highest verbosity level. This is what I get in loop. Thanks for this information. No, I don't have anything like that. I've been using z-push with the Zimbra backend for years without this kind of problem. I tried to extract the HTTPS traffic between Outlook and the server and try to analyse it with Wireshark, thinking that all I had to do was integrate the server's private key into the software to decrypt the traffic, but it's actually...
It is really difficult to help without seeing a full log to understand what is happening. That said, a Ping Status of 2 means something occurred on the server that flagged as a change, The 2 is to tell the client to stop the Ping loop, ad issue a Sync to pick up the change. Do you have any external process that is constantly re-syncing calendar appts to your calendar? They could look to the user as though there is nothing changing but the modification flags could be getting triggered
This is getting really strange... The problem now occurs randomly for all accounts, all devices and all folders (but only calendar folders). The only way to stop it is to run a resync from the Z-Push server, but the calm only lasts for an hour or so before it starts to storm again. I even tried a ‘z-push-admin -a resync -t calendar’ (to resynchronise ALL the calendars for all the accounts, and on all the devices), to no avail. I have enabled WBXMLSTACK level logs for one of the accounts (mine) when...
Yes - I used DEBUG in the first place, then DEVICEID in order to see WBXML requests and responses and identify the events. I tried to re-sync calendar folders and even delete the account from the device and add it again, without success. For now, I disabled the faulty calendar by adding a "-" after its name from Zimbra webmail. I will dig again into DEVICEID log level in order to debug, but I think the best way to solve the issue is to delete the calendar and create it again (or delete all events...
Errors spamming in logs
That logging is not at DEVICEID level - it looks like it is at DEBUG level. Unless you go to at least WBXML level you will not see it data going to/from the server. I recommend DEVICEID when you are troubleshooting. define('LOGUSERLEVEL', LOGLEVEL_DEVICEID); Then, force a resync of the calendar for the user/device /usr/share/...../z-push-admin.php -a resync -t calendar -u userORemail -d deviceID Resync of N folders of type 'calendar' on device 'deviceID' of user 'userORemail': Requested Once you...
I was able to identify the 8 events concerned using the LOGLEVEL_DEVICEID parameter. I can find them in the webmail (they date back to 2023). However, even if I delete them from the webmail, Z-Push still indicates that 8 changes are pending. This operation does have the effect of deleting them from the device. After some research, I realise that the event deleted in this way does disappear from the 8 pending changes, but is replaced by a different one. In fact, the 8 pending events are constantly...
Thanks, I've solved my time zone problem! One last thing (I hope...), it seems that some changes don't filter down to the devices. Here's what I can see in a loop in the logs for some accounts (several times a second) : 22/05/2024 23:42:40 [2448062] [ INFO] [compta@example.com] cmd='Ping' memory='4.52 MiB/2.00 MiB' time='0.09s' devType='WindowsOutlook' devId='b1fec19d0a3c47df9ac5bcace140cf4b' getUser='compta@example.com' from='<REDACTED>' idle='0s' version='2.7.3 22/05/2024 23:42:40 [2467188] [ INFO]...
Possibly, or just originating from a dodgy calendar app. In the z-push config.php turn on detailed debug information for that user Look for the define and update the LOGLEVEL to LOGLEVEL_DEVICEID, and add pierre@example.com to the $specialLogUsers array define('LOGUSERLEVEL', LOGLEVEL_DEVICEID); $specialLogUsers = array(); $specialLogUsers[] = 'pierre@example.com'; This should create an additional log file named pierre_example_com-deviceid.log This will allow you to see the WBXML messages between...
Possibly, or just originating from a dodgy calendar app. In the z-push config.php turn on detailed debug information for that user Look for the define and update the LOGLEVEL to LOGLEVEL_DEVICEID, and add pierre@example.com to the $specialLogUsers array define('LOGUSERLEVEL', LOGLEVEL_DEVICEID); $specialLogUsers = array(); $specialLogUsers[] = 'pierre@example.com'; This should create an additional log file named pierre_example_com-deviceid.log This will allow you to see the WBXML messages between...
Understood. I switched every read-only account to direct CalDAV with Zimbra to manage the issue. However, I am unable to get rid of errors below. I tried a resync (with z-push-admin) and deleting/re-adding the account to the device. 22/05/2024 11:12:16 [1045571] [WARN] [pierre@example.com] SyncAppointment->Check(): Parameter 'organizername' and 'organizeremail' should be set for a meeting request 22/05/2024 11:12:16 [1045571] [WARN] [pierre@example.com] SyncAppointment->Check(): Parameter 'organizername'...
There is no concept of a read-only calendar in ActiveSync. You either need to give everyone write access or educate them to not attempt to create appointments in that calendar. You may be able to get rid of the bogus appointment by issuing a resync from z-push-admin.php for that user/device. I am not sure if it will work. Failing that, remove the account from the device, then add it back fresh.
Hello, Thanks a lot for your reply. I've updated Zimbra Backend to the release 72. Indeed, the account in question does not have write access to this calendar, as it is a team calendar shared by several people. When I deactivate the account, the logs become silent again in about ten minutes. Does this mean that the device of the person who has this account is constantly trying to create an event? Is there a way of letting the device know that the calendar is read-only and that creation requests should...
The Dummy appointment(s) you mention should only get created if the device does not send across a timezone for an appointment. The backend should create a dummy appointment, grab the timezone from it, and then remove it again. Make sure the account you are syncing has permissions for both creating and deleting appointments.
First off, you are using a very old version of the backend, ZPZB version=70.4 You should be using the latest one which is 72. Secondly, the error messages in the logs are telling you the issue 21/05/2024 02:45:13 [3735578] [ERROR] [seb@example.com] Zimbra->SoapRequest(): SOAP FAULT: Error Code [service.PERM_DENIED] 21/05/2024 02:45:13 [3735578] [ERROR] [seb@example.com] Zimbra->SoapRequest(): SOAP FAULT: Error Reason [permission denied: you do not have sufficient permissions] You are trying to create...
Errors spamming in logs
Thank you, email sent.
Can you setup one user of the affected users in the $specialLogUsers , and set it at define('LOGUSERLEVEL', LOGLEVEL_DEVICEID); I will PM you on here with an email address where you can send it to me.
I am using Outlook 2016, so I do not think it is the issue. Besides it also concerns clients running on a Samsung phone.
I can see from your log extracts that some clients are running Outlook. If the problem just started happening, perhaps it relates to Microsoft receently breaking ActiveSync in the Outlook client. https://support.microsoft.com/en-us/office/outlook-desktop-exchange-activesync-connections-stopped-working-in-version-2401-da2dc0dd-297e-48ba-b6d9-ab18f5d522fc
and here: 13/03/2024 09:16:04 [3880915] [ INFO] [zimbramailaddress@zimbra.com] ExportChangesDiff->InitializeExporter(): Found '0' changes for 'f114046' 13/03/2024 09:16:04 [3880915] [ INFO] [zimbramailaddress@zimbra.com] cmd='Ping' memory='4.91 MiB/6.00 MiB' time='0.08s' devType='WindowsOutlook' devId='1a06087ce413424b8f20deecdd53ddef' getUser='zimbramailaddress@zimbra.com' from='87.129.33.234' idle='0s' version='GIT' method='POST' httpcode='200' 13/03/2024 09:16:05 [3908962] [ INFO] [zimbramailaddress@zimbra.com]...
and here: 13/03/2024 09:08:11 [3926049] [ INFO] [mail@mail.com] StatusException: SyncCollections->CheckForChanges(): Timeout forced after 5s from 880s due to other process - code: 3 - file: /z-push/lib/core/synccollections.php:581
Thank you. Here a portion of the z-push.log 13/03/2024 08:37:24 [3827923] [ERROR] [zimbramailaddress@zimbra.com] Please check your logs for this PID and errors like PHP-Fatals or Apache segmentation faults and report your results to the Z-Push dev team. 13/03/2024 08:37:32 [3877947] [ERROR] [zimbramailaddress@zimbra.com] LoopDetection->ProcessLoopDetectionPreviousConnectionFailed(): Command 'Sync' at 13/03/2024 08:37:25 with pid '3887997' terminated unexpectedly or is still running. 13/03/2024 08:37:32...
You need to look at the z-push log file to see what commands the clients are requesting. It is impossible to tell from the mailbox log file You will need to have the logging set to INFO at a minimum in the z-push config file define('LOGLEVEL', LOGLEVEL_INFO);
Hello, Unfortunatelly the problem is back again. No changes were made, no updates installed. Now the mailbox.log is full of this: 2024-03-09 08:54:50,875 INFO [qtp758013696-596:https://zimbramail/service/soap/] [name=address1@zimbramail;mid=3;ip=zimbramail_ip;port=60230;ua=Android-SAMSUNG-SM-J330F/101.9(...86a108) devip=84.137.243.12 ZPZB/71.4;soapId=116836f3;] soap - DestroyWaitSetRequest elapsed=2 2024-03-09 08:54:50,875 INFO [qtp758013696-601:https://zimbramail/service/soap/] [name=address2@zimbramail;mid=7;ip=zimbramail_ip;port=60256;ua=Android-SAMSUNG-SM-J330F/101.9(...86a108)...
WOW man, this option did not occur to me at all. It's running fine now. BIG thank to you.
If it just started happening, perhaps it relates to Microsoft receently breaking ActiveSync in the Outlook client. https://support.microsoft.com/en-us/office/outlook-desktop-exchange-activesync-connections-stopped-working-in-version-2401-da2dc0dd-297e-48ba-b6d9-ab18f5d522fc
Hi, I need help to resolve following problem. Outlook 2016, Zimbra 9.0.0 patch 38, Z-Push 2.6.4, ZimbraBackend 71, PHP 7.2.24 After few months without an issue some clients start synchronize with huge delay in hours. With z-push-admin I tried resync and remove these deviceid. I even deleted Outlook profile and create new one. Now these deviceid (users with Outlook) do not start synchronize. Problem is spreding to others deviceids. I updated to Z-Push 2.7.1 and ZimbraBackend 72, still same problem....
At this point, I think I will just leave the setting/option in place. It leaves people the option.
Yes agreed, the behaviour of mb_detect_encoding has reverted back to the documented state with php 8.3. The example I had previously given above also shows it fixed on php 8.3 versions https://3v4l.org/C2rkJ. What to do now? Perhaps adding a version check and defaulting for the alternative method on php 8.1/8.2 versions might be an option. Not sure how you feel about leaving the ZIMBRA_USE_MB_CHECK_ENCODING setting?
From the PHP 8.3 documentation - https://www.php.net/manual/en/migration83.other-changes.php mb_detect_encoding()'s "non-strict" mode now behaves as described in the documentation. Previously, it would return false if the same byte (for example, the first byte) of the input string was invalid in all candidate encodings. More generally, it would eliminate candidate encodings from consideration when an invalid byte was seen, and if the same input byte eliminated all remaining encodings still under...
Interestingly, it seems like this issue has been fixed in PHP 8.3 - It looks like the preference order for encodings in the call to mb_detect_encoding is now honoured again. See results in - https://3v4l.org/ihs2Q
I suspect there is some issue locally on the phone unrelated to the z-push/zimbra backend setup. I have added my account to a Samsung S10 (Android 12) - Gmail client. I only have "All inboxes" and the top "Inbox" available. Both show the zimbra emails (with Gmail emails interspersed for the "All inboxes" option) I do not have an additional "Inbox" listed under "ALL LABELS" The User Agent reported by z-push (labeled as "ua" in the DEBUG message "START Logon") is Android-Mail/2024.01.28.604414422....
I suspect there is some issue locally on the phone unrelated to the z-push/zimbra backend setup. I have added my account to a Samsung S10 (Android 12) - Gmail client. I only have "All inboxes" and the top "Inbox" available. Both show the zimbra emails (with Gmail emails interspersed for the "All inboxes" option) I do not have an additional "Inbox" listed under "ALL LABELS"
How to get global addressbook GAL working for BackendZimbra and iOS devices?
How to get global addressbook GAL working for BackendZimbra and iOS devices?
Fix released in Version 72. Closing ticket.
No new emails on Outlook for iOS & Android
Not a z-push/zimbra backend issue. Client not even pinging the contacts folder. Closing ticket.
Appointments only 366 days into the future?
Code released in Version 72. Closing ticket.
Contact Groups exclusion check with config constant
Code released in Version 7.2. Closing ticket
So, the timing of the entries is generally spaced out which suggests you are getting proper ping cycles. Have you made sure to allow sessions of up to 1hr on your web server/proxy. These pings are considerably longer than your typical web request.
Thanks for the answer, I actually added the $tzLookupList in my zimbraNonPhpTimezones.php so it's good for this issues However for the second error, if I take an agent from my structure (who is not the only one with so many logs) I take the zpush.log from 12:00 p.m. on 01/30/2024 there are a lot of error logs while there are very few files to synchronize, I am attaching the zmmailbox gaf of the user as well as zpush logs Thank you for your responsiveness
I believe the timezone in question is coming from an appointment. Was it originated from a system outside of zimbra? if this is a timezone that appears on multiple appointments you can add it to the file zimbraNonPhpTimezones.php with a mapping to a normal php timezone. If you are in France it would probably mean adding $tzLookupList['GMT+01.00/+02.00'] = 'Europe/Paris'; to the list in the file. Note: You will still get the warning forr the invalid timezones but the appointment should sync to the...
I believe the timezone in question is coming from an appointment. Was it originated from a system outside of zimbra? if this is a timezone that appears on multiple appointments you can add it to the file zimbraNonPhpTimezones.php with a mapping to a normal php timezone. If you are in France it would probably mean adding $tzLookupList['GMT+01.00/+02.00'] = 'Europe/Paris'; to the list in the file.
You will get these errors when sync is starting because Android starts a new ping after each newly synced folder but the previous one is still running. At thee end of the 60 (or whatever you have set) second ping cycle the older ones will be timed out by z-push and it will log that error message. Once all items are initially synced then you should rarely see the errors.
After some research this error only appears with an Android phone by choosing the Exchange Active Sync authentication method present in Android with the "E-mail" application The error does not appear with the same phone but when choosing the Exchange authentication method from Gmail I also have no problem on an iPhone And find this error in zpush error.log : 30/01/2024 13:33:48 [1591121] [WARN] [test1@ca-coeurdeflandre.fr] /usr/local/lib/z-push/backend/zimbra/zimbra.php:12762 date_default_timezone_set():...
LoopDetection PHP FATAL
It also does not even try to inbound sync any non-default calendar. So, while it syncs all calendars out to the phone, the default ActiveSync calendar (calendar) is the only one it tries to sync back to the server Strange!
Looks like Samsung/Google have made a change to their ActiveSync Client that prevents making edits to appointments where your account is not the organizer of the appointment
Update : I've found that the appointment is displayed by 'playing' a little with webmail, deleting and creating an appointments from the calendar, clicking on the various menus (still in webmail) and the appointment is displayed. Have you a fix for this ? Thank you
Update : I've found that the appointment is displayed by 'playing' a little with webmail, deleting appointments from the calendar, clicking on the various menus (still in webmail) and the appointment is displayed. Have you a fix for this ? Thanks you
Hello, I have an issues with z-Push I use the Backend Zimbra 72 with the latest version of z-Push On Samsung, I can synchronize a calendar that isn't shared with no problem, and when I create an appointment on the phone, it appears in Zimbra Webmail. However, when it's a shared calendar, the appointments appear on the phone, so if I create a new one (on the webmail) it also appears, but when I create it on the phone, it never appears on the webmail. The phone is an A14 5G in Android 13 version I'd...
Devices: Fairphone 4, iPad Client: Gmail on Android, default client on iPad Interestingly, if I choose Inbox from the labels, all is well, cf. screenshot.
Do you have any sample email that can reproduce the issue?
Code Depriciation
Closing ticket
What device are you having issues with? What email client? I have just downloaded z-push 2.7.1 this evening, paired with zimbra backend 72, running against zimbra 10.0.6 and everything looks normal with both an iPhone 11 (standard mail client) and a Samsung Galaxy S21 (Samsung standard email client) - My PHP is 8.1.14