pigeonhole 0.4.22 with sieve_before script crashes
Hello!
Dovecot 2.2.34 (874deae) Pigeonhole version 0.4.22 (22940fb7)
After the update to pigeonhole version 0.4.22 the following configuration does not work. With version 0.4.21 it works.
dovecot.conf (only sieve configuration)
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 editheader sieve = file:~/sieve;active=~/.dovecot.sieve sieve_before = /etc/dovecot/sieve/filter sieve_extensions = +editheader sieve_max_script_size = 1M service managesieve-login { inet_listener sieve { port = 4190 } } protocol sieve { mail_max_userip_connections = 10 managesieve_implementation_string = Sieve managesieve_logout_format = bytes=%i/%o }
sieve_before script for all users (/etc/dovecot/sieve/filter)
require ["editheader"];
if header :contains "X-Spam-Flag" "YES" { addheader "X-Filter-Junk-Flag" "YES"; addheader "X-Filter-Junk-Type" "SPAM"; } elsif header :contains "X-Amavis-Alert" "INFECTED" { addheader "X-Filter-Junk-Flag" "YES"; addheader "X-Filter-Junk-Type" "VIRUS"; } elsif header :contains "X-Amavis-Alert" "BANNED" { addheader "X-Filter-Junk-Flag" "YES"; addheader "X-Filter-Junk-Type" "ATTACHMENT"; } else { addheader "X-Filter-Junk-Flag" "NO"; addheader "X-Filter-Junk-Type" "NONE"; }
sieve script for user postbox@example.com (.dovecot.sieve)
require ["copy"]; if allof (header :is "X-Filter-Junk-Flag" "NO") { redirect :copy "copy@example.com"; }
I use LMTP to deliver the mail to the user and the following error occurs:
Mar 3 02:31:34 test dovecot: lmtp(postbox@example.com): Panic: file istream.c: line 197 (i_stream_read): assertion failed: ((size_t)ret+old_size == _stream->pos - _stream->skip) Mar 3 02:31:34 test dovecot: lmtp(postbox@example.com): Error: Raw backtrace: /usr/local/lib/dovecot/libdovecot.so.0(+0x9c7a0) [0x7f8c015be7a0] -> /usr/local/lib/dovecot/libdovecot.so.0(+0x9c88c) [0x7f8c015be88c] -> /usr/local/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f8c0155294d] -> /usr/local/lib/dovecot/libdovecot.so.0(i_stream_read+0x2c8) [0x7f8c015c99d8] -> /usr/local/lib/dovecot/libdovecot.so.0(i_stream_read_data+0x3d) [0x7f8c015ca15d] -> /usr/local/lib/dovecot/libdovecot.so.0(message_parse_header_next+0x63) [0x7f8c015a72e3] -> /usr/local/lib/dovecot/libdovecot.so.0(+0x7efb1) [0x7f8c015a0fb1] -> /usr/local/lib/dovecot/libdovecot.so.0(i_stream_read+0x53) [0x7f8c015c9763] -> /usr/local/lib/dovecot/libdovecot.so.0(i_stream_read_data+0x3d) [0x7f8c015ca15d] -> /usr/local/lib/dovecot/libdovecot.so.0(io_stream_copy+0x75) [0x7f8c015df1a5] -> /usr/local/lib/dovecot/libdovecot.so.0(+0xbf5e0) [0x7f8c015e15e0] -> /usr/local/lib/dovecot/libdovecot.so.0(o_stream_send_istream+0x33) [0x7f8c015df003] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(+0x4dbf4) [0x7f8bfbb3abf4] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(+0x3f22a) [0x7f8bfbb2c22a] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(sieve_result_execute+0x27f) [0x7f8bfbb2da6f] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(+0x502ee) [0x7f8bfbb3d2ee] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(sieve_multiscript_run+0xa6) [0x7f8bfbb3def6] -> /usr/local/lib/dovecot/lib90_sieve_plugin.so(+0x379a) [0x7f8bfbda279a] -> /usr/local/lib/dovecot/libdovecot-lda.so.0(mail_deliver+0xa2) [0x7f8c01b9d942] -> dovecot/lmtp DATA 127.0.0.1 postbox@example.com [0x406c0b] -> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x52) [0x7f8c015d3c22] -> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0xea) [0x7f8c015d51ca] -> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x3c) [0x7f8c015d3cbc] -> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7f8c015d3e68] -> /usr/local/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f8c0155caa3] -> dovecot/lmtp DATA 127.0.0.1 postbox@example.com [0x404fbc] -> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f8c01198b45] -> dovecot/lmtp DATA 127.0.0.1 postbox@example.com [0x405065] Mar 3 02:31:34 test dovecot: lmtp(postbox@example.com): Fatal: master: service(lmtp): child 13445 killed with signal 6 (core dumps disabled)
If I change the sieve script for this user, it works. For example:
require ["copy"]; if allof (header :is "X-Filter-Junk-Status" "NO") { redirect :copy "copy@example.com"; }
The error occurs only in version 0.4.22, not in version 0.4.21.
Thanks, Jan
Op 3/3/2018 om 2:57 AM schreef Jan:
Hello!
We're looking into it.
Regards,
Stephan.
Dovecot 2.2.34 (874deae) Pigeonhole version 0.4.22 (22940fb7)
After the update to pigeonhole version 0.4.22 the following configuration does not work. With version 0.4.21 it works.
dovecot.conf (only sieve configuration)
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 editheader sieve = file:~/sieve;active=~/.dovecot.sieve sieve_before = /etc/dovecot/sieve/filter sieve_extensions = +editheader sieve_max_script_size = 1M service managesieve-login { inet_listener sieve { port = 4190 } } protocol sieve { mail_max_userip_connections = 10 managesieve_implementation_string = Sieve managesieve_logout_format = bytes=%i/%o }
sieve_before script for all users (/etc/dovecot/sieve/filter)
require ["editheader"];
if header :contains "X-Spam-Flag" "YES" { addheader "X-Filter-Junk-Flag" "YES"; addheader "X-Filter-Junk-Type" "SPAM"; } elsif header :contains "X-Amavis-Alert" "INFECTED" { addheader "X-Filter-Junk-Flag" "YES"; addheader "X-Filter-Junk-Type" "VIRUS"; } elsif header :contains "X-Amavis-Alert" "BANNED" { addheader "X-Filter-Junk-Flag" "YES"; addheader "X-Filter-Junk-Type" "ATTACHMENT"; } else { addheader "X-Filter-Junk-Flag" "NO"; addheader "X-Filter-Junk-Type" "NONE"; }
sieve script for user postbox@example.com (.dovecot.sieve)
require ["copy"]; if allof (header :is "X-Filter-Junk-Flag" "NO") { redirect :copy "copy@example.com"; }
I use LMTP to deliver the mail to the user and the following error occurs:
Mar 3 02:31:34 test dovecot: lmtp(postbox@example.com): Panic: file istream.c: line 197 (i_stream_read): assertion failed: ((size_t)ret+old_size == _stream->pos - _stream->skip) Mar 3 02:31:34 test dovecot: lmtp(postbox@example.com): Error: Raw backtrace: /usr/local/lib/dovecot/libdovecot.so.0(+0x9c7a0) [0x7f8c015be7a0] -> /usr/local/lib/dovecot/libdovecot.so.0(+0x9c88c) [0x7f8c015be88c] -> /usr/local/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f8c0155294d] -> /usr/local/lib/dovecot/libdovecot.so.0(i_stream_read+0x2c8) [0x7f8c015c99d8] -> /usr/local/lib/dovecot/libdovecot.so.0(i_stream_read_data+0x3d) [0x7f8c015ca15d] -> /usr/local/lib/dovecot/libdovecot.so.0(message_parse_header_next+0x63) [0x7f8c015a72e3] -> /usr/local/lib/dovecot/libdovecot.so.0(+0x7efb1) [0x7f8c015a0fb1] -> /usr/local/lib/dovecot/libdovecot.so.0(i_stream_read+0x53) [0x7f8c015c9763] -> /usr/local/lib/dovecot/libdovecot.so.0(i_stream_read_data+0x3d) [0x7f8c015ca15d] -> /usr/local/lib/dovecot/libdovecot.so.0(io_stream_copy+0x75) [0x7f8c015df1a5] -> /usr/local/lib/dovecot/libdovecot.so.0(+0xbf5e0) [0x7f8c015e15e0] -> /usr/local/lib/dovecot/libdovecot.so.0(o_stream_send_istream+0x33) [0x7f8c015df003] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(+0x4dbf4) [0x7f8bfbb3abf4] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(+0x3f22a) [0x7f8bfbb2c22a] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(sieve_result_execute+0x27f) [0x7f8bfbb2da6f] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(+0x502ee) [0x7f8bfbb3d2ee] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(sieve_multiscript_run+0xa6) [0x7f8bfbb3def6] -> /usr/local/lib/dovecot/lib90_sieve_plugin.so(+0x379a) [0x7f8bfbda279a] -> /usr/local/lib/dovecot/libdovecot-lda.so.0(mail_deliver+0xa2) [0x7f8c01b9d942] -> dovecot/lmtp DATA 127.0.0.1 postbox@example.com [0x406c0b] -> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x52) [0x7f8c015d3c22] -> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0xea) [0x7f8c015d51ca] -> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x3c) [0x7f8c015d3cbc] -> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7f8c015d3e68] -> /usr/local/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f8c0155caa3] -> dovecot/lmtp DATA 127.0.0.1 postbox@example.com [0x404fbc] -> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f8c01198b45] -> dovecot/lmtp DATA 127.0.0.1 postbox@example.com [0x405065] Mar 3 02:31:34 test dovecot: lmtp(postbox@example.com): Fatal: master: service(lmtp): child 13445 killed with signal 6 (core dumps disabled)
If I change the sieve script for this user, it works. For example:
require ["copy"]; if allof (header :is "X-Filter-Junk-Status" "NO") { redirect :copy "copy@example.com"; }
The error occurs only in version 0.4.22, not in version 0.4.21.
Thanks, Jan
Op 3/3/2018 om 9:15 AM schreef Stephan Bosch:
Op 3/3/2018 om 2:57 AM schreef Jan:
Hello!
We're looking into it.
Right, this is not reproducible in the test suite, but I can reproduce it when I replicate your setup.
Regards,
Stephan.
Dovecot 2.2.34 (874deae) Pigeonhole version 0.4.22 (22940fb7)
After the update to pigeonhole version 0.4.22 the following configuration does not work. With version 0.4.21 it works.
dovecot.conf (only sieve configuration)
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 editheader sieve = file:~/sieve;active=~/.dovecot.sieve sieve_before = /etc/dovecot/sieve/filter sieve_extensions = +editheader sieve_max_script_size = 1M service managesieve-login { inet_listener sieve { port = 4190 } } protocol sieve { mail_max_userip_connections = 10 managesieve_implementation_string = Sieve managesieve_logout_format = bytes=%i/%o }
sieve_before script for all users (/etc/dovecot/sieve/filter)
require ["editheader"];
if header :contains "X-Spam-Flag" "YES" { addheader "X-Filter-Junk-Flag" "YES"; addheader "X-Filter-Junk-Type" "SPAM"; } elsif header :contains "X-Amavis-Alert" "INFECTED" { addheader "X-Filter-Junk-Flag" "YES"; addheader "X-Filter-Junk-Type" "VIRUS"; } elsif header :contains "X-Amavis-Alert" "BANNED" { addheader "X-Filter-Junk-Flag" "YES"; addheader "X-Filter-Junk-Type" "ATTACHMENT"; } else { addheader "X-Filter-Junk-Flag" "NO"; addheader "X-Filter-Junk-Type" "NONE"; }
sieve script for user postbox@example.com (.dovecot.sieve)
require ["copy"]; if allof (header :is "X-Filter-Junk-Flag" "NO") { redirect :copy "copy@example.com"; }
I use LMTP to deliver the mail to the user and the following error occurs:
Mar 3 02:31:34 test dovecot: lmtp(postbox@example.com): Panic: file istream.c: line 197 (i_stream_read): assertion failed: ((size_t)ret+old_size == _stream->pos - _stream->skip) Mar 3 02:31:34 test dovecot: lmtp(postbox@example.com): Error: Raw backtrace: /usr/local/lib/dovecot/libdovecot.so.0(+0x9c7a0) [0x7f8c015be7a0] -> /usr/local/lib/dovecot/libdovecot.so.0(+0x9c88c) [0x7f8c015be88c] -> /usr/local/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f8c0155294d] -> /usr/local/lib/dovecot/libdovecot.so.0(i_stream_read+0x2c8) [0x7f8c015c99d8] -> /usr/local/lib/dovecot/libdovecot.so.0(i_stream_read_data+0x3d) [0x7f8c015ca15d] -> /usr/local/lib/dovecot/libdovecot.so.0(message_parse_header_next+0x63) [0x7f8c015a72e3] -> /usr/local/lib/dovecot/libdovecot.so.0(+0x7efb1) [0x7f8c015a0fb1] -> /usr/local/lib/dovecot/libdovecot.so.0(i_stream_read+0x53) [0x7f8c015c9763] -> /usr/local/lib/dovecot/libdovecot.so.0(i_stream_read_data+0x3d) [0x7f8c015ca15d] -> /usr/local/lib/dovecot/libdovecot.so.0(io_stream_copy+0x75) [0x7f8c015df1a5] -> /usr/local/lib/dovecot/libdovecot.so.0(+0xbf5e0) [0x7f8c015e15e0] -> /usr/local/lib/dovecot/libdovecot.so.0(o_stream_send_istream+0x33) [0x7f8c015df003] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(+0x4dbf4) [0x7f8bfbb3abf4] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(+0x3f22a) [0x7f8bfbb2c22a] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(sieve_result_execute+0x27f) [0x7f8bfbb2da6f] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(+0x502ee) [0x7f8bfbb3d2ee] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(sieve_multiscript_run+0xa6) [0x7f8bfbb3def6] -> /usr/local/lib/dovecot/lib90_sieve_plugin.so(+0x379a) [0x7f8bfbda279a] -> /usr/local/lib/dovecot/libdovecot-lda.so.0(mail_deliver+0xa2) [0x7f8c01b9d942] -> dovecot/lmtp DATA 127.0.0.1 postbox@example.com [0x406c0b] -> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x52) [0x7f8c015d3c22] -> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0xea) [0x7f8c015d51ca] -> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x3c) [0x7f8c015d3cbc] -> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7f8c015d3e68] -> /usr/local/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f8c0155caa3] -> dovecot/lmtp DATA 127.0.0.1 postbox@example.com [0x404fbc] -> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f8c01198b45] -> dovecot/lmtp DATA 127.0.0.1 postbox@example.com [0x405065] Mar 3 02:31:34 test dovecot: lmtp(postbox@example.com): Fatal: master: service(lmtp): child 13445 killed with signal 6 (core dumps disabled)
If I change the sieve script for this user, it works. For example:
require ["copy"]; if allof (header :is "X-Filter-Junk-Status" "NO") { redirect :copy "copy@example.com"; }
The error occurs only in version 0.4.22, not in version 0.4.21.
Thanks, Jan
Op 3/3/2018 om 9:35 AM schreef Stephan Bosch:
Op 3/3/2018 om 9:15 AM schreef Stephan Bosch:
Op 3/3/2018 om 2:57 AM schreef Jan:
Hello!
We're looking into it. Right, this is not reproducible in the test suite, but I can reproduce it when I replicate your setup.
I created a special test suite that reproduces the problem reliably. This occurs when Sieve editheader, Sieve redirect and LMTP are combined.
Now to fix it...
Regards,
Stephan.
Dovecot 2.2.34 (874deae) Pigeonhole version 0.4.22 (22940fb7)
After the update to pigeonhole version 0.4.22 the following configuration does not work. With version 0.4.21 it works.
dovecot.conf (only sieve configuration)
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 editheader sieve = file:~/sieve;active=~/.dovecot.sieve sieve_before = /etc/dovecot/sieve/filter sieve_extensions = +editheader sieve_max_script_size = 1M service managesieve-login { inet_listener sieve { port = 4190 } } protocol sieve { mail_max_userip_connections = 10 managesieve_implementation_string = Sieve managesieve_logout_format = bytes=%i/%o }
sieve_before script for all users (/etc/dovecot/sieve/filter)
require ["editheader"];
if header :contains "X-Spam-Flag" "YES" { addheader "X-Filter-Junk-Flag" "YES"; addheader "X-Filter-Junk-Type" "SPAM"; } elsif header :contains "X-Amavis-Alert" "INFECTED" { addheader "X-Filter-Junk-Flag" "YES"; addheader "X-Filter-Junk-Type" "VIRUS"; } elsif header :contains "X-Amavis-Alert" "BANNED" { addheader "X-Filter-Junk-Flag" "YES"; addheader "X-Filter-Junk-Type" "ATTACHMENT"; } else { addheader "X-Filter-Junk-Flag" "NO"; addheader "X-Filter-Junk-Type" "NONE"; }
sieve script for user postbox@example.com (.dovecot.sieve)
require ["copy"]; if allof (header :is "X-Filter-Junk-Flag" "NO") { redirect :copy "copy@example.com"; }
I use LMTP to deliver the mail to the user and the following error occurs:
Mar 3 02:31:34 test dovecot: lmtp(postbox@example.com): Panic: file istream.c: line 197 (i_stream_read): assertion failed: ((size_t)ret+old_size == _stream->pos - _stream->skip) Mar 3 02:31:34 test dovecot: lmtp(postbox@example.com): Error: Raw backtrace: /usr/local/lib/dovecot/libdovecot.so.0(+0x9c7a0) [0x7f8c015be7a0] -> /usr/local/lib/dovecot/libdovecot.so.0(+0x9c88c) [0x7f8c015be88c] -> /usr/local/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f8c0155294d] -> /usr/local/lib/dovecot/libdovecot.so.0(i_stream_read+0x2c8) [0x7f8c015c99d8] -> /usr/local/lib/dovecot/libdovecot.so.0(i_stream_read_data+0x3d) [0x7f8c015ca15d] -> /usr/local/lib/dovecot/libdovecot.so.0(message_parse_header_next+0x63) [0x7f8c015a72e3] -> /usr/local/lib/dovecot/libdovecot.so.0(+0x7efb1) [0x7f8c015a0fb1] -> /usr/local/lib/dovecot/libdovecot.so.0(i_stream_read+0x53) [0x7f8c015c9763] -> /usr/local/lib/dovecot/libdovecot.so.0(i_stream_read_data+0x3d) [0x7f8c015ca15d] -> /usr/local/lib/dovecot/libdovecot.so.0(io_stream_copy+0x75) [0x7f8c015df1a5] -> /usr/local/lib/dovecot/libdovecot.so.0(+0xbf5e0) [0x7f8c015e15e0] -> /usr/local/lib/dovecot/libdovecot.so.0(o_stream_send_istream+0x33) [0x7f8c015df003] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(+0x4dbf4) [0x7f8bfbb3abf4] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(+0x3f22a) [0x7f8bfbb2c22a] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(sieve_result_execute+0x27f) [0x7f8bfbb2da6f] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(+0x502ee) [0x7f8bfbb3d2ee] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(sieve_multiscript_run+0xa6) [0x7f8bfbb3def6] -> /usr/local/lib/dovecot/lib90_sieve_plugin.so(+0x379a) [0x7f8bfbda279a] -> /usr/local/lib/dovecot/libdovecot-lda.so.0(mail_deliver+0xa2) [0x7f8c01b9d942] -> dovecot/lmtp DATA 127.0.0.1 postbox@example.com [0x406c0b] -> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x52) [0x7f8c015d3c22] -> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0xea) [0x7f8c015d51ca] -> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x3c) [0x7f8c015d3cbc] -> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7f8c015d3e68] -> /usr/local/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f8c0155caa3] -> dovecot/lmtp DATA 127.0.0.1 postbox@example.com [0x404fbc] -> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f8c01198b45] -> dovecot/lmtp DATA 127.0.0.1 postbox@example.com [0x405065] Mar 3 02:31:34 test dovecot: lmtp(postbox@example.com): Fatal: master: service(lmtp): child 13445 killed with signal 6 (core dumps disabled)
If I change the sieve script for this user, it works. For example:
require ["copy"]; if allof (header :is "X-Filter-Junk-Status" "NO") { redirect :copy "copy@example.com"; }
The error occurs only in version 0.4.22, not in version 0.4.21.
Thanks, Jan
We're looking into it. Right, this is not reproducible in the test suite, but I can reproduce it when I replicate your setup.
I created a special test suite that reproduces the problem reliably. This occurs when Sieve editheader, Sieve redirect and LMTP are combined.
Now to fix it...
Hello Stephan!
Thank you for your quick reply and the informations. If a fix is available, I will test it.
Regards, Jan
Op 3/3/2018 om 6:17 PM schreef Jan:
We're looking into it. Right, this is not reproducible in the test suite, but I can reproduce it when I replicate your setup.
I created a special test suite that reproduces the problem reliably. This occurs when Sieve editheader, Sieve redirect and LMTP are combined.
Now to fix it...
Hello Stephan!
Thank you for your quick reply and the informations. If a fix is available, I will test it.
There is a fix. Pending internal review, I will submit it here.
Regards,
Stephan.
Op 3/3/2018 om 6:29 PM schreef Stephan Bosch:
Op 3/3/2018 om 6:17 PM schreef Jan:
We're looking into it. Right, this is not reproducible in the test suite, but I can reproduce it when I replicate your setup. I created a special test suite that reproduces the problem reliably. This occurs when Sieve editheader, Sieve redirect and LMTP are combined.
Now to fix it... Hello Stephan!
Thank you for your quick reply and the informations. If a fix is available, I will test it. There is a fix. Pending internal review, I will submit it here.
The actual fix (for v2.2/v0.4): https://github.com/dovecot/pigeonhole/commit/14ec6fe861403aa09a3b5790d113247...
Some related changes before and after this change (last commit is unrelated), mainly relating to creating a regression test for this particular problem. https://github.com/dovecot/pigeonhole/commits/master-0.4
Regards,
Stephan.
Hello Stephan!
Thanks for your message an the great work. I can confirm, that the commit fixes the bug. Thank a lot.
Regards, Jan
Am 06.03.2018 um 00:48 schrieb Stephan Bosch:
The actual fix (for v2.2/v0.4): https://github.com/dovecot/pigeonhole/commit/14ec6fe861403aa09a3b5790d113247...
Some related changes before and after this change (last commit is unrelated), mainly relating to creating a regression test for this particular problem. https://github.com/dovecot/pigeonhole/commits/master-0.4
participants (2)
-
Jan
-
Stephan Bosch