Crash in sieve_extprogram_create() after dovecot/pigeonhole update
Hi all.
My dovecot setup:
pf@vulcan:~ » dovecot --version 2.3.0 (c8b89eb)
on Arch Linux, x86_64 (full config here: [0])
uses sieve plugin to train rspamd system as described in the wiki [1]. It used to work fine prior to 2.3.0/0.5.0 update, but now "imap" process crashes when I move spam letters from the inbox to the junk folder.
I've recompiled both dovecot and pigeonhole with debug symbols and got this stacktrace [2].
As you can see, it fails (with a SIGSEGV) in sieve_extprogram_create(), sieve- extprograms-common.c:562, which corresponds to this code:
=== 562 if ( !smtp_address_isnull(msgdata->envelope.rcpt_params->orcpt.addr) ) { 563 program_client_set_env 564 (sprog->program_client, "ORIG_RECIPIENT", 565 smtp_address_encode(msgdata->envelope.rcpt_params-
orcpt.addr)); 566 }
When I dump msgdata structure, I see that rcpt_params is NULL: [3]. Thus, NULL pointer dereference occurs.
Here is my report-spam.sieve file: [4]
What I'm doing wrong here? Or is this some bug within pigeonhole? Could you please help me with resolving this?
Thanks.
[0] https://gist.github.com/92be2a4abe04149fd4b6971b6b4fa38d [1] https://wiki2.dovecot.org/HowTo/AntispamWithSieve [2] https://gist.github.com/8b202ebe9310845b59bcdeed7567026e [3] https://gist.github.com/a7e30b9e7a6c315d729bdcfe7142f532 [4] https://gist.github.com/fd1aa8943af106408a30155dffe052ab
The commit [1] fixes the issue, thanks.
[1] https://github.com/stephanbosch/pigeonhole-core/commit/ 321a39be974deb2e7eff7b2a509a3ee6ff2e5ae1
On pondělí 25. prosince 2017 13:44:12 CET Oleksandr Natalenko wrote:
Hi all.
My dovecot setup:
pf@vulcan:~ » dovecot --version 2.3.0 (c8b89eb)
on Arch Linux, x86_64 (full config here: [0])
uses sieve plugin to train rspamd system as described in the wiki [1]. It used to work fine prior to 2.3.0/0.5.0 update, but now "imap" process crashes when I move spam letters from the inbox to the junk folder.
I've recompiled both dovecot and pigeonhole with debug symbols and got this stacktrace [2].
As you can see, it fails (with a SIGSEGV) in sieve_extprogram_create(), sieve- extprograms-common.c:562, which corresponds to this code:
=== 562 if ( !smtp_address_isnull(msgdata->envelope.rcpt_params->orcpt.addr) ) { 563 program_client_set_env 564 (sprog->program_client, "ORIG_RECIPIENT", 565 smtp_address_encode(msgdata->envelope.rcpt_params-
orcpt.addr));
566 }
When I dump msgdata structure, I see that rcpt_params is NULL: [3]. Thus, NULL pointer dereference occurs.
Here is my report-spam.sieve file: [4]
What I'm doing wrong here? Or is this some bug within pigeonhole? Could you please help me with resolving this?
Thanks.
[0] https://gist.github.com/92be2a4abe04149fd4b6971b6b4fa38d [1] https://wiki2.dovecot.org/HowTo/AntispamWithSieve [2] https://gist.github.com/8b202ebe9310845b59bcdeed7567026e [3] https://gist.github.com/a7e30b9e7a6c315d729bdcfe7142f532 [4] https://gist.github.com/fd1aa8943af106408a30155dffe052ab
participants (1)
-
Oleksandr Natalenko