Hi!
I've got a segfault in managesieve while using: sieve_extensions = -vacation -reject -spamtest -virustest -enotify -redirect
The problem seems to lie in "-redirect".
Reason for excluding "redirect" from sieve is my users should not use sieve to forward or redirect mails but use an external method (web-script to set LDAP attribute) which checks several things like active spam-checker, existing target mailbox, etc.
The version ov dovecot ist 1:2.0.9-1~3.gbp785ad1~dvz60+1 on Debian Squeeze which is from the Debian maintainers git repository recompiled on Squeeze (I know, pretty wild.)
doveconf -n and backtrace follow:
-----------------------8<---------------------------------------------
# 2.0.9: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-5-amd64 x86_64 Debian 6.0 auth_username_format = %Ln dict { quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext } disable_plaintext_auth = no first_valid_gid = 1000 first_valid_uid = 1000 last_valid_gid = 1000 last_valid_uid = 1000 mail_access_groups = virtmail mail_gid = virtmail mail_location = mdbox:~/mdbox mail_plugins = " quota zlib" mail_uid = virtmail mdbox_rotate_interval = 23 hours mdbox_rotate_size = 25 M namespace { hidden = yes inbox = yes list = yes location = prefix = INBOX. separator = . subscriptions = yes type = private } passdb { args = /etc/dovecot/dovecot-ldap.conf.ext driver = ldap } plugin { quota = dict:Benutzer-Quota::proxy::quota quota_rule = *:storage=2G sieve = ~/.dovecot.sieve sieve_dir = ~/sieve sieve_extensions = -vacation -reject -spamtest -virustest -enotify -redirect zlib_save = gz zlib_save_level = 6 } postmaster_address = postmaster@th-mittelhessen.de protocols = imap pop3 sieve service dict { unix_listener dict { group = virtmail mode = 0660 } } service imap-login { inet_listener imap { port = 143 } inet_listener imaps { port = 993 ssl = yes } } service managesieve-login { inet_listener sieve { port = 4190 } inet_listener sieve_deprecated { port = 2000 } } service pop3-login { inet_listener pop3 { port = 110 } inet_listener pop3s { port = 995 ssl = yes } } ssl_cert =
-----------------------8<---------------------------------------------
(gdb) bt full #0 sieve_extensions_set_string (svinst=<value optimized out>, ext_string=<value optimized out>) at sieve-extensions.c:567 ext = 0x0 op = 0 '\000' name = 0x2375331 "redirect" _data_stack_cur_id = 2 ext_reg = 0x23856c8 ext_names = 0x2375368 i = <value optimized out> ext_count = <value optimized out> relative = true #1 0x00007fb2db4207c2 in sieve_extensions_init (svinst=0x2385680) at sieve-extensions.c:256 extensions = <value optimized out> ext = <value optimized out> #2 0x00007fb2db426914 in sieve_init (env=0x40d700, context=<value optimized out>, debug=false) at sieve.c:83 svinst = 0x2385680 uint_setting = 0 size_setting = 37179544 pool = 0x2385660 #3 0x00000000004085ff in managesieve_capabilities_dump () at managesieve-capabilities.c:125 svinst = <value optimized out> notify_cap = <value optimized out> #4 0x0000000000408af5 in main (argc=4, argv=0x237d370) at main.c:273 set_roots = {0x610040, 0x0} service_flags = <value optimized out> storage_service_flags = 0 postlogin_socket_path = 0x0 username = 0x0 c = <value optimized out>
-----------------------8<---------------------------------------------
Grüße, Sven.
-- Sig lost. Core dumped.