Files
bongo/include
Mario Fetka ee3161d6ee
Debian Trixie package bundle / packages (push) Failing after 12m7s
sieve: implement editheader as a Bongo-authored module with real persistence
Replaces reliance on Mailutils' stock editheader.so (whose addheader/
deleteheader mutations were silently discarded by BongoSieveEvaluate,
since it only ever extracted a discrete action list, never the mutated
message) with a Bongo-authored module in BONGO_SIEVE_MODULE_DIR that
shadows Mailutils' own via the module search path. It still mutates the
message's mu_header_t directly (same well-tested approach as stock
editheader.c, for folding/matching correctness) but also reports a
BONGO_SIEVE_HEADER_EDITED marker through a new public
BongoSieveReportAction() ABI, so BongoSieveEvaluate() knows to
serialize the mutated header+body back out.

Persisting the edit required new plumbing since Bongo's queue only ever
referenced spooled messages by id (QMOD MAILBOX/RAW), never by value:
rules.c uploads Sieve-edited content per recipient via a new QMOD
MESSAGE verb, tagging the routing directive with a
" ~EDITED:<token>" marker; queue.c strips that marker before existing
directive parsing, and substitutes the recipient's own
e<entry>-<token>.msg for just that one DeliverToStore() call --
crucially never touching the shared d<entry>.msg other recipients of
the same queue entry still read unedited. Scoped to the immediate
delivery attempt only; a retry falls back to the unedited shared copy.

Also required generating a libtool .la wrapper for the module: Mailutils'
lt_dlopenext() tries .la files across the whole search path before ever
trying a bare .so in any single directory, so a .so-only module never
gets a chance once Mailutils' own moddir .la is found downstream,
regardless of search-path order.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-02 00:22:36 +02:00
..
2026-07-23 06:59:10 +02:00
2007-01-22 23:37:12 +00:00
2007-01-22 23:37:12 +00:00
2026-07-29 14:33:58 +02:00
2026-07-16 14:26:58 +02:00
2026-07-30 09:44:57 +02:00
2026-07-16 14:26:58 +02:00
2026-07-16 14:26:58 +02:00
2007-01-22 23:37:12 +00:00
2026-07-19 10:09:02 +02:00