[Dovecot] core in lazy_expunge plugin

Anton Zakatov anton at abn.ru
Sat Nov 22 16:59:55 EET 2008


Hello all!
dovecot 1.1.6
Use lazy_expunge plugin call core on connect.

Core:
bt full
#0  lazy_expunge_mail_expunge (_mail=0x2ac06e9b89e8) at
lazy-expunge-plugin.c:103
        lt = (struct lazy_expunge_transaction *) 0x2ac06e9b86e0
        deststorage = <value optimized out>
#1  0x000000000041cefc in imap_expunge (box=0x2ac06e988de8,
next_search_arg=0x0) at imap-expunge.c:31
        ctx = (struct mail_search_context *) 0x2ac06e9b87d0
        t = (struct mailbox_transaction_context *) 0x2ac06e9aed10
        mail = (struct mail *) 0x2ac06e9b89e8
        search_arg = {next = 0x0, type = SEARCH_FLAGS, value = {subargs
= 0x0, seqset = 0x0, str = 0x0, time = 0, size = 0,
    flags = MAIL_DELETED, keywords = 0x0}, context = 0x0, hdr_field_name
= 0x0, not = 0, match_always = 0, result = -1}
        failed = <value optimized out>
#2  0x00000000004171da in cmd_expunge (cmd=0x2ac06e982378) at
cmd-expunge.c:62
        client = (struct client *) 0x2ac06e982000
#3  0x000000000041b53c in client_command_input (cmd=0x2ac06e982378) at
client.c:580
        client = (struct client *) 0x2ac06e982000
        command = <value optimized out>
        __PRETTY_FUNCTION__ = "client_command_input"
#4  0x000000000041b5f2 in client_command_input (cmd=0x2ac06e982378) at
client.c:629
        client = (struct client *) 0x2ac06e982000
        command = (struct command *) 0x0
        __PRETTY_FUNCTION__ = "client_command_input"
#5  0x000000000041bdaf in client_handle_input (client=0x2ac06e982000) at
client.c:670
        _data_stack_cur_id = 3
        ret = <value optimized out>
        remove_io = <value optimized out>
        handled_commands = false
#6  0x000000000041bfd3 in client_input (client=0x2ac06e982000) at
client.c:725
        cmd = <value optimized out>
        output = (struct ostream *) 0x2ac06e982298
        bytes = 11
        __PRETTY_FUNCTION__ = "client_input"
#7  0x000000000048c568 in io_loop_handler_run (ioloop=<value optimized
out>) at ioloop-epoll.c:203
        ctx = <value optimized out>
        event = (const struct epoll_event *) 0x2ac06e93edc0
        list = (struct io_list *) 0x2ac06e981cb0
        io = (struct io_file *) 0x2ac06e981c50
        tv = {tv_sec = 1799, tv_usec = 999456}
        events_count = <value optimized out>
        t_id = 2
        msecs = <value optimized out>
        ret = 1
        i = 0
        call = <value optimized out>
#8  0x000000000048b6ad in io_loop_run (ioloop=0x2ac06e93eb60) at
ioloop.c:320
No locals.
#9  0x0000000000423471 in main (argc=<value optimized out>, argv=0x0,
envp=0x49a7f7) at main.c:293

Config:
dovecot -n
# 1.1.6: /etc/dovecot.conf
# OS: Linux 2.6.18-92.1.13.el5 x86_64 CentOS release 5.2 (Final)
base_dir: /var/run/dovecot/
log_path: /var/log/dovecot/dovecot.log
info_log_path: /var/log/dovecot/dovecot.info.log
protocols: imap imaps pop3 pop3s managesieve
listen: *
ssl_listen: *
ssl_cipher_list: ALL:!LOW:!SSLv2
disable_plaintext_auth: yes
verbose_ssl: yes
login_dir: /var/run/dovecot//login
login_executable(default): /usr/libexec/dovecot/imap-login
login_executable(imap): /usr/libexec/dovecot/imap-login
login_executable(pop3): /usr/libexec/dovecot/pop3-login
login_executable(managesieve): /usr/libexec/dovecot/managesieve-login
login_greeting_capability(default): yes
login_greeting_capability(imap): yes
login_greeting_capability(pop3): no
login_greeting_capability(managesieve): no
verbose_proctitle: yes
mail_access_groups: vmail
mail_uid: vmail
mail_gid: vmail
mail_location:
maildir:~/:INBOX=~/.INBOX:INDEX=/data/maildata/dovecot/INDEX/%Lu/mail-indexes
maildir_stat_dirs: yes
maildir_copy_preserve_filename: yes
mail_drop_priv_before_exec: yes
mail_executable(default): /usr/local/bin/dovecot-imap-proxy
mail_executable(imap): /usr/local/bin/dovecot-imap-proxy
mail_executable(pop3): /usr/local/bin/dovecot-pop3-proxy
mail_executable(managesieve): /usr/local/bin/dovecot-managesieve-proxy
mail_plugins(default): quota imap_quota expire fts fts_squat listescape
acl antispam zlib autocreate trash
mail_plugins(imap): quota imap_quota expire fts fts_squat listescape acl
antispam zlib autocreate trash lazy_expunge
mail_plugins(pop3): quota expire
mail_plugins(managesieve):
mail_plugin_dir(default): /usr/lib64/dovecot/imap
mail_plugin_dir(imap): /usr/lib64/dovecot/imap
mail_plugin_dir(pop3): /usr/lib64/dovecot/pop3
mail_plugin_dir(managesieve): /usr/lib64/dovecot/managesieve
imap_client_workarounds(default): outlook-idle delay-newmail
imap_client_workarounds(imap): outlook-idle delay-newmail
imap_client_workarounds(pop3):
imap_client_workarounds(managesieve):
pop3_client_workarounds(default):
pop3_client_workarounds(imap):
pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh
pop3_client_workarounds(managesieve):
dict_db_config: /etc/dovecot/dovecot-db.conf
sieve_storage(default):
sieve_storage(imap):
sieve_storage(pop3):
sieve_storage(managesieve): /data/maildata/dovecot/sieve/%u
sieve(default):
sieve(imap):
sieve(pop3):
sieve(managesieve): ~/.dovecot.sieve
namespace:
  type: private
  separator: /
  inbox: yes
  list: yes
  subscriptions: yes
