#1151187 dovecot-sieve: undefined reference to mail_deliver_ctx_get_log_var_expand_table breaks sieve plugin in IMAP service #1151187
- Package:
- dovecot-sieve
- Source:
- dovecot-sieve
- Description:
- secure POP3/IMAP server - Sieve filters support
- Submitter:
- Ger
- Date:
- 2026-10-18 02:53:01 UTC
- Severity:
- normal
- Tags:
libdovecot-sieve.so.0 in the Debian build contains an undefined reference to mail_deliver_ctx_get_log_var_expand_table, which is defined in /usr/lib/dovecot/libdovecot-lda.so.0, but the sieve library is not linked against libdovecot-lda. In Dovecot 2.4 each service is a separate binary (e.g. /usr/lib/dovecot/imap) that does not link libdovecot-lda, so dlopen() of the pigeonhole sieve plugin from the IMAP service fails with: undefined symbol: mail_deliver_ctx_get_log_var_expand_table This breaks any IMAP-context use of libdovecot-sieve, e.g. the sieve-imapsieve event hook used for antispam training on mailbox COPY events. The symbol only resolves in binaries that already have libdovecot-lda loaded, so the delivery side (lda/lmtp) works while IMAP event handling does not. Verification on this system: nm -D -u /usr/lib/dovecot/libdovecot-sieve.so.0.0.0 | grep log_var_expand -> U mail_deliver_ctx_get_log_var_expand_table readelf -d shows only libc.so.6 as NEEDED for the sieve library. Workaround in use locally: LD_PRELOAD of libdovecot-lda.so.0 applied at service exec via a wrapper script (a systemd Environment= drop-in alone is insufficient because the Dovecot master sanitizes the environment before exec'ing service binaries).
It's defined in libdovecot-lda:
root@c9c251285d2c:/# nm -D -U /usr/lib/dovecot/libdovecot-lda.so.0 | grep log_var_expand
00000000000076a0 T mail_deliver_ctx_get_log_var_expand_table
But I don't see a reference to it in libdovecot-sieve.so:
root@c9c251285d2c:/# nm -D -u /usr/lib/dovecot/libdovecot-sieve.so.0.0.0 | grep log_var_expand | wc -l
0
root@c9c251285d2c:/# nm -D -u /usr/lib/dovecot/libdovecot-sieve.so.0.0.0 | wc -l
458
root@c9c251285d2c:/# dpkg -S libdovecot-sieve.so.0.0.0
dovecot-sieve: /usr/lib/dovecot/libdovecot-sieve.so.0.0.0
root@c9c251285d2c:/# apt policy dovecot-sieve
dovecot-sieve:
Installed: 1:2.4.1+dfsg1-6+deb13u7
Candidate: 1:2.4.1+dfsg1-6+deb13u7
Version table:
*** 1:2.4.1+dfsg1-6+deb13u7 500
500 http://deb.debian.org/debian-security trixie-security/main amd64 Packages
100 /var/lib/dpkg/status
1:2.4.1+dfsg1-6+deb13u6 500
500 http://deb.debian.org/debian trixie/main amd64 Packages
What architecture are you using?
noah