[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