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 post...@example.com (.dovecot.sieve) > --------------------------------------------------------------- > require ["copy"]; > if allof (header :is "X-Filter-Junk-Flag" "NO") > { > redirect :copy "c...@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(post...@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(post...@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 > post...@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 > post...@example.com](main+0x18c) [0x404fbc] -> > /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) > [0x7f8c01198b45] -> dovecot/lmtp [DATA 127.0.0.1 > post...@example.com]() [0x405065] > Mar 3 02:31:34 test dovecot: lmtp(post...@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 "c...@example.com"; > } > --------------------------------------------------------------- > > The error occurs only in version 0.4.22, not in version 0.4.21. > > Thanks, > Jan