[Dovecot] Segfault in ACL Plugin + user shared folders

Markus Werner markiwer at googlemail.com
Wed Apr 8 02:03:40 EEST 2009


Hi Timo,

>
> http://hg.dovecot.org/dovecot-1.2/rev/7d484e0f0789
> http://hg.dovecot.org/dovecot-1.2/rev/3a30d73fc463
> http://hg.dovecot.org/dovecot-1.2/rev/b6abc84440df
>

With "list = children" the namespace ist still not listed, but that's no
problem for me. With "list = all" now there is a folder named "%"
listed, directly under "#User/", additionaly to "markus at example.com".

Accessing the folder "markus at example.com/ForTest" with Thunderbird results
in a segfault. Mutt works.
(FYI: I changed the usernames, now they include @domain, if that matters)

Apr  8 00:50:41 asterix dovecot: imap-login: Login: user=<test at example.com>, method=PLAIN, rip=192.168.128.151, lip=192.168.128.151, secured
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): Loading modules from directory: /opt/dovecot/lib/dovecot/imap
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): Module loaded: /opt/dovecot/lib/dovecot/imap/lib01_acl_plugin.so
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): Module loaded: /opt/dovecot/lib/dovecot/imap/lib02_imap_acl_plugin.so
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): Module loaded: /opt/dovecot/lib/dovecot/imap/lib10_quota_plugin.so
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): Module loaded: /opt/dovecot/lib/dovecot/imap/lib11_imap_quota_plugin.so
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): Module loaded: /opt/dovecot/lib/dovecot/imap/lib20_fts_plugin.so
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): Module loaded: /opt/dovecot/lib/dovecot/imap/lib21_fts_squat_plugin.so
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): Effective uid=2000, gid=2000, home=/var/spool/dovecot/users/example.com/test
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): Quota root: name=user backend=dict args=:file:/var/spool/dovecot/users/example.com/test/Maildir/dovecot-quota
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): Quota rule: root=user mailbox=* bytes=2147483648 messages=50000
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): dict quota: user=test at example.com, uri=file:/var/spool/dovecot/users/example.com/test/Maildir/dovecot-quota, noenforcing=0
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): Namespace: type=private, prefix=INBOX/, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=yes
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): maildir: data=~/Maildir
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): maildir++: root=/var/spool/dovecot/users/example.com/test/Maildir, index=, control=, inbox=/var/spool/dovecot/users/example.com/test/Maildir
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): acl: initializing backend with data: vfile
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): acl: acl username = test at example.com
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): acl: owner = 1
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): acl vfile: Global ACL directory: (null)
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): Namespace: type=public, prefix=#Shared/, sep=/, inbox=no, hidden=no, list=yes, subscriptions=yes
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): maildir: data=/var/spool/dovecot/sharedfolders:INDEX=~/Maildir/index/public:CONTROL=~/Maildir/control/public
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): maildir++: root=/var/spool/dovecot/sharedfolders, index=/var/spool/dovecot/users/example.com/test/Maildir/index/public, control=/var/spool/dovecot/users/example.com/test/Maildir/control/public, inbox=
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): acl: initializing backend with data: vfile
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): acl: acl username = test at example.com
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): acl: owner = 0
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): acl vfile: Global ACL directory: (null)
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): Namespace: type=shared, prefix=#User/%u/, sep=/, inbox=no, hidden=no, list=yes, subscriptions=no
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): shared: root=, index=, control=, inbox=
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): dict quota: user=markus at example.com, uri=file:/var/spool/dovecot/users/example.com/test/Maildir/dovecot-quota, noenforcing=0
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): auth input: uid=2000
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): auth input: gid=2000
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): auth input: home=/var/spool/dovecot/users/example.com/markus
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): auth input: quota_rule=*:storage=20G:messages=500000
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): maildir: data=/var/spool/dovecot/users/example.com/markus/Maildir:INDEX=~/Maildir/index/shared/markus at example.com
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): maildir++: root=/var/spool/dovecot/users/example.com/markus/Maildir, index=/var/spool/dovecot/users/example.com/test/Maildir/index/shared/markus at example.com, control=, inbox=/var/spool/dovecot/users/example.com/markus/Maildir
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): acl: initializing backend with data: vfile
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): acl: acl username = test at example.com
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): acl: owner = 0
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): acl vfile: Global ACL directory: (null)
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): dict quota: user=ForTest, uri=file:/var/spool/dovecot/users/example.com/test/Maildir/dovecot-quota, noenforcing=0
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): maildir: data=/opt/dovecot/var/run/dovecot/user-not-found/ForTest
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): maildir++: root=/opt/dovecot/var/run/dovecot/user-not-found/ForTest, index=, control=, inbox=/opt/dovecot/var/run/dovecot/user-not-found/ForTest
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): acl: initializing backend with data: vfile
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): acl: acl username = test at example.com
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): acl: owner = 0
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): acl vfile: Global ACL directory: (null)
Apr  8 00:50:41 asterix dovecot: IMAP(test at example.com): acl vfile: reading file /var/spool/dovecot/users/example.com/markus/Maildir/.ForTest/dovecot-acl
Apr  8 00:50:41 asterix dovecot: child 11251 (imap) killed with signal 11 (core dumped)


