I found a strange behaviour in dovecot compressed folder, maybe a bug.
It happens only if you have one (and just one!) email in a gz compressed folder.
I'm talking about a mbox server.

Step to reproduce:
- create a new folder, using any client (I think this step is not important, it happens also if tou create this folder server-side). - copy one message (any message) into newly created folder (using your favourite drag-n-drop gesture, saving in that folder using you character client (mutt,...), etc.) - if your client automatically subscribe to newly created folders, unsubscribe from it
- On your server "gzip newfolder"
- On your client subscribe "newfolder.gz"
- Try to access you newfolder

This is what I get in logfiles:

Jul 11 14:08:08 myhostname dovecot: imap(giulio): Error: Next message unexpectedly lost from mbox file /home/giulio/Mail/testfolder.gz at 9082 (cached) Jul 11 14:08:08 myhostname dovecot: imap(giulio): Error: read(/home/giulio/Mail/testfolder.gz) failed: Invalid argument (uid=1) Jul 11 14:08:08 myhostname dovecot: imap(giulio): Disconnected: Internal error occurred. Refer to server log for more information. [2011-07-11 14:08:08] bytes=2045/23657

The funniest thing is that if I have a folder with more than one message it works like a charm.

Some info about me:

- dovecot version 2.0.13
- gentoo linux, with kernel 2.6.38-gentoo-r6
- system running on a VMWare virtual machine (32bit)
- reiserfs filesystem

my dovecot -n output:
------------------------------------------------------------------------
# 2.0.13: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.38-gentoo-r6 i686 Gentoo Base System release 2.0.2
auth_mechanisms = plain login
disable_plaintext_auth = no
listen = *
mail_gid = mail
mail_location = mbox:~/Mail:INBOX=/var/mail/%u:INDEX=~/
mail_privileged_group = mail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date
passdb {
  args = *
  driver = pam
}
plugin {
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
}
service imap-login {
  inet_listener imap {
    address = imap.mydomain.it
  }
  inet_listener imaps {
    address = imap.mydomain.it
  }
}
service pop3-login {
  inet_listener pop3 {
    address = pop.mydomain.it
  }
  inet_listener pop3s {
    address = pop.mydomain.it
  }
}
ssl_cert = </etc/ssl/dovecot/server.pem
ssl_key = </etc/ssl/dovecot/server.key
syslog_facility = local6
userdb {
  driver = passwd
}
protocol lda {
  mail_plugins = sieve
}
protocol imap {
  mail_plugins = " zlib"
  plugin {
    zlib_save = gz
    zlib_save_level = 6
  }
}
local imap.dsi.unimi.it {
  disable_plaintext_auth = no
}
local pop.dsi.unimi.it {
  disable_plaintext_auth = no
}
local imap.dsi.unimi.it {
  protocol imap {
    ssl_cert = </etc/pki/CA/certs/imap.mydomain.it.pem
    ssl_key = </etc/pki/CA/certs/imap.mydomain.it.key
  }
}
local pop.dsi.unimi.it {
  protocol pop3 {
    pop3_uidl_format = %08Xv%08Xu
    ssl_cert = </etc/pki/CA/certs/pop.mydomain.it.pem
    ssl_key = </etc/pki/CA/certs/pop.mydomain.it.key
  }
}
------------------------------------------------------------------------

Any ideas?

TIA,
gc



--
Giulio Casella                                         giulio at dsi.unimi.it
System and network manager
Computer Science Dept. - University of Milano

Reply via email to