namespace:
  type: private
  separator: /
  prefix: Archive/
  location:
maildir:~/archive:INDEX=/data/maildata/dovecot/INDEX/%Lu/archive-indexes:CONTROL=/data/maildata/dovecot/CONTROL/%Lu/archive-control
  list: yes
  subscriptions: yes
namespace:
  type: private
  separator: /
  prefix: EXPUNGED/
  location: maildir:~/expunged
  list: yes
  subscriptions: yes
namespace:
  type: private
  separator: /
  prefix: DELETED/
  location: maildir:~/deleted
  list: yes
  subscriptions: yes
namespace:
  type: private
  separator: /
  prefix: DELETED/EXPUNGED/
  location: maildir:~/deleted/expunged
  list: yes
  subscriptions: yes
namespace:
  type: public
  separator: /
  prefix: Public/
  location:
maildir:/data/maildata/mailboxes/%d/public/:INDEX=/data/maildata/dovecot/INDEX/%Lu/public
  list: yes
namespace:
  type: public
  separator: /
  prefix: Public/info/
  location:
maildir:/data/maildata/mailboxes/%Ld/info:INDEX=/data/maildata/dovecot/INDEX/%Lu/public-info
  list: yes
namespace:
  type: public
  separator: /
  prefix: Public/fax/
  location:
maildir:/data/maildata/mailboxes/abn.ru/fax:INDEX=/data/maildata/dovecot/INDEX/%Lu/public-fax
  list: yes
namespace:
  type: public
  separator: /
  prefix: Public/info/Archive/
  location:
maildir:/data/maildata/mailboxes/%Ld/info/archive:INDEX=/data/maildata/dovecot/INDEX/%Lu/public-info-archive
  list: yes
namespace:
  type: public
  separator: /
  prefix: Admins/
  location:
maildir:/data/maildata/mailboxes/abn.ru/root/:INDEX=/data/maildata/dovecot/INDEX/%Lu/root-indexes
  list: yes
namespace:
  type: public
  separator: /
  prefix: Users/
  location:
maildir:/data/maildata/mailboxes/%d/shared_users/:INDEX=/data/maildata/dovecot/INDEX/%Lu/shared_users
  list: yes
  subscriptions: yes

auth default:
  mechanisms: plain login
  realms: abn.ru
  default_realm: abn.ru
  cache_size: 1000
  cache_negative_ttl: 0
  username_format: %Lu
  master_user_separator: *
  worker_max_request_count: 500
  passdb:
    driver: passwd-file
    args: /etc/dovecot/passwd.masterusers
    pass: yes
    master: yes
  passdb:
    driver: passwd-file
    args: username_format=%Ln /etc/dovecot/passwd.static
  passdb:
    driver: pam
    args: cache_key=%u%r username=%Ln nochangeuser=yes dovecot
  userdb:
    driver: static
    args: allow_all_users=yes uid=501 gid=501 username=%Ln domain=%Ld
home=/data/maildata/mailboxes/%Ld/%Ln
  socket:
    type: listen
    client:
      path: /var/spool/postfix/private/dovecot-smtp-auth
      mode: 432
      user: postfix
      group: postfix
    master:
      path: /var/run/dovecot/auth-master
      mode: 438
      user: vmail
      group: vmail
plugin:
  quota: dict:user:%u:proxy::quotadict
  quota_rule: *:storage=5G
  quota_rule2: Trash:storage=500M
  quota_rule3: spam:ignore
  quota_rule4: Spam:ignore
  quota_warning: storage=95%% /usr/local/bin/quota-warn.sh 95
  quota_warning2: storage=80%% /usr/local/bin/quota-warn.sh 80
  acl: vfile:/data/maildata/dovecot/dovecot-acls:cache_secs=300
  trash: /etc/dovecot/trash.conf
  expire: Trash 7 Trash/* 7 Spam 14 spam 14 spam/* 14
  expire_dict: proxy::expiredict
  lazy_expunge: EXPUNGED/ DELETED/ DELETED/EXPUNGED/
  autocreate: spam
  autosubscribe: spam
  fts: squat
  fts_squat: partial=4 full=10
  antispam_trash: trash;Trash;Deleted Items;
  antispam_spam: SPAM;spam;Spam;Junk;&BB0ENQQ2BDUEOwQwBE~E8-
&BD8EPgRHBEIEMA-;junk
  antispam_mail_sendmail: /usr/local/bin/spam-train
  antispam_mail_sendmail_args: --for;%u
  antispam_mail_spam: spam
  antispam_mail_notspam: ham
  antispam_mail_tmpdir: /tmp
dict:
  quotadict: mysql:/etc/dovecot/dovecot-dict-quota.conf
  expiredict: mysql:/etc/dovecot/dovecot-dict-expire.conf



More information about the dovecot mailing list