lda fails in parse_angle_addr if sieve is enabled

Stephan Bosch stephan at rename-it.nl
Thu Apr 12 00:55:35 EEST 2018



Op 11-4-2018 om 20:42 schreef Bernard Spil:
> Hi Stephan,
>
> Shared the message to you in person only via separate mail.
>
> With to Return-Path, I've not seen any difference in failures, all
> messages were consistently failing with the same error.
>
> Thank you! Bernard.

The fix for the panic itself is here:

https://github.com/dovecot/core/commit/fbed9168dc3b104b09bd748409aec902328cd8e5

Given that you provided an example message without a return-path header, 
I am confused on how this panic would occur at your end. Are you really 
sure this is the message that Dovecot gets to see? If you extracted it 
from the STMP queue, that may not be the same.

You could also obtain a GDB backtrace from dovecot-lda, which would tell 
me from which part of the code this panic is reached (I currently see 
only one obvious path). You can run dovecot-lda from command line within 
GDB to achieve this: `gdb --args dovecot-lda -p <message-file> -d 
<user>` and then execute `r` .. wait until it crashes an then issue 'bt 
full` (https://dovecot.org/bugreport.html).

Regards,

Stephan.



>
> 2018-04-10 2:54 GMT+02:00 Stephan Bosch <stephan at rename-it.nl>:
>> Op 4/8/2018 om 8:10 PM schreef Bernard Spil:
>>> Hi,
>>>
>>> Since updating to 2.3.1 on my FreeBSD mailserver mail delivery using
>>> lda is broken if I have sieve enabled.
>>> (Before updating this was 2.2 and pigeonhole 0.4)
>>>
>>> FreeBSD 11.1-p8 amd64
>>> Dovecot 2.3.1
>>> Pigeonhole 0.5.1
>>>
>>> Mailflow is OpenSMTPd as MTA, using mda delivery to rspamc which
>>> utlimately delivers using dovecot-lda.
>>>
>>> smtpd.conf
>>> deliver to mda "rspamc -h scan --mime -e
>>> \"/usr/local/libexec/dovecot/deliver -d %{user.username}\""
>>> %{user.username} is the local user after virtusers, aliases etc.
>>> verified using a shell wrapper and capturing the username.
>>>
>>> conf.d/15-lda.conf
>>> protocol lda {
>>>    mail_plugins = $mail_plugins sieve
>>> }
>>>
>>>
>>> Mail gets delivered.
>>>
>>> Don't understand why it is looking for a <>-address if sieve is enabled.
>> I found the cause of the panic. However, what actually triggers it could
>> be a little more nasty. Do you have an example of a message passed to
>> dovecot-lda that causes the problem? I am particularly interested in the
>> Return-Path header.
>>
>> Regards,
>>
>> Stephan.
>>



More information about the dovecot mailing list