From b6c98e2a65d959ae22104a6879223016f91e9de8 Mon Sep 17 00:00:00 2001 From: Ronni Baslund Date: Fri, 12 Jun 2026 15:39:32 +0200 Subject: [PATCH] =?UTF-8?q?fix(mail):=20disable=20EAS=20provisioning=20?= =?UTF-8?q?=E2=80=94=20PHP=208=20breaks=20Z-Push's=20policy=20checks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The shipped policies.ini has maxattsize='' and PHP 8's string/int comparison semantics make SyncProvisioning's '>-1' check fail, so every Provision command 500'd ('Invalid policies!') and the device got 449 retry-after-provisioning on FolderSync/Sync/SendMail forever — account added but no folders, no sent mail, no calendar. dezky doesn't manage device policies (no remote-wipe promise), so turn PROVISIONING off rather than patching the policy file. --- services/zpush/Dockerfile | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/services/zpush/Dockerfile b/services/zpush/Dockerfile index b53accd..8fd1820 100644 --- a/services/zpush/Dockerfile +++ b/services/zpush/Dockerfile @@ -43,12 +43,20 @@ COPY --from=source /awl/inc/ /usr/share/awl/inc/ # The greps make the build fail loudly if an upstream config rename ever # makes a sed miss instead of shipping a silently unconfigured gateway. # (USE_FULLEMAIL_FOR_LOGIN is already true in the EGroupware fork.) +# +# PROVISIONING off: dezky doesn't manage device policies (no remote wipe +# promise), and Z-Push's policy checks are PHP 8-broken anyway — the shipped +# policies.ini has maxattsize='' and PHP 8 string/int comparison makes the +# ">-1" SyncProvisioning check fail, 500ing every Provision command and +# blocking ALL folder/calendar sync behind "retry after provisioning". RUN sed -i \ -e "s|define('TIMEZONE', '');|define('TIMEZONE', 'Europe/Copenhagen');|" \ -e "s|define('BACKEND_PROVIDER', '');|define('BACKEND_PROVIDER', 'BackendCombined');|" \ + -e "s|define('PROVISIONING', true);|define('PROVISIONING', false);|" \ /usr/share/z-push/config.php \ && grep -q "define('BACKEND_PROVIDER', 'BackendCombined')" /usr/share/z-push/config.php \ - && grep -q "define('USE_FULLEMAIL_FOR_LOGIN', true)" /usr/share/z-push/config.php + && grep -q "define('USE_FULLEMAIL_FOR_LOGIN', true)" /usr/share/z-push/config.php \ + && grep -q "define('PROVISIONING', false)" /usr/share/z-push/config.php # PHP 8 fix (upstream Z-Push 2.6.4 bug): sem_get()/shm_attach() return # objects instead of resources since PHP 8.0 and this debug log line