Pigeonhole bug: corrupted redirected emails
Hello,
(Please CC me on any replies since I'm not subscribed to this mailing list.)
I'm writing to report a bug that I just ran into, involving Sieve/Pigeonhole message redirections. I recently added a rule involving redirections and the redirected messages were getting corrupted. I traced the issue down to the fact that an Mbox-style "From " header line was getting intermixed with the message headers -- note the entry between the two "Received:" headers in this example, which shows the text being delivered to the MTA on stdin:
X-Sieve: Pigeonhole Sieve 0.4.24 (124e06aa) X-Sieve-Redirected-From: peter Delivered-To: peter Received: from dovecot by newton.cx with LMTP id xxx for <peter>; Thu, 01 Jul 2021 04:32:50 +0000 From peter@newton.cx Thu Jul 01 04:32:50 2021 Received: from xxx by newton.cx with esmtpsa xxx (Exim 4.94.2) (envelope-from <peter@newton.cx>) id xxxx for peter@newton.cx; Thu, 01 Jul 2021 04:32:50 +0000 Message-ID: <xxx> Subject: qqtestqq
This was happening with trivial test messages, and trivial Sieve rules, but I can provide specifics if they would be helpful.
Versions: CentOS 7.9.2009; Dovecot 2.2.36; Pigeonhole 0.4.24; Exim 4.92.2.
Below I've added the output of dovecot -n
. My sendmail_path
setting
was empty before, but as a workaround I've set it to a wrapper script
that strips out everything before the From
, "solving" the problem.
Thanks so much for building Dovecot, I've been using it with great success for more than a decade!
Best,
Peter
=========================================================
# 2.2.36 (1f10bfa63): /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.24 (124e06aa) # OS: Linux 4.14.210-rh241-20201203010913.xenU.x86_64 x86_64 CentOS Linux release 7.9.2009 (Core) ext3 # Hostname: newton.cx auth_username_format = %Ln mail_location = mdbox:/var/spool/mail/%n mail_plugins = zlib managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded- character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext mbox_write_locks = fcntl namespace inbox { hidden = no inbox = yes location = mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = separator = . type = private } passdb { driver = pam } plugin { recipient_delimiter = + sieve = ~/.dovecot.sieve sieve_before = /etc/dovecot/dspam.sieve sieve_dir = /var/lib/sieve-users/%u sieve_global_dir = /etc/dovecot/sieve-global zlib_save = gz zlib_save_level = 7 } protocols = imap pop3 lmtp sieve sendmail_path = /usr/sbin/dovecot-sieve-sendmail.sh service imap-login { inet_listener imap { port = 143 } inet_listener imaps { port = 993 ssl = yes } } service managesieve-login { inet_listener sieve { address = 127.0.0.1 port = 4190 } } service pop3-login { inet_listener pop3 { port = 0 } inet_listener pop3s { port = 995 ssl = yes } } ssl_cert = </etc/letsencrypt/live/newton.cx/fullchain.pem ssl_key = # hidden, use -P to show it userdb { driver = passwd } protocol lmtp { mail_plugins = zlib sieve } protocol lda { mail_plugins = zlib sieve } protocol imap { mail_max_userip_connections = 20 } protocol pop3 { pop3_uidl_format = %08Xu%08Xv }
participants (1)
-
Peter Williams