doveadm sync subscribed folders only
Heya, is there a simple way to use "doveadm sync" for subscribed folders only? Since the migration from UW-IMAP, our users can actually subscribe to non-mbox files and now, when we are pushing new servers out, we are migrating our mboxes to dbox format and we would like to migrate only subscribed folders. I know, there is a -m switch which can be used to transfer subscribed folders for each user, but it makes it quite unusable with escaping and all other problems with such volume, so just wondering if there is a simple way to migrate subscribed folders only. Thank you in advance, cheers, Jernej
Re: 2.2.15 Panic in mbox_sync_read_next_mail()
On 26/11/14 10:09, Matthias Egger wrote: Hello Hans On 11/23/2014 05:57 PM, Hans Morten Kind wrote: On Tue, Nov 04, 2014 at 12:38:02PM +0100, Matthias Egger wrote: Has someone of you just found any kind of solution to this problem? We have been running some days with patches 31262a892ba7 and 80ed82a93c1a from http://hg.dovecot.org/dovecot-2.2/ They are working fine, handling the previously paniced situations smoothly. Thanks again to the folks at dovecot.org! Thank you for sharing this. I will give today or tomorrow a look at these patches. At least at our side, these patches have fixed a large number of segfaults opening mbox files. Thank you Timo and dovecot team!!! cheers, Jernej
Re: 2.2.15 Panic in mbox_sync_read_next_mail()
On 30/10/14 15:44, Matthias Egger wrote: On 10/29/2014 02:50 PM, Matthias Egger wrote: >As soon as i can catch a coredump i will send a gdb output. Okay, here is the gdb ouput i could catch and some more information about the system. System Infos: SunOS HOSTNAME 5.10 Generic_150400-10 sun4u sparc SUNW,Sun-Fire-V440 We are experiencing the same issues on CentOS 5: Linux 2.6.18-371.12.1.el5 x86_64 At first, we were reindexing all users with this issue (doveadm index), now we are just forcing mailbox resync (doveadm force-mailbox-resync), however it is not fixing it :( We still don't have the pattern, when does this occur (multiple IMAP sessions?, IMAP/POP)... We might revert to 2.2.13, where such problems were way less frequent. cheers, Jernej
numeric username
Heya, does dovecot support "numeric only" usernames (in format "^0-9+$")? We are unable to deliver emails to such usernames via LMTP: Sep 22 08:41:05 razor4 postfix/lmtp[2120]: D4FD91CDC11F: to=<231...@example.org>, relay=example.org[private/dovecot-lmtp], delay=217653, delays=217653/0.01/0.02/0, dsn=4.2.0, status=deferred (host example.org[private/dovecot-lmtp] said: 451 4.2.0 <231...@example.org> Permission denied (in reply to end of DATA command)) On normal username format (^[a-z][-a-z0-9]+$) everything is working fine. Permissions are the same as on other accounts: # ls -la .mailbox -rw---+ 1 231588 users 0 Sep 19 20:13 .mailbox Using dovecot 2.2.13 with local accounts on RHEL and (relevant) configs: auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@ auth_username_format = %Ln auth_username_translation = ... lmtp_address_translate = ... passdb { args = cache_key=%u%s dovecot default_fields = deny = no driver = pam master = no name = override_fields = pass = no result_failure = continue result_internalfail = continue result_success = return-ok skip = never } ... service lmtp { chroot = client_limit = 1 drop_priv_before_exec = no executable = lmtp extra_groups = group = idle_kill = 0 privileged_group = process_limit = 0 process_min_avail = 5 protocol = lmtp service_count = 0 type = unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } unix_listener lmtp { group = mode = 0666 user = } user = vsz_limit = 18446744073709551615 B } userdb { args = default_fields = driver = passwd name = override_fields = result_failure = continue result_internalfail = continue result_success = return-ok skip = never } Thank you in advance, cheers, Jernej
[Dovecot] ID command and dovecot
Heya, we are seeing some strange issues with IMAP ID command using latest Roundcube builds on dovecot 2.2.10 responding "Input buffer full, aborting". Roundcube webmail connects to IMAP server and issues ID command first with some long arguments to ID command, however shorter than 1024 octets, which are specified in RFC2971 for ID IMAP extension. The situation is easily reproducible (see http://pastebin.com/q4HX4wqb): # telnet hostname 143 * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] Server ready. . ID ("name" "Roundcube" "version" "1.0-git" "php" "5.3.3" "os" "Linux" "command" "<$long_less_than_1024_octets_string>") * BYE Input buffer full, aborting However, this problem does not occur when user is already logged in. RFC2971 is saying "Field strings MUST NOT be longer than 30 octets. Value strings MUST NOT be longer than 1024 octets. Implementations MUST NOT send more than 30 field-value pairs." IMHO, dovecot is handling ID command before successful login successfully only if the length of the whole command is less than 1024 octets (exactly 861 octets is working fine, over that "Input buffer full" occurs). I tried finding the reference in the source code, however I am unable to find where this limit actually occurs (maybe IMAP_ARG_STRING imap_arg->type?) thank you in advance, regards, Jernej
[Dovecot] 2.2.10 - core dumps
Heya, We are occasionally seeing core dumps with dovecot 2.2.10, which are mostly like this: Jan 11 18:31:08 hostname dovecot: imap(username): Panic: file mail-index-transaction-update.c: line 19 (mail_index_transaction_lookup): assertion failed: (seq >= t->first_new_seq && seq <= t->last_new_seq) Jan 11 18:31:08 hostname dovecot: imap(username): Error: Raw backtrace: /opt/dovecot-2.2.10/lib/dovecot/libdovecot.so.0 [0x2b657523aa3a] -> /opt/dovecot-2.2.10/lib/dovecot/libdovecot.so.0 [0x2b657523aaa6] -> /opt/dovecot-2.2.10/lib/dovecot/libdovecot.so.0 [0x2b6575239b83] -> /opt/dovecot-2.2.10/lib/dovecot/libdovecot-storage.so.0 [0x2b6574f83458] -> /opt/dovecot-2.2.10/lib/dovecot/libdovecot-storage.so.0 [0x2b6574f86458] -> /opt/dovecot-2.2.10/lib/dovecot/libdovecot-storage.so.0(mail_cache_decision_state_update+0xbe) [0x2b6574f7605e] -> /opt/dovecot-2.2.10/lib/dovecot/libdovecot-storage.so.0(mail_cache_lookup_headers+0x87) [0x2b6574f77ba7] -> /opt/dovecot-2.2.10/lib/dovecot/libdovecot-storage.so.0 [0x2b6574f64919] -> /opt/dovecot-2.2.10/lib/dovecot/libdovecot-storage.so.0(index_mail_get_first_header+0x50) [0x2b6574f64e80] -> /opt/dovecot-2.2.10/lib/dovecot/libdovecot-storage.so.0 [0x2b6574f5fda1] -> /opt/dovecot-2.2.10/lib/dovecot/libdovecot-storage.so.0 [0x2b6574f5fee9] -> /opt/dovecot-2.2.10/lib/dovecot/libdove Jan 11 18:31:08 hostname dovecot: imap(username): Fatal: master: service(imap): child 13548 killed with signal 6 (core dumps disabled) # dovecot -n is available here: http://pastebin.com/RE91aRi5 other raw traces are available here: http://pastebin.com/M1S33NYn Would you recommend deleting all the index files or rather capturing core dump file for further analysis? Or maybe something completely different ;) thank you in advance, cheers, Jernej
Re: [Dovecot] bug uni_utf8_str_is_valid(vname)
On Mar 19, 2012, at 2:53 PM, Timo Sirainen wrote: > On Mon, 2012-03-19 at 14:27 +0100, Jernej Porenta wrote: >>> Mar 19 10:56:40 server dovecot: imap(user): Panic: file mail-storage.c: >>> line 628 (mailbox_alloc): assertion failed: (uni_utf8_str_is_valid(vname)) >>> >>> It is the same. We will try 2.1.3 today and report the results... > >> The home directory of the username is tar.gzipped here: >> http://www2.arnes.si/~krklubsls13/username.tar.gz > > Thanks, fixed: http://hg.dovecot.org/dovecot-2.1/rev/c77fbfce438d > Confirmed working… Thank you again, cheers, Jernej
Re: [Dovecot] bug uni_utf8_str_is_valid(vname)
On Mar 19, 2012, at 10:58 AM, Jernej Porenta wrote: > Mar 19 10:56:35 server dovecot: imap-login: Login: user=, method=PLAIN, > rip=193.2.1.110, lip=193.2.1.83, mpid=14732, secured > Mar 19 10:56:40 server dovecot: imap(user): Panic: file mail-storage.c: line > 628 (mailbox_alloc): assertion failed: (uni_utf8_str_is_valid(vname)) > Mar 19 10:56:40 server dovecot: imap(user): Error: Raw backtrace: > /opt/dovecot-2.1.2/lib/dovecot/libdovecot.so.0 [0x2b7a91610870] -> > /opt/dovecot-2.1.2/lib/dovecot/libdovecot.so.0 [0x2b7a916108c6] -> > /opt/dovecot-2.1.2/lib/dovecot/libdovecot.so.0 [0x2b7a9160fd83] -> > /opt/dovecot-2.1.2/lib/dovecot/libdovecot-storage.so.0 [0x2b7a9134f0e5] -> > /opt/dovecot-2.1.2/lib/dovecot/libdovecot-storage.so.0 [0x2b7a9135c6cc] -> > /opt/dovecot-2.1.2/lib/dovecot/libdovecot-storage.so.0 [0x2b7a9135c846] -> > /opt/dovecot-2.1.2/lib/dovecot/libdovecot-storage.so.0(fs_list_iter_init+0x4b1) > [0x2b7a9135d241] -> > /opt/dovecot-2.1.2/lib/dovecot/libdovecot-storage.so.0(mailbox_list_iter_init_multiple+0xec) > [0x2b7a9135619c] -> dovecot/imap [0x40bbb6] -> > dovecot/imap(cmd_list_full+0x520) [0x40c1f0] -> dovecot/imap(cmd_list+0xb) > [0x40c3eb] -> dovecot/imap(command_exec+0x37) [0x410497] -> dovecot/imap > [0x40f4ed] -> dovecot/imap [0x40f5a2] -> > dovecot/imap(client_handle_input+0x3f) [0x40f6ef] -> > dovecot/imap(client_input+0x62) [0x410072] -> /opt > Mar 19 10:56:40 server dovecot: imap(user): Fatal: master: service(imap): > child 14732 killed with signal 6 (core dumps disabled) > > It is the same. We will try 2.1.3 today and report the results... Same thing with 2.1.3 (. LIST "" "*"): Mar 19 14:08:59 server dovecot: imap-login: Login: user=, method=PLAIN, rip=193.2.1.110, lip=193.2.1.83, mpid=28438, secured Mar 19 14:09:04 server dovecot: imap(username): Panic: file mail-storage.c: line 628 (mailbox_alloc): assertion failed: (uni_utf8_str_is_valid(vname)) Mar 19 14:09:04 server dovecot: imap(username): Error: Raw backtrace: /opt/dovecot-2.1.3/lib/dovecot/libdovecot.so.0 [0x2ae071811870] -> /opt/dovecot-2.1.3/lib/dovecot/libdovecot.so.0 [0x2ae0718118c6] -> /opt/dovecot-2.1.3/lib/dovecot/libdovecot.so.0 [0x2ae071810d83] -> /opt/dovecot-2.1.3/lib/dovecot/libdovecot-storage.so.0 [0x2ae0715500c5] -> /opt/dovecot-2.1.3/lib/dovecot/libdovecot-storage.so.0 [0x2ae07155d6ac] -> /opt/dovecot-2.1.3/lib/dovecot/libdovecot-storage.so.0 [0x2ae07155d826] -> /opt/dovecot-2.1.3/lib/dovecot/libdovecot-storage.so.0(fs_list_iter_init+0x4b1) [0x2ae07155e221] -> /opt/dovecot-2.1.3/lib/dovecot/libdovecot-storage.so.0(mailbox_list_iter_init_multiple+0xec) [0x2ae07155717c] -> dovecot/imap [0x40bbb6] -> dovecot/imap(cmd_list_full+0x520) [0x40c1f0] -> dovecot/imap(cmd_list+0xb) [0x40c3eb] -> dovecot/imap(command_exec+0x37) [0x410497] -> dovecot/imap [0x40f4ed] -> dovecot/imap [0x40f5a2] -> dovecot/imap(client_handle_input+0x3f) [0x40f6ef] -> dovecot/imap(client_input+0x62) [0x410072] -> /opt Mar 19 14:09:04 server dovecot: imap(username): Fatal: master: service(imap): child 28438 killed with signal 6 (core dumps disabled) The home directory of the username is tar.gzipped here: http://www2.arnes.si/~krklubsls13/username.tar.gz # dovecot -n # 2.1.3: /opt/dovecot-2.1.3/etc/dovecot/dovecot.conf # OS: Linux 2.6.18-274.17.1.el5 x86_64 CentOS release 5.7 (Final) default_login_user = nobody disable_plaintext_auth = no login_greeting = Server ready. login_trusted_networks = x.y.z.p/32 mail_location = mbox:~/:INBOX=%h/.mailbox:INDEX=/opt/dovecot2-indexes/%1u/%u mail_plugins = quota mail_privileged_group = dovecot mbox_write_locks = fcntl namespace inbox { inbox = yes location = prefix = separator = / type = private } passdb { args = session=yes dovecot driver = pam } plugin { quota = fs } protocols = imap pop3 service imap-login { inet_listener imap { port = 143 } inet_listener imaps { ssl = no } } service pop3-login { inet_listener pop3 { port = 110 } inet_listener pop3s { ssl = no } } ssl = no userdb { driver = passwd } protocol imap { imap_client_workarounds = delay-newmail tb-extra-mailbox-sep mail_max_userip_connections = 15 mail_plugins = quota imap_quota } protocol pop3 { pop3_client_workarounds = outlook-no-nuls oe-ns-eoh } Regards, Jernej
Re: [Dovecot] bug uni_utf8_str_is_valid(vname)
On Mar 16, 2012, at 2:14 PM, Timo Sirainen wrote: > On 16.3.2012, at 11.09, Jernej Porenta wrote: > >>>> Mar 6 13:37:17 machine dovecot: imap(username): Panic: file >>>> mail-storage.c: line 628 (mailbox_alloc): assertion failed: >>>> (uni_utf8_str_is_valid(vname)) >>> .. >> We tried version 2.1.2, which unfortunately does not fix the issue with >> weird characters. >> >> Whenever . LIST "" "*" is issued, dovecot crashes: >> Error: Raw backtrace: /opt/dovecot-2.1.2/lib/dovecot/libdovecot.so.0 >> [0x2b54671eb870] -> /opt/dovecot-2.1.2/lib/dovecot/libdovecot.so.0 >> [0x2b54671eb8c6] -> /opt/dovecot-2.1.2/lib/dovecot/libdovecot.so.0 >> [0x2b54671ead83] -> /opt/dovecot-2.1.2/lib/dovecot/libdovecot-storage.so.0 >> [0x2b5466f2a0e5] -> /opt/dovecot-2.1.2/lib/dovecot/libdovecot-storage.so.0 >> [0x2b5466f376cc] -> /opt/dovecot-2.1.2/lib/dovecot/libdovecot-storage.so.0 >> [0x2b5466f37846] -> >> /opt/dovecot-2.1.2/lib/dovecot/libdovecot-storage.so.0(fs_list_iter_init+0x4b1) >> [0x2b5466f38241] -> /opt/dovecot > > I don't think this is the same Panic as the original one? What is the Panic > message now? Mar 19 10:56:35 server dovecot: imap-login: Login: user=, method=PLAIN, rip=193.2.1.110, lip=193.2.1.83, mpid=14732, secured Mar 19 10:56:40 server dovecot: imap(user): Panic: file mail-storage.c: line 628 (mailbox_alloc): assertion failed: (uni_utf8_str_is_valid(vname)) Mar 19 10:56:40 server dovecot: imap(user): Error: Raw backtrace: /opt/dovecot-2.1.2/lib/dovecot/libdovecot.so.0 [0x2b7a91610870] -> /opt/dovecot-2.1.2/lib/dovecot/libdovecot.so.0 [0x2b7a916108c6] -> /opt/dovecot-2.1.2/lib/dovecot/libdovecot.so.0 [0x2b7a9160fd83] -> /opt/dovecot-2.1.2/lib/dovecot/libdovecot-storage.so.0 [0x2b7a9134f0e5] -> /opt/dovecot-2.1.2/lib/dovecot/libdovecot-storage.so.0 [0x2b7a9135c6cc] -> /opt/dovecot-2.1.2/lib/dovecot/libdovecot-storage.so.0 [0x2b7a9135c846] -> /opt/dovecot-2.1.2/lib/dovecot/libdovecot-storage.so.0(fs_list_iter_init+0x4b1) [0x2b7a9135d241] -> /opt/dovecot-2.1.2/lib/dovecot/libdovecot-storage.so.0(mailbox_list_iter_init_multiple+0xec) [0x2b7a9135619c] -> dovecot/imap [0x40bbb6] -> dovecot/imap(cmd_list_full+0x520) [0x40c1f0] -> dovecot/imap(cmd_list+0xb) [0x40c3eb] -> dovecot/imap(command_exec+0x37) [0x410497] -> dovecot/imap [0x40f4ed] -> dovecot/imap [0x40f5a2] -> dovecot/imap(client_handle_input+0x3f) [0x40f6ef] -> dovecot/imap(client_input+0x62) [0x410072] -> /opt Mar 19 10:56:40 server dovecot: imap(user): Fatal: master: service(imap): child 14732 killed with signal 6 (core dumps disabled) It is the same. We will try 2.1.3 today and report the results... Regards, Jernej
Re: [Dovecot] bug uni_utf8_str_is_valid(vname)
On Mar 14, 2012, at 3:29 PM, Timo Sirainen wrote: > On Tue, 2012-03-06 at 14:28 +0100, Jernej Porenta wrote: >> Heya, >> >> We are expiriencing issues with dovecot 2.1.1 on Linux with weird >> filenames in home directory of username. We are using mbox IMAP >> folders, with no special changes (mail_location = mbox:~/:INBOX=% >> h/.mailbox). >> >> Mar 6 13:37:17 machine dovecot: imap(username): Panic: file >> mail-storage.c: line 628 (mailbox_alloc): assertion failed: >> (uni_utf8_str_is_valid(vname)) > .. >> AFAIK, the problem lies in processing the file list of home folder, >> which can contain filenames that do not have proper UTF-8 encoding of >> filenames, which causes dovecot to crash. > > Yes, Dovecot shouldn't crash even if there are non-UTF8 mailboxes. This > should fix it by renaming such mailboxes: > http://hg.dovecot.org/dovecot-2.1/rev/c077ca9bc306 We tried version 2.1.2, which unfortunately does not fix the issue with weird characters. Whenever . LIST "" "*" is issued, dovecot crashes: Error: Raw backtrace: /opt/dovecot-2.1.2/lib/dovecot/libdovecot.so.0 [0x2b54671eb870] -> /opt/dovecot-2.1.2/lib/dovecot/libdovecot.so.0 [0x2b54671eb8c6] -> /opt/dovecot-2.1.2/lib/dovecot/libdovecot.so.0 [0x2b54671ead83] -> /opt/dovecot-2.1.2/lib/dovecot/libdovecot-storage.so.0 [0x2b5466f2a0e5] -> /opt/dovecot-2.1.2/lib/dovecot/libdovecot-storage.so.0 [0x2b5466f376cc] -> /opt/dovecot-2.1.2/lib/dovecot/libdovecot-storage.so.0 [0x2b5466f37846] -> /opt/dovecot-2.1.2/lib/dovecot/libdovecot-storage.so.0(fs_list_iter_init+0x4b1) [0x2b5466f38241] -> /opt/dovecot-2.1.2/lib/dovecot/libdovecot-storage.so.0(mailbox_list_iter_init_multiple+0xec) [0x2b5466f3119c] -> dovecot/imap [0x40bbb6] -> dovecot/imap(cmd_list_full+0x520) [0x40c1f0] -> dovecot/imap(cmd_list+0xb) [0x40c3eb] -> dovecot/imap(command_exec+0x37) [0x410497] -> dovecot/imap [0x40f4ed] -> dovecot/imap [0x40f5a2] -> dovecot/imap(client_handle_input+0x3f) [0x40f6ef] -> dovecot/imap(client_input+0x62) [0x410072] -> /opt Any clues? > >> On the other hand, UTF-8 filenames created on the system by hand >> (using touch), are not displayed in IMAP LIST command (sample is >> included in the folder structure; single letter file). > > This is a bit trickier problem. The mailbox names are currently stored > in filesystem as IMAP's modified-UTF7. So it's not really even currently > supposed to work, although it's not very nice that the mailboxes aren't > visible either. Maybe I'll do something smart in future for this, like > allowing both mUTF-7 and UTF-8 and remembering per-mailbox which > formatting it is in. I think we can leave this issue out, since I don't believe the users will be creating folders directly from interactive SSH sessions and rather use IMAP to create folders. So, this use-case is not very likely to occur. Thank you for your help... Cheers, Jernej
[Dovecot] bug uni_utf8_str_is_valid(vname)
Heya, We are expiriencing issues with dovecot 2.1.1 on Linux with weird filenames in home directory of username. We are using mbox IMAP folders, with no special changes (mail_location = mbox:~/:INBOX=%h/.mailbox). Mar 6 13:37:17 machine dovecot: imap(username): Panic: file mail-storage.c: line 628 (mailbox_alloc): assertion failed: (uni_utf8_str_is_valid(vname)) Mar 6 13:37:17 machine dovecot: imap(username): Error: Raw backtrace: /opt/dovecot-2.1.1/lib/dovecot/libdovecot.so.0 [0x2ba41cb79450] -> /opt/dovecot-2.1.1/lib/dovecot/libdovecot.so.0 [0x2ba41cb794a6] -> /opt/dovecot-2.1.1/lib/dovecot/libdovecot.so.0 [0x2ba41cb78963] -> /opt/dovecot-2.1.1/lib/dovecot/libdovecot-storage.so.0 [0x2ba41c87ebd5] -> /opt/dovecot-2.1.1/lib/dovecot/libdovecot-storage.so.0 [0x2ba41c88c12c] -> /opt/dovecot-2.1.1/lib/dovecot/libdovecot-storage.so.0(fs_list_iter_next+0x1b4) [0x2ba41c88c494] -> /opt/dovecot-2.1.1/lib/dovecot/libdovecot-storage.so.0 [0x2ba41c885342] -> /opt/dovecot-2.1.1/lib/dovecot/libdovecot-storage.so.0(mailbox_list_iter_next+0x234) [0x2ba41c885604] -> dovecot/imap [0x40b2d1] -> dovecot/imap(cmd_list_full+0x520) [0x40c1f0] -> dovecot/imap(cmd_list+0xb) [0x40c3eb] -> dovecot/imap(command_exec+0x37) [0x410427] -> dovecot/imap [0x40f4cd] -> dovecot/imap [0x40f582] -> dovecot/imap(client_handle_input+0x3f) [0x40f6cf] -> dovecot/imap(client_input+0x62) [0x410052] -> /opt/dovecot Mar 6 13:37:17 machine dovecot: imap(username): Fatal: master: service(imap): child 20873 killed with signal 6 (core dumps disabled) The bug is reproducible by using home folder structure available from: http://bit.ly/x8pTXS AFAIK, the problem lies in processing the file list of home folder, which can contain filenames that do not have proper UTF-8 encoding of filenames, which causes dovecot to crash. On the other hand, UTF-8 filenames created on the system by hand (using touch), are not displayed in IMAP LIST command (sample is included in the folder structure; single letter file). Cheers, Jernej
Re: [Dovecot] corrupted mbox
On Mar 26, 2010, at 1:39 PM, Timo Sirainen wrote: > On Fri, 2010-03-26 at 13:27 +0100, Jernej Porenta wrote: >> Heya, >> >> we have two IMAP (UW-imap and dovecot) servers accessing the same mbox >> files for our users (don't ask why) and sometimes the UW-imap corrupts >> the mbox file. The mbox looks just like normal mbox except it does not >> have the proper 'From ' beginning of the file (usually there are some >> random tidbits in the begining of the file, which can be easily >> stripped to recover the working mbox). > > The corruption shouldn't be happening if both use the same locking > mechanisms. I think UW-IMAP uses dotlock + flock. See if changing > Dovecot to use those avoids the corruption? The corruptions were happening even before we started using dovecot, so I believe the problem exists in old uw-imap release that we (have to) use, because of our custom made patches. We will be eliminating uw-imap in April, but we have to take care of the corrupted mboxes before that ;) >> The problem is that if we use dovecot for POP3 server, the dovecot >> logs the mbox corruption just fine: >> POP3(username): Couldn't init INBOX: Mailbox isn't a valid mbox file >> >> But if we use IMAP for the same mailbox, dovecot opens the file and >> does not report any corruption, the user on the other hand sees just >> empty mailbox. > > What Dovecot version? The IMAP code is pretty much the same as POP3, so > I don't really see why IMAP wouldn't be noticing it. Dovecot version is 1.2.11 with almost default settings. Here are the logs for the user with corrupted mbox, who tried POP3 first and afterwards IMAP: Mar 19 10:34:54 machine dovecot: pop3-login: Login: user=, method=PLAIN, rip=X.X.X.Z, lip=X.X.X.W, secured Mar 19 10:34:54 machine dovecot: POP3(username): Effective uid=15657, gid=3400, home=/mnt/./39/username Mar 19 10:34:54 machine dovecot: POP3(username): mbox: data=~/:INBOX=~/.mailbox:INDEX=/mnt/dovecot-index/l/username Mar 19 10:34:54 machine dovecot: POP3(username): fs: root=/mnt/./39/username, index=/mnt/dovecot-index/l/username, control=, inbox=/mnt/./39/username/.mailbox/ Mar 19 10:34:54 machine dovecot: POP3(username): Couldn't init INBOX: Mailbox isn't a valid mbox file Mar 19 10:34:54 machine dovecot: POP3(username): Mailbox init failed top=0/0, retr=0/0, del=0/0, size=0 Mar 19 10:43:18 machine dovecot: imap-login: Login: user=, method=PLAIN, rip=X.X.X.Y, lip=X.X.X.W Mar 19 10:43:18 machine dovecot: IMAP(username): Loading modules from directory: /opt/dovecot/lib/dovecot/imap Mar 19 10:43:18 machine dovecot: IMAP(username): Module loaded: /opt/dovecot/lib/dovecot/imap/lib10_quota_plugin.so Mar 19 10:43:18 machine dovecot: IMAP(username): Module loaded: /opt/dovecot/lib/dovecot/imap/lib11_imap_quota_plugin.so Mar 19 10:43:18 machine dovecot: IMAP(username): Effective uid=15657, gid=3400, home=/mnt/./39/username Mar 19 10:43:18 machine dovecot: IMAP(username): Quota root: name= backend=fs args= Mar 19 10:43:18 machine dovecot: IMAP(username): mbox: data=~/:INBOX=~/.mailbox:INDEX=/mnt/dovecot-index/l/username Mar 19 10:43:18 machine dovecot: IMAP(username): fs: root=/mnt/./39/username, index=/mnt/dovecot-index/l/username, control=, inbox=/mnt/./39/username/.mailbox Mar 19 10:43:18 machine dovecot: IMAP(username): fs quota add storage dir = /mnt/./39/username Mar 19 10:43:18 machine dovecot: IMAP(username): fs quota block device = /dev/dsk/c7t600D023001EBFD22D8275C00d0s2 Mar 19 10:43:18 machine dovecot: IMAP(username): fs quota mount point = /mnt/39 Mar 19 10:43:18 machine dovecot: IMAP(username): Namespace : Using permissions from /mnt/./39/username: mode=0711 gid=-1 Mar 19 10:43:18 machine dovecot: IMAP(username): Disconnected: Logged mnt bytes=254/909 I would be happy if IMAP would drop a line about the corrupted mbox... :) thanks in advance, regards, J.
[Dovecot] corrupted mbox
Heya, we have two IMAP (UW-imap and dovecot) servers accessing the same mbox files for our users (don't ask why) and sometimes the UW-imap corrupts the mbox file. The mbox looks just like normal mbox except it does not have the proper 'From ' beginning of the file (usually there are some random tidbits in the begining of the file, which can be easily stripped to recover the working mbox). The problem is that if we use dovecot for POP3 server, the dovecot logs the mbox corruption just fine: POP3(username): Couldn't init INBOX: Mailbox isn't a valid mbox file But if we use IMAP for the same mailbox, dovecot opens the file and does not report any corruption, the user on the other hand sees just empty mailbox. So I was wondering if there are any possibilities to report mbox corruption with IMAP as well? thanks in advance, regards, Jernej
[Dovecot] qpopper to dovecot migration
Heya, We are in the process of migrating from qpopper to dovecot as POP3 server (and IMAP as well) and we hit the UIDL issue with dovecot. Qpopper uses its own algorithm to create UIDL values and if you set it up to write them down in the mbox file as X-UIDL, then dovecot can use them (pop_uidl_reuse = yes). But if you don't use that feature from qpopper, than X-UIDLs are missing and there is no way to create the same UIDL values. So, I was wondering if anyone else hit that issue and maybe knows how to address it (writing an extension or something)? Thanks in advance, regards, Jernej
Re: [Dovecot] compiling issue 1.2.6 - Solaris
Timo Sirainen wrote: On Oct 6, 2009, at 9:00 AM, Bruce Bodger wrote: Undefined symbols: "_SSL_get_current_compression", referenced from: _ssl_proxy_get_security_string in liblogin-common.a(ssl-proxy-openssl.o) "_SSL_COMP_get_name", referenced from: _ssl_proxy_get_security_string in liblogin-common.a(ssl-proxy-openssl.o) What OpenSSL version do you have? I thought those compression functions were new enough that everyone would have them by now.. Mine is "OpenSSL 0.9.7d" and "OpenSSL 0.9.7i" which might be a little old :), but I had no troubles since that... Anyway, I will build a new one and try to link dovecot with that... thanks you, regards, Jernej
[Dovecot] compiling issue 1.2.6 - Solaris
Heya, I am expiriencing compiling issues on Solaris 8 and Solaris 10 boxes with dovecot 1.2.6. On Solaris 8 the compiler is gcc 64bit 3.2.2, on Solaris 10 gcc 3.4.3. On both systems the compiling fails with: /bin/bash ../../libtool --tag=CC--mode=link gcc -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -L/opt/gcc-3.1-64bit/lib -R/opt/gcc-3.1-64bit/lib -L/usr/local/ssl/lib -R/usr/local/ssl/lib -L/opt/kerberos-heimdal/lib -R/opt/kerberos-heimdal/lib -o imap-login client.o client-authenticate.o imap-proxy.o ../login-common/liblogin-common.a ../lib-imap/libimap.a ../lib-auth/libauth.a ../lib/liblib.a -lssl -lcrypto -ldl -lrt -lnsl -lsocket -lrt libtool: link: gcc -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -o imap-login client.o client-authenticate.o imap-proxy.o -L/opt/gcc-3.1-64bit/lib -L/usr/local/ssl/lib -L/opt/kerberos-heimdal/lib ../login-common/liblogin-common.a ../lib-imap/libimap.a ../lib-auth/libauth.a ../lib/liblib.a -lssl -lcrypto -ldl -lnsl -lsocket -lrt -R/opt/gcc-3.1-64bit/lib -R/usr/local/ssl/lib -R/opt/kerberos-heimdal/lib Undefined first referenced symbol in file SSL_COMP_get_name ../login-common/liblogin-common.a(ssl-proxy-openssl.o) SSL_get_current_compression ../login-common/liblogin-common.a(ssl-proxy-openssl.o) ld: fatal: Symbol referencing errors. No output written to imap-login collect2: ld returned 1 exit status The configure script is the same on both systems: CPPFLAGS='-I/usr/local/ssl/include -I/opt/kerberos-heimdal/include' LDFLAGS='-L/usr/local/ssl/lib -R/usr/local/ssl/lib -L/opt/kerberos-heimdal/lib -R/opt/kerberos-heimdal/lib' ./configure --prefix=/opt/dovecot --with-ssldir=/usr/local/ssl/certs --with-ssl=openssl --without-passwd-file --with-passwd --with-shadow --without-bsdauth --without-static-userdb --without-prefetch-userdb --without-checkpassword --with-gssapi=yes --without-pgsql --without-sql --without-ldap --without-vpopmail --without-sia --enable-header-install Install prefix . : /opt/dovecot File offsets ... : 64bit I/O polling : poll I/O notifys : none SSL : yes (OpenSSL) GSSAPI . : yes passdbs : passwd shadow pam : -passwd-file -checkpassword -bsdauth -sia -ldap -sql -vpopmail userdbs : passwd : -static -prefetch -passwd-file -checkpassword -ldap -sql -vpopmail -nss SQL drivers : : -pgsql -mysql -sqlite Version 1.2.4 compiles with no problems... regards, Jernej
[Dovecot] namespaces / list=no crash
Hey everyone, I am trying to migrate old UW-IMAP setup to dovecot 1.2.2 using namespaces as recommended for UW-IMAP backwards compatibility: http://wiki.dovecot.org/Namespaces I am trying to use these settings: mail_location = mbox:~/:INBOX=~/.mailbox # default namespace namespace private { separator = / prefix = inbox = yes } # for backwards compatibility: namespace private { separator = / prefix = mail/ hidden = yes list = no # for v1.1+ subscriptions = no } With upper settings, dovecot crashes upon login. (GDB trace is here: http://www2.arnes.si/~krklubsls13/dovecot-gdb.txt). If I change "list = no" to list = yes|children, everything is working fine. This settings were working fine with dovecot 1.1, so I don't know what is the deal... dovecot -n : http://www2.arnes.si/~krklubsls13/dovecot-conf.txt thanks in advance, regards Jernej
Re: [Dovecot] v1.2.2 released
Timo Sirainen wrote: On Mon, 2009-07-27 at 15:02 +0200, Jernej Porenta wrote: Timo Sirainen wrote: Another issue when building 1.2.2 that wasn't there with 1.2.1 is that "-lsocket" seems to be missing causing linking errors. One example: Fixed: http://hg.dovecot.org/dovecot-1.2/rev/cd29b745c8dd It is not working for me. It updated configure.in, so configure needs to be regenerated. Did you run autogen.sh / autoreconf after patching? No, missed that step :( Thanks for your time.. cheers, Jernej
Re: [Dovecot] v1.2.2 released
Timo Sirainen wrote: Another issue when building 1.2.2 that wasn't there with 1.2.1 is that "-lsocket" seems to be missing causing linking errors. One example: Fixed: http://hg.dovecot.org/dovecot-1.2/rev/cd29b745c8dd It is not working for me. "-lrt" is already set before checking clock_gettime. Before that, "-lnsl -lsocket" are set, but after lrt checking, they gone missing... configure:19082: checking for clock_gettime in -lrt configure:19117: gcc -o conftest -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith - Wchar-subscripts -Wformat=2 -Wbad-function-cast -I/usr/local/ssl/include -I/opt/kerberos-heimdal/include -L/us r/local/ssl/lib -R/usr/local/ssl/lib -L/opt/kerberos-heimdal/lib -R/opt/kerberos-heimdal/lib conftest.c -lrt -lrt -lnsl -lsocket >&5 configure:19124: $? = 0 configure:19145: result: yes configure:19264: checking for strtoimax configure:19291: gcc -o conftest -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith - Wchar-subscripts -Wformat=2 -Wbad-function-cast -I/usr/local/ssl/include -I/opt/kerberos-heimdal/include -L/us r/local/ssl/lib -R/usr/local/ssl/lib -L/opt/kerberos-heimdal/lib -R/opt/kerberos-heimdal/lib conftest.c -lrt > &5 conftest.c: In function `main': conftest.c:70: warning: implicit declaration of function `strtoimax' Undefined first referenced symbol in file strtoimax /var/tmp/ccsnXIjO.o ld: fatal: Symbol referencing errors. No output written to conftest OS: Solaris 8, compiler gcc version 2.95.3 20010315 (release), against heimdal kerberos. Compile string: CPPFLAGS='-I/usr/local/ssl/include -I/opt/kerberos-heimdal/include' LDFLAGS='-L/usr/local/ssl/lib -R/usr/local/ssl/lib -L/opt/kerberos-heimdal/lib -R/opt/kerberos-heimdal/lib' ./configure --prefix=/opt/dovecot --with-ssldir=/usr/local/ssl/certs --with-ssl=openssl --without-passwd-file --with-passwd --with-shadow --without-bsdauth --without-static-userdb --without-prefetch-userdb --without-checkpassword --with-gssapi=yes --without-pgsql --without-sql --without-ldap --without-vpopmail --without-sia regards, Jernej
[Dovecot] UW-IMAP migration to namespaces
Hello, I am trying to migrate existing UW-IMAP installation to dovecot 1.1.14 and I am having troubles with namespaces. As you know UW-IMAP allows full system access to home directory of a user and you can set up dovecot to do that as well, but I would like to use namespaces. If I set my namespaces like this: namespace private { separator = / prefix = inbox = yes location = mbox:~/:INBOX=~/.mailbox hidden = yes list = yes } namespace private { separator = / prefix = mail/ location = mbox:~/mail prefix = mail/ hidden = yes } Everything is working fine, but I am seeing also all other files in home directory of a user, but this is annoying if you have users with public_html folder with millions of files in it. Dovecot indexing makes index.log file for every file seen in namespace, so you have several million index files for files that are not mailboxes. So I was wondering is there a way to skip certain directories in namespaces or a way to setup namespaces in a way, that you would have: - INBOX in home directory - some folders in home directory (via .subscriptions) - some folders in %h/mail/ directory - and not seeing all other files/directories in home dir Thanks in advance, regards, Jernej
[Dovecot] failed dovecot 1.2rc2 build Solaris 8, gcc 2.95.3
Hello, I trying to build dovecot 1.2rc2 on ancient Solaris 8 with gcc 2.95.3 and it fails with: gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src/lib -I../../src/lib-settings -DSYSCONFDIR=\""/opt/dovecot/etc"\" -DPKG_RUNDIR=\""/opt/dovecot/var/run/dovecot"\" -DPKG_STATEDIR=\""/opt/dovecot/var/lib/dovecot"\" -DPKG_LIBEXECDIR=\""/opt/dovecot/libexec/dovecot"\" -DMODULEDIR=\""/opt/dovecot/lib/dovecot"\" -DSSLDIR=\""/usr/local/ssl/certs\"" -I/usr/local/ssl/include -I/opt/kerberos-heimdal/include -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -c login-process.c In file included from ../../src/lib/lib.h:28, from common.h:6, from login-process.c:3: ../../src/lib/data-stack.h:73: warning: `pure' attribute directive ignored In file included from ../../src/lib/lib.h:39, from common.h:6, from login-process.c:3: ../../src/lib/strfuncs.h:44: warning: `pure' attribute directive ignored ../../src/lib/strfuncs.h:54: warning: `pure' attribute directive ignored ../../src/lib/strfuncs.h:55: warning: `pure' attribute directive ignored ../../src/lib/strfuncs.h:56: warning: `pure' attribute directive ignored ../../src/lib/strfuncs.h:57: warning: `pure' attribute directive ignored ../../src/lib/strfuncs.h:58: warning: `pure' attribute directive ignored ../../src/lib/strfuncs.h:59: warning: `pure' attribute directive ignored ../../src/lib/strfuncs.h:77: warning: `pure' attribute directive ignored In file included from master-settings.h:4, from common.h:7, from login-process.c:3: ../../src/lib/network.h:114: warning: `pure' attribute directive ignored ../../src/lib/network.h:115: warning: `pure' attribute directive ignored ../../src/lib/network.h:123: warning: `pure' attribute directive ignored In file included from ../../src/lib/array.h:33, from login-process.c:4: ../../src/lib/buffer.h:36: warning: `pure' attribute directive ignored ../../src/lib/buffer.h:88: warning: `pure' attribute directive ignored ../../src/lib/buffer.h:106: warning: `pure' attribute directive ignored In file included from login-process.c:4: ../../src/lib/array.h:96: warning: `pure' attribute directive ignored ../../src/lib/array.h:161: warning: `pure' attribute directive ignored ../../src/lib/array.h:222: warning: `pure' attribute directive ignored ../../src/lib/array.h:229: warning: `pure' attribute directive ignored In file included from login-process.c:6: ../../src/lib/hash.h:24: warning: `pure' attribute directive ignored ../../src/lib/hash.h:35: warning: `pure' attribute directive ignored ../../src/lib/hash.h:54: warning: `pure' attribute directive ignored ../../src/lib/hash.h:55: warning: `pure' attribute directive ignored In file included from login-process.c:8: ../../src/lib/ostream.h:72: warning: `pure' attribute directive ignored login-process.c:52: field `data' has incomplete type *** Error code 1 make: Fatal error: Command failed for target `login-process.o' Current working directory /opt/src/dovecot-1.2.rc2/src/master *** Error code 1 configure looks like this: CPPFLAGS='-I/usr/local/ssl/include -I/opt/kerberos-heimdal/include' LDFLAGS='-L/usr/local/ssl/lib -R/usr/local/ssl/lib -L/opt/kerberos-heimdal/lib -R/opt/kerberos-heimdal/lib' ./configure --prefix=/opt/dovecot --enable-ssl --with-ssldir=/usr/local/ssl/certs --with-ssl=openssl --without-passwd-file --with-passwd --with-shadow --without-bsdauth --without-static-userdb --without-prefetch-userdb --without-checkpassword --with-gssapi=yes --without-pgsql --without-sql --without-ldap --without-vpopmail --without-sia The build goes fine with gcc 3.2.2. Dovecot 1.1 builds fine with 2.95.3. Are there any requirements for GCC version? regards, Jernej