Bug#1141965: trixie-pu: package cyrus-imapd/3.10.2-1+deb13u1

Edmund Lodewijks <[email protected]>
Newsgroups gmane.linux.debian.devel.release
Message-ID <178389054359.236121.14470716533714788259.reportbug__36017.1652677067$1783890709$gmane$org@nbg-mx-proteamail-1>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.