fix(mail): disable EAS provisioning — PHP 8 breaks Z-Push's policy checks
ci / changes (push) Successful in 3s
ci / test_platform_api (push) Has been skipped
ci / build_portal (push) Has been skipped
ci / build_booking (push) Has been skipped
ci / build_operator (push) Has been skipped
ci / build_platform_api (push) Has been skipped
ci / tc_portal (push) Has been skipped
ci / tc_operator (push) Has been skipped
ci / tc_booking (push) Has been skipped
ci / tc_website (push) Has been skipped
ci / tc_platform_api (push) Has been skipped
ci / build_zpush (push) Successful in 11s
ci / deploy (push) Successful in 25s
ci / changes (push) Successful in 3s
ci / test_platform_api (push) Has been skipped
ci / build_portal (push) Has been skipped
ci / build_booking (push) Has been skipped
ci / build_operator (push) Has been skipped
ci / build_platform_api (push) Has been skipped
ci / tc_portal (push) Has been skipped
ci / tc_operator (push) Has been skipped
ci / tc_booking (push) Has been skipped
ci / tc_website (push) Has been skipped
ci / tc_platform_api (push) Has been skipped
ci / build_zpush (push) Successful in 11s
ci / deploy (push) Successful in 25s
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.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user