Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: [email protected]
Control: affects -1 + src:cyrus-imapd
User: [email protected]
Usertags: pu
[ Reason ]
JMAP EventSource (push) is completely non-functional in trixie's
cyrus-imapd 3.10.2-1. The JMAP session resource advertises an
eventSourceUrl, but GET /jmap/eventsource/ returns "204 No Content"
unconditionally, so no JMAP client can establish push (RFC 8620 §7.3).
Root cause: jmap_push_poll is initialised only inside "if (ws_enabled)",
and the package is built without libwslay, so push is silently disabled
even though the endpoint is advertised.
See also Bug #1141956.
[ Impact ]
JMAP push is unusable for all trixie users; clients (e.g. aerc) get no
live updates. Should 3.12.0 land in backports, then the fix would still
not be available for plain stable users.
[ Tests ]
Cassandane isn't run at Debian build time, so no automated coverage.
Verified manually on a wslay-less build: before the patch,
GET /jmap/eventsource/?types=*&ping=30 returns 204; after, it returns
200 with Content-Type: text/event-stream and streams keepalive pings.
`ldd .../httpd | grep wslay` stays empty — the fix needs no new dependency.
[ Risks ]
Minimal. 4-hunk backport of upstream commit d510b3d2b (released 3.12.0),
touching only imap/http_jmap.c. It moves push initialisation out of the
WebSocket guard and gates EventSource advertisement/routing on
jmap_push_poll. With the default jmap_pushpoll (60s) the added guards are
no-ops; behaviour changes only when an admin sets jmap_pushpoll:0 (then
EventSource is cleanly disabled, as intended). No ABI or dependency change.
[ Checklist ]
[x] all changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in stable
[x] the issue is verified as fixed in unstable/testing (3.12.x)
[ Changes ]
Backport of upstream d510b3d2b to imap/http_jmap.c; the two cassandane
tests from the commit are omitted (not run at build time). Closes: #1141956.
[ Other info ]
Fixed upstream in 3.12.0; never backported to the 3.10.x series.
Kind regards,
Edmund Lodewijks