#0  0x080b53b0 in mailbox_list_clear_error (list=0x0) at mailbox-list.c:790
No locals.
#1  0x080b54b0 in mailbox_list_get_path (list=0x0, name=0x981f1e8 "ForTest", type=MAILBOX_LIST_PATH_TYPE_INDEX) at mailbox-list.c:389
No locals.
#2  0x080b418c in mail_storage_get_mailbox_index_dir (storage=0x981a8c8, name=0x8124520 "@E\022\b") at mail-storage.c:403
No locals.
#3  0xb7dc6bbd in fts_backend_squat_init (box=0x981f010) at fts-backend-squat.c:60
        backend = <value optimized out>
        storage = (struct mail_storage *) 0x981a8c8
        status = {messages = 3084739116, recent = 3084739116, unseen = 135191441, uidvalidity = 159380040, uidnext = 0, first_unseen_seq = 128,
  highest_modseq = 13819171352428908320, keywords = 0x97ff240, sync_delayed_expunges = 1, nonpermanent_modseqs = 1}
        path = 0x0
        env = <value optimized out>
        flags = <value optimized out>
#4  0xb7dd361c in fts_backend_init (backend_name=0x97ff240 "squat", box=0x981f010) at fts-api.c:63
        be = (const struct fts_backend *) 0xb7dd0320
        backend = <value optimized out>
#5  0xb7dd4614 in fts_transaction_begin (box=0x981f010, flags=0) at fts-storage.c:896
        fbox = (struct fts_mailbox *) 0x983b768
        t = <value optimized out>
#6  0x080b384e in mailbox_transaction_begin (box=0x981f010, flags=0) at mail-storage.c:791
        trans = (struct mailbox_transaction_context *) 0x0
#7  0x0806f957 in imap_sync_init (client=0x9811900, box=0x981f010, imap_flags=0, flags=0) at imap-sync.c:147
        ctx = (struct imap_sync_context *) 0x983c0f8
        __PRETTY_FUNCTION__ = "imap_sync_init"
#8  0x08062212 in idle_sync_now (box=<value optimized out>, ctx=0x8124520) at cmd-idle.c:119
        __PRETTY_FUNCTION__ = "idle_sync_now"
#9  0x08062354 in cmd_idle (cmd=0x9811b90) at cmd-idle.c:231
        client = (struct client *) 0x9811900
        ctx = <value optimized out>
        str = <value optimized out>
        interval = <value optimized out>
#10 0x0806700c in client_command_input (cmd=0x9811b90) at client.c:603
        client = (struct client *) 0x9811900
        command = <value optimized out>
        __PRETTY_FUNCTION__ = "client_command_input"
#11 0x080670a9 in client_command_input (cmd=0x9811b90) at client.c:652
        client = (struct client *) 0x9811900
        command = <value optimized out>
        __PRETTY_FUNCTION__ = "client_command_input"
#12 0x080676ed in client_handle_input (client=0x9811900) at client.c:693
        _data_stack_cur_id = 3
        ret = <value optimized out>
        remove_io = <value optimized out>
        handled_commands = false
#13 0x08067ba3 in client_input (client=0x9811900) at client.c:748
        cmd = <value optimized out>
        output = (struct ostream *) 0x9811ab4
        bytes = <value optimized out>
        __PRETTY_FUNCTION__ = "client_input"
#14 0x080f73a0 in io_loop_handler_run (ioloop=0x980aaf0) at ioloop-epoll.c:208
        ctx = (struct ioloop_handler_context *) 0x980abf8
        event = (const struct epoll_event *) 0x980ac38
        list = (struct io_list *) 0x9811b38
        io = (struct io_file *) 0x9811b10
        tv = {tv_sec = 4, tv_usec = 999099}
        t_id = 2
        msecs = <value optimized out>
        ret = 1
        i = 0
        j = 0
        call = <value optimized out>
#15 0x080f6830 in io_loop_run (ioloop=0x980aaf0) at ioloop.c:338
No locals.
#16 0x080704c5 in main (argc=1601401958, argv=0xbfc76b04, envp=0xbfc76b0c) at main.c:320
No locals.


More information about the dovecot mailing list