ee3161d6ee
Debian Trixie package bundle / packages (push) Failing after 12m7s
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>