Source: libical3 Version: 3.0.20-1 Severity: normal Tags: upstream patch User: [email protected] Usertags: i386
Dear Maintainer, On 32-bit time_t builds (i386), make_time() in src/libical/icaltime.c rejects any date after 2038-01-17 (cf. icaltime.c around line 107). This is two days before the actual limit of a signed 32-bit time_t (2038-01-19T03:14:07 UTC, INT32_MAX seconds since the epoch). Rejected dates silently fall through as time_t 0 (1970-01-01) instead of the correct value or an explicit error. This directly causes the cyrus-imapd i386 FTBFS tracked in #1142273: cyrus's icalrecurrenceset_get_utc_timespan() passes INT_MAX as an "unbounded end" search sentinel to icalcomponent_foreach_recurrence(). On i386, that sentinel collapses to epoch, shrinking the search window to nothing-after-1970 and silently excluding every occurrence — even for ordinary events with no relation to 2038 at all. Upstream fix, tested (i386 build: full regression suite passes, and cyrus-imapd's actual failing cunit test now passes unmodified): 4.0 branch: https://github.com/libical/libical/pull/1350 3.0 branch: https://github.com/libical/libical/pull/1351 Note that Trixie tracks the version 3 branch; and also that upstream dev `winterz` indicated [0] that it would be a good idea to patch it (without cutting a new release for version 3). I am not sure what the best way (or the Debian way) forward is. We could either wait for upstream to accept the patches / pull requests; or we could just cherry-pick the patches into Debian itself already. This would resolve the i386 side of #1142273. Kind regards, Edmund [0]: https://github.com/libical/libical/pull/1351#issuecomment-5083969752 -- System Information: Debian Release: 13.6 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 6.18.40-1-lts (SMP w/6 CPU threads; PREEMPT) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to C.UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: unable to detect (The Kernel line above is from the container host, not a Debian kernel — this was filed from a Debian trixie distrobox container where I build Debian packages. Init: Systemd.)

