[Dovecot] Segfault in managesieve with "sieve_extensions = -redirect"
Sven Hartge
sven at svenhartge.de
Wed Mar 2 16:15:44 EET 2011
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 at 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 = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
args = /etc/dovecot/dovecot-ldap-userdb.conf.ext
driver = ldap
}
protocol lmtp {
mail_plugins = " quota zlib sieve"
}
protocol lda {
mail_plugins = " quota zlib sieve"
}
protocol imap {
mail_plugins = " quota zlib imap_quota imap_zlib"
}
-----------------------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.
More information about the dovecot
mailing list