lda fails in parse_angle_addr if sieve is enabled

Stephan Bosch stephan at rename-it.nl
Thu Apr 12 16:56:25 EEST 2018



Op 12-4-2018 om 15:52 schreef Leo Gaspard:
> Here are the first two headers of the mail you just sent, delivered with
> the rolled-back-into dovecot 2.3.0.1:
>
> Return-Path: stephan at rename-it.nl
> Delivered-To: dovecot at leo.gaspard.io
>
> Does that clear the facts? The Return-Path appears to not have <>, which
> appears to be opposed to RFC5322. So I guess dovecot could as before
> accept it, and a bug should be reported upstream (I guess to opensmtpd,
> as rspamd should not touch the Return-Path) so that it puts the expected
> <> around the address. What do you think about this?

Yes, I will make Dovecot more lenient in this regard.

Regards,

Stephan.

>
> On 04/12/2018 12:24 PM, Stephan Bosch wrote:
>> Hi,
>>
>> This code path is only executed when there is a return-path header.
>> Given the fact that this fails consistently, can you provide an example
>> of a message successfully delivered using an older version of Dovecot;
>> i.e., as it is stored in the mailbox? There should be a return-path
>> header there.
>>
>> Alternatively, you could temporarily wrap dovecot-lda in a shell script
>> that copies the message to some file you can read after.
>>
>> I just need one example to confirm my suspicions.
>>
>> Regards,
>>
>>
>> Stephan.
>>
>>
>> Op 12-4-2018 om 11:54 schreef Leo Gaspard:
>>> (sorry for the absence of In-Reply-To, I could neither find it on the ML
>>> interface nor figure out a way to customize it in Thunderbird, and am
>>> not subscribed)
>>>
>>> Just wanted to chime in to say I've hit the same issue with the upgrade
>>> from 2.3.0.1 to 2.3.1. My setup is an opensmtpd sending mail to rspamd,
>>> that then delivers to dovecot LDA.
>>>
>>> In the logs, I see (slightly reformated and censored):
>>>
>>> Panic: file message-address.c: line 147 (parse_angle_addr): assertion
>>> failed: (*ctx->parser.data == '<')
>>> Error: Raw backtrace:
>>>       /nix/store/[…]-dovecot-2.3.1/lib/dovecot/libdovecot.so.0(+[…]) […]
>>>    -> /nix/store/[…]-dovecot-2.3.1/lib/dovecot/libdovecot.so.0(+[…]) […]
>>>    ->
>>> /nix/store/[…]-dovecot-2.3.1/lib/dovecot/libdovecot.so.0(i_fatal+0) […]
>>>    -> /nix/store/[…]-dovecot-2.3.1/lib/dovecot/libdovecot.so.0(+[…]) […]
>>>    -> /nix/store/[…]-dovecot-2.3.1/lib/dovecot/libdovecot.so.0(+[…]) […]
>>>    ->
>>> /nix/store/[…]-dovecot-2.3.1/lib/dovecot/libdovecot.so.0(message_address_parse_path+[…])
>>>
>>> […]
>>>    ->
>>> /nix/store/[…]-dovecot-2.3.1/lib/dovecot/libdovecot-lda.so.0(mail_deliver_get_return_address+[…])
>>>
>>> […]
>>>    -> /etc/dovecot/modules/lib90_sieve_plugin.so(+[…]) […]
>>>    ->
>>> /nix/store/[…]-dovecot-2.3.1/lib/dovecot/libdovecot-lda.so.0(mail_deliver+[…])
>>>
>>> [0x7f04e2d08e20]
>>>    -> /nix/store/[…]-dovecot-2.3.1/libexec/dovecot/deliver(main+[…]) […]
>>>    ->
>>> /nix/store/[…]-glibc-2.26-131/lib/libc.so.6(__libc_start_main+[…]) […]
>>>    -> /nix/store/[…]-dovecot-2.3.1/libexec/dovecot/deliver(_start+[…]) […]
>>>
>>> For some reason there are not many symbols, but hope that helps!



More information about the dovecot mailing list