Re: [Dovecot] Expire plugin with Mysql
Dino Ming wrote: Here is my dict.conf file connect = host=sql dbname=vmail user=xx password=xx table = dict_expire select_field = timestamp where_field = path username_field = username That looks good How can I debug the imap and check why the table didn't got updated when we delete email ? When I was having issues previous with mysql quota I turned on mysql query logging to see what exactly was being done on the database side, and discovered what the errors were. You may want to give it a shot: http://dev.mysql.com/doc/refman/5.0/en/query-log.html
[Dovecot] expire-plugin: configuration dict-server
Hello all! I tried to add the expire-plugin to my dovecot-installation (CentOS-RPM: dovecot-1.1.1-2_76.el5) and followed the plugin-page from the WIKI (http://wiki.dovecot.org/Plugins/Expire). Unfortunately I have problems with the dictionary: -- dovecot: Aug 05 13:30:25 Error: dict: Unknown dict module: db dovecot: Aug 05 13:30:25 Error: dict: Failed to initialize dictionary 'expire' -- As far as I understand the hints from mailinglist-archive the db-support is not standard with dovecot and Timo suggested to use a mysql-connection. Are there any further tipps how to use the expire-plugin with mysql-connection (i.e. database-scheme, SQL-Select)? Kind regards, Jens
Re: [Dovecot] expire-plugin: configuration dict-server
Jens Meyer wrote: Unfortunately I have problems with the dictionary: -- dovecot: Aug 05 13:30:25 Error: dict: Unknown dict module: db dovecot: Aug 05 13:30:25 Error: dict: Failed to initialize dictionary 'expire' Looking at the rpm it doesn't look like it has bdb support built in. But it sounds like you want to use Mysql so that's alright. Are there any further tipps how to use the expire-plugin with mysql-connection (i.e. database-scheme, SQL-Select)? You will need to setup your configuration like this: dovecot.conf: dict { ... expiredict = mysql:/opt/dovecot/etc/dovecot-dict-expire.conf ... } plugin { ... expire = Trash 7 Trash/* 7 Spam 3 Junk 3 expire_dict = proxy::expiredict ... } dovecot-dict-expire.conf: connect = host=host dbname=db user=username password=password table = expire select_field = timestamp where_field = path username_field = username Then you'll want to create the table like so: create table expire( username varchar(255) not null, path varchar(100) not null, timestamp integer, primary key (username, path))engine=innodb; That should work for you. Of course enter in your correct config location and your specific expire settings. -Eric signature.asc Description: OpenPGP digital signature
Re: [Dovecot] expire-plugin: configuration dict-server
Hello Eric, thank you very much for your prompt and helpful reply! The connect seem to work fine now. Please allow me two additional questions: Is it correct that this database-table is only a caching-table which is empty at first and will be filled later? It is not necessary to adapt the SQL-statement to my user-configuration, is it?! Is it necessary to reference the foldernames with INBOX.Trash or only Trash? For Sieve I have to use INBOX.Trash. Actually nothing happens when trying the plugin with dovecot --exec-mail ext /usr/libexec/dovecot/expire-tool --test. Thank you again, kind regards! Jens Eric Toczek schrieb: Jens Meyer wrote: Unfortunately I have problems with the dictionary: -- dovecot: Aug 05 13:30:25 Error: dict: Unknown dict module: db dovecot: Aug 05 13:30:25 Error: dict: Failed to initialize dictionary 'expire' Looking at the rpm it doesn't look like it has bdb support built in. But it sounds like you want to use Mysql so that's alright. Are there any further tipps how to use the expire-plugin with mysql-connection (i.e. database-scheme, SQL-Select)? You will need to setup your configuration like this: dovecot.conf: dict { ... expiredict = mysql:/opt/dovecot/etc/dovecot-dict-expire.conf ... } plugin { ... expire = Trash 7 Trash/* 7 Spam 3 Junk 3 expire_dict = proxy::expiredict ... } dovecot-dict-expire.conf: connect = host=host dbname=db user=username password=password table = expire select_field = timestamp where_field = path username_field = username Then you'll want to create the table like so: create table expire( username varchar(255) not null, path varchar(100) not null, timestamp integer, primary key (username, path))engine=innodb; That should work for you. Of course enter in your correct config location and your specific expire settings. -Eric
Re: [Dovecot] expire-plugin: configuration dict-server
Jens Meyer wrote: Hello Eric, thank you very much for your prompt and helpful reply! The connect seem to work fine now. Please allow me two additional questions: Is it correct that this database-table is only a caching-table which is empty at first and will be filled later? It is not necessary to adapt the SQL-statement to my user-configuration, is it?! Correct. The table is filled when the message is moved to one of the folders that is marked as an Expire folder. That folder is added to the table with a timestamp like so: $ echo select * from mail.expire where path like 'eric%' | mysql -u root -p Enter password: usernamepathtimestamp [EMAIL PROTECTED]/Junk 1217943338 [EMAIL PROTECTED]/Trash1217941084 Is it necessary to reference the foldernames with INBOX.Trash or only Trash? For Sieve I have to use INBOX.Trash. Use INBOX.Trash if the trash folder you're looking to clear out is a subfolder of your Inbox. Actually nothing happens when trying the plugin with dovecot --exec-mail ext /usr/libexec/dovecot/expire-tool --test. Do you have the plugin loaded in the imap protocol section? protocol imap { ... mail_plugins = fts fts_squat quota imap_quota expire ... } If you do then the table should get updated when you move a message into the trash folder. If you've got the plugin set correctly and you're still not getting anything written into the table you can restart mysql with query logging on: http://dev.mysql.com/doc/refman/5.0/en/query-log.html Then move a message to one of the expire folders and see what query is run on the database and if it's not succeeding due to an error. signature.asc Description: OpenPGP digital signature
[Dovecot] 1.0(.14) vs 1.1.2 performance
Hello Timo, I just switched from dovecot-1.0.14 to dovecot-1.1.2 and noticed a significant drop in the server load average (which has become lower and above all doesn't seem to have unexplained peaks). Indexes are still locally stored and nfs attribute caching is still off). I searched the list archives for an explanation of what changed in the code that could explain such an improvement but mostly (except maybe some index code rewrite mentions) found differences in features. Where does that performance gap come from ? -- Thomas Hummel | Institut Pasteur [EMAIL PROTECTED] | Pôle informatique - systèmes et réseau
Re: [Dovecot] expire-plugin: configuration dict-server
Hello Eric, thank you for your further help. Now I understand the concept of this plugin - great! The record was created: usernamepathtimestamp [EMAIL PROTECTED]/Trash 1218029872 AFAIK I have to add Trash instead of INBOX.Trash when seeing this record, correct? Kind regards, Jens Eric Toczek schrieb: Jens Meyer wrote: Hello Eric, thank you very much for your prompt and helpful reply! The connect seem to work fine now. Please allow me two additional questions: Is it correct that this database-table is only a caching-table which is empty at first and will be filled later? It is not necessary to adapt the SQL-statement to my user-configuration, is it?! Correct. The table is filled when the message is moved to one of the folders that is marked as an Expire folder. That folder is added to the table with a timestamp like so: $ echo select * from mail.expire where path like 'eric%' | mysql -u root -p Enter password: usernamepathtimestamp [EMAIL PROTECTED]/Junk 1217943338 [EMAIL PROTECTED]/Trash1217941084 Is it necessary to reference the foldernames with INBOX.Trash or only Trash? For Sieve I have to use INBOX.Trash. Use INBOX.Trash if the trash folder you're looking to clear out is a subfolder of your Inbox. Actually nothing happens when trying the plugin with dovecot --exec-mail ext /usr/libexec/dovecot/expire-tool --test. Do you have the plugin loaded in the imap protocol section? protocol imap { ... mail_plugins = fts fts_squat quota imap_quota expire ... } If you do then the table should get updated when you move a message into the trash folder. If you've got the plugin set correctly and you're still not getting anything written into the table you can restart mysql with query logging on: http://dev.mysql.com/doc/refman/5.0/en/query-log.html Then move a message to one of the expire folders and see what query is run on the database and if it's not succeeding due to an error.
Re: [Dovecot] expire-plugin: configuration dict-server
Dear Jens, Mind didn't worked ever. Below is my dovecot config. Could you give me a hint on it.? Dovecot didn't update the dict_expire table whenever I remove a message or move a message into the Trash folder. Is there any different on the dovecot.conf between u and me ? # dovecot-dict-expire.conf connect = host= dbname= user=password= table = dict_expire select_field = timestamp where_field = path username_field = username # dovecot -n # 1.1.2: /usr/local/etc/dovecot.conf base_dir: /var/run/dovecot/ log_path: /var/log/dovecot.log protocols: imap pop3 listen: 192.168.18.20 ssl_disable: yes disable_plaintext_auth: no shutdown_clients: no login_dir: /var/run/dovecot/login login_executable(default): /usr/local/libexec/dovecot/imap-login login_executable(imap): /usr/local/libexec/dovecot/imap-login login_executable(pop3): /usr/local/libexec/dovecot/pop3-login login_greeting: Service Ready. login_greeting_capability(default): yes login_greeting_capability(imap): yes login_greeting_capability(pop3): no login_process_size: 32 login_processes_count: 10 login_max_processes_count: 256 max_mail_processes: 1024 verbose_proctitle: yes first_valid_uid: 26 last_valid_uid: 26 first_valid_gid: 26 last_valid_gid: 26 mail_access_groups: mail mail_location: maildir:~/Maildir mmap_disable: yes mail_nfs_storage: yes mail_nfs_index: yes maildir_stat_dirs: yes mail_executable(default): /usr/local/libexec/dovecot/imap mail_executable(imap): /usr/local/libexec/dovecot/imap mail_executable(pop3): /usr/local/libexec/dovecot/pop3 mail_plugins(default): expire fts fts_squat quota imap_quota mail_plugins(imap): expire fts fts_squat quota imap_quota mail_plugins(pop3): expire quota mail_plugin_dir(default): /usr/local/lib/dovecot/imap mail_plugin_dir(imap): /usr/local/lib/dovecot/imap mail_plugin_dir(pop3): /usr/local/lib/dovecot/pop3 imap_client_workarounds(default): delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep imap_client_workarounds(imap): delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep imap_client_workarounds(pop3): pop3_client_workarounds(default): pop3_client_workarounds(imap): pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh namespace: type: private separator: . prefix: INBOX. inbox: yes list: yes subscriptions: yes auth default: cache_size: 8192 cache_ttl: 900 verbose: yes worker_max_count: 10 passdb: driver: sql args: /usr/local/etc/dovecot-mysql.conf userdb: driver: sql args: /usr/local/etc/dovecot-mysql.conf socket: type: listen client: path: /var/run/dovecot/auth-client mode: 438 master: path: /var/run/dovecot/auth-master mode: 438 plugin: quota: maildir quota_rule: *:storage=2G quota_rule2: Trash:storage=10M expire: Trash 2 expire_dict: proxy::expiredict auth_socket_path: /var/run/dovecot/auth-master fts: squat fts_squat: partial=4 full=10 dict: expiredict: mysql:/usr/local/etc/dovecot-dict-expire.conf Thanks, Dino Jens Meyer wrote: Hello Eric, thank you for your further help. Now I understand the concept of this plugin - great! The record was created: username path timestamp [EMAIL PROTECTED]/Trash 1218029872 AFAIK I have to add Trash instead of INBOX.Trash when seeing this record, correct? Kind regards, Jens Eric Toczek schrieb: Jens Meyer wrote: Hello Eric, thank you very much for your prompt and helpful reply! The connect seem to work fine now. Please allow me two additional questions: Is it correct that this database-table is only a caching-table which is empty at first and will be filled later? It is not necessary to adapt the SQL-statement to my user-configuration, is it?! Correct. The table is filled when the message is moved to one of the folders that is marked as an Expire folder. That folder is added to the table with a timestamp like so: $ echo select * from mail.expire where path like 'eric%' | mysql -u root -p Enter password: usernamepathtimestamp [EMAIL PROTECTED]/Junk 1217943338 [EMAIL PROTECTED]/Trash1217941084 Is it necessary to reference the foldernames with INBOX.Trash or only Trash? For Sieve I have to use INBOX.Trash. Use INBOX.Trash if the trash folder you're looking to clear out is a subfolder of your Inbox. Actually nothing happens when trying the plugin with dovecot --exec-mail ext /usr/libexec/dovecot/expire-tool --test. Do you have the plugin loaded in the imap protocol section? protocol imap { ... mail_plugins = fts fts_squat quota imap_quota expire ... } If you do then the table should get updated when you move a message into the trash folder. If you've got the plugin set correctly and you're still not getting anything written into the table you can restart mysql with query logging on: http://dev.mysql.com/doc/refman/5.0/en/query-log.html Then move a message to one of the expire folders and see what query is run on the database and if it's not succeeding due to an
[Dovecot] Dovecot sieve plugin reject not working
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 I'm at a loss here. Details of my setup: OS: Solaris 10 gcc version: 3.4.3 postfix version 2.5.2 dovecot version 1.1.2 dovecot sieve version 1.1.5 How I installed: Postfix: make makefiles CCARGS='-DUSE_SASL_AUTH \-DDEF_SERVER_SASL_TYPE=\dovecot\ -DUSE_TLS -I/opt/csw/include' \AUXLIBS=-R/opt/csw/lib -L/opt/csw/lib -lssl -lcrypto -ldb make make upgrade Dovecot: ./configure --prefix=/userM/mail-services/dovecot make make install Sieve: ./configure --prefix=/userM/mail-services/dovecot - --with-dovecot=../dovecot-1.1.2 make make install dovecot -n # 1.1.2: /userM/mail-services/dovecot/etc/dovecot.conf Warning: fd limit 256 is lower than what Dovecot can use under full load (more than 3072). Either grow the limit or change login_max_processes_count and max_mail_processes settings base_dir: /userM/mail-services/dovecot/var/run/dovecot/ protocols: imap imaps pop3 pop3s ssl_cert_file: /userM/mail-services/dovecot/etc/ssl/dovecot.pem ssl_key_file: /userM/mail-services/dovecot/etc/ssl/privkey.pem ssl_parameters_regenerate: 0 ssl_cipher_list: MEDIUM:!LOW disable_plaintext_auth: no login_dir: /userM/mail-services/dovecot/var/run/dovecot/login login_executable(default): /userM/mail-services/dovecot/libexec/dovecot/imap-login login_executable(imap): /userM/mail-services/dovecot/libexec/dovecot/imap-login login_executable(pop3): /userM/mail-services/dovecot/libexec/dovecot/pop3-login login_greeting: Cyrus ready. login_max_processes_count: 1024 max_mail_processes: 1024 mail_location: mbox:~/:INBOX=/userM/mail/%u mail_debug: yes mmap_disable: yes mail_nfs_index: yes mail_executable(default): /userM/mail-services/dovecot/libexec/dovecot/imap mail_executable(imap): /userM/mail-services/dovecot/libexec/dovecot/imap mail_executable(pop3): /userM/mail-services/dovecot/libexec/dovecot/pop3 mail_plugin_dir(default): /userM/mail-services/dovecot/lib/dovecot/imap mail_plugin_dir(imap): /userM/mail-services/dovecot/lib/dovecot/imap mail_plugin_dir(pop3): /userM/mail-services/dovecot/lib/dovecot/pop3 auth default: mechanisms: plain login verbose: yes debug: yes passdb: driver: pam passdb: driver: passwd args: blocking=yes userdb: driver: passwd args: blocking=yes socket: type: listen client: path: /userM/mail-services/postfix/var/private/auth mode: 432 user: postfix group: postfix .dovecot.sieve: require [fileinto, vacation, reject]; if address :is from [EMAIL PROTECTED] { reject I don't like your email message; } When I send message from yahoo.com to my [EMAIL PROTECTED] account on this server no rejection notice is being sent back. It looks like at the end of the log file section below that it is sending something back, but nothing shows up. Also see how the From is empty? I don't think this is postfix problem as I can send and receive mail through it fine. SysLog: Aug 5 08:46:09 mail2.engr.colostate.edu dovecot: [ID 107833 mail.info] auth(def ault): new auth connection: pid=11000 Aug 5 08:46:09 mail2.engr.colostate.edu postfix/smtpd[11000]: [ID 197553 mail.i nfo] connect from pace.acns.colostate.edu[129.82.100.168] Aug 5 08:46:09 mail2.engr.colostate.edu postfix/smtpd[11000]: [ID 197553 mail.i nfo] setting up TLS connection from pace.acns.colostate.edu[129.82.100.168] Aug 5 08:46:09 mail2.engr.colostate.edu postfix/smtpd[11000]: [ID 197553 mail.i nfo] Anonymous TLS connection established from pace.acns.colostate.edu[129.82.10 0.168]: TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits) Aug 5 08:46:09 mail2.engr.colostate.edu postfix/smtpd[11000]: [ID 197553 mail.i nfo] CBD4059982: client=pace.acns.colostate.edu[129.82.100.168] Aug 5 08:46:09 mail2.engr.colostate.edu postfix/cleanup[11016]: [ID 197553 mail .info] CBD4059982: message-id=[EMAIL PROTECTED] Aug 5 08:46:09 mail2.engr.colostate.edu postfix/smtpd[11000]: [ID 197553 mail.i nfo] disconnect from pace.acns.colostate.edu[129.82.100.168] Aug 5 08:46:09 mail2.engr.colostate.edu postfix/qmgr[23653]: [ID 197553 mail.in fo] CBD4059982: from=[EMAIL PROTECTED], size=1701, nrcpt=1 (queue active) Aug 5 08:46:10 mail2.engr.colostate.edu deliver(cjay): [ID 315030 mail.info] Lo ading modules from directory: /userM/mail-services/dovecot/lib/dovecot/lda Aug 5 08:46:10 mail2.engr.colostate.edu deliver(cjay): [ID 619685 mail.info] Mo dule loaded: /userM/mail-services/dovecot/lib/dovecot/lda/lib90_cmusieve_plugin. so Aug 5 08:46:10 mail2.engr.colostate.edu deliver(cjay): [ID 848615 mail.info] mb ox: data=/top/admin/ENS/people/cjay/home/:INBOX=/userM/mail/cjay Aug 5 08:46:10 mail2.engr.colostate.edu deliver(cjay): [ID 885103 mail.info] fs : root=/top/admin/ENS/people/cjay/home, index=, control=, inbox=/userM/mail/cjay Aug 5 08:46:10 mail2.engr.colostate.edu deliver(cjay): [ID 223526 mail.info] cm usieve: Using sieve path: /top/admin/ENS/people/cjay/home/.dovecot.sieve Aug 5 08:46:10 mail2.engr.colostate.edu deliver(cjay): [ID 507699 mail.info] cm usieve:
Re: [Dovecot] dovecot 1.1.2 assertion
On Aug 5, 2008, at 3:48 AM, Nuno Lopes wrote: Do you still have the files? You forgot to send the dovecot.index.log file. Also perhaps dovecot.index.cache could help when figuring this out (but it contains message headers so you may not want to send it to this mailing list at least). Hi, I still have them. I sent both dovecot.index and dovecot.index.log the last time, but now I've also added the cache file in a tgz. Oh. I guess that's why Mail.app showed some weird input in the mail. Anyway fixed now: http://hg.dovecot.org/dovecot-1.1/rev/d674c05d725d PGP.sig Description: This is a digitally signed message part
[Dovecot] Corrupted transaction logs
Hi, I'm getting a lot of the following messages in my mail.err log. Jul 12 11:25:51 mink dovecot: IMAP([EMAIL PROTECTED]): Corrupted transaction log file /virtual/store1/mail/u/user1_domain1.net/Maildir/.Sent/dovecot.index.log: Append with UID 925, but next_uid = 926 Jul 12 12:44:56 mink dovecot: IMAP([EMAIL PROTECTED]): Corrupted transaction log file /virtual/store2/mail/u/user2_domain1.net/Maildir/.Trash/dovecot.index.log: Append with UID 4927, but next_uid = 4931 Jul 12 12:45:19 mink dovecot: IMAP([EMAIL PROTECTED]): Corrupted transaction log file /virtual/store2/mail/u/user2_domain1.net/Maildir/.Trash/dovecot.index.log: Append with UID 4930, but next_uid = 4931 The users get the wrong headers and bodies being displayed in Thunderbird and I'm unsure of the symptoms in other browsers. I'm running two mail servers with two NFS servers for the mail stores. Both mail servers have access to both mail stores and I'm assuming that that is what's causing the problem. I'm running dovecot 1.0.10 (Ubuntu - so I'm using only packages provides by aptitude at the moment). Should dovecot be able to handle access by multiple machines for the indexes? Thanks Guy -- Don't just do something...sit there!
[Dovecot] Dovecot LDA with sieve plugin and MySQL
Hi list, Is there any way to use some information stored in mysql when executing a sieve script in dovecot lda sieve-plugin. thanks.
Re: [Dovecot] expire-plugin: configuration dict-server
Dino Ming wrote: Dear Eric, I've enabled the mysql query log, and there does not have any query when I deleting or moving message. So, I'm wondering is it have some compile time flag to enable this perhaps ? Hmm.. shouldn't be any flags needed besides --with-mysql and --with-sql. I wonder if it has to do with the namespace. Try changing expire: Trash 2 to expire: INBOX.Trash 2 I'm not sure how (if) namespaces effect the expire plugin. Timo may be able to shed more light. signature.asc Description: OpenPGP digital signature
Re: [Dovecot] expire-plugin: configuration dict-server
Dino Ming wrote: Dear Eric, It's worked after I append the INBOX. in front of Trash The record entered into the table with path and timestamp, but missing value for the username. Is this make sense ? Yup this is as expected. From Timo when I asked him about it: The expire data is shared so username=NULL. You could probably remove the whole username field. I did think about problems related to this yesterday though, so maybe this gets changed somehow some day. Figured since dovecot may use the username at one point, that we should just leave it in the table. Here come the other questions. When I run the expire-tool, its just remove the inserted record from the dict_expire table. But anyway, I will test it for a few days first. Hmm.. odd that it removed it. Run it with a --test and it should tell you what it is doing. Did it remove the message from the Trash too as well as the db entry? signature.asc Description: OpenPGP digital signature
Re: [Dovecot] Corrupted transaction logs
On Aug 5, 2008, at 11:50 AM, Guy wrote: I'm running two mail servers with two NFS servers for the mail stores. Both mail servers have access to both mail stores and I'm assuming that that is what's causing the problem. Yes, most likely. I'm running dovecot 1.0.10 (Ubuntu - so I'm using only packages provides by aptitude at the moment). Should dovecot be able to handle access by multiple machines for the indexes? Read http://wiki.dovecot.org/NFS PGP.sig Description: This is a digitally signed message part
Re: [Dovecot] Dovecot sieve plugin reject not working
When I send message from yahoo.com to my [EMAIL PROTECTED] account on this server no rejection notice is being sent back. It looks like at the end of the log file section below that it is sending something back, but nothing shows up. Also see how the From is empty? I don't think this is postfix problem as I can send and receive mail through it fine. I reported a related bug with the reject action here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=489760 . Seems to be different from your case, though.
Re: [Dovecot] 1.0(.14) vs 1.1.2 performance
On Aug 5, 2008, at 9:43 AM, Thomas Hummel wrote: I just switched from dovecot-1.0.14 to dovecot-1.1.2 and noticed a significant drop in the server load average (which has become lower and above all doesn't seem to have unexplained peaks). Indexes are still locally stored and nfs attribute caching is still off). I searched the list archives for an explanation of what changed in the code that could explain such an improvement but mostly (except maybe some index code rewrite mentions) found differences in features. Where does that performance gap come from ? Do you use POP3? That should work better. There are also less reads/ writes to index files. And dovecot-uidlist is usually updated by appending to it instead of rewriting it. PGP.sig Description: This is a digitally signed message part
Re: [Dovecot] 1.1.1 (maildir_uidlist_sync_update): assertion failed: (uidlist-initial_hdr_read)
Timo Sirainen wrote: On Wed, 2008-07-16 at 16:43 -0400, Adam McDougall wrote: Jun 26 17:23:26 hill dovecot: Panic: IMAP(userA): file maildir-uidlist.c: line 1207 (maildir_uidlist_sync_update): assertion failed: (uidlist-initial_hdr_read) Perhaps this fixes it? http://hg.dovecot.org/dovecot-1.1/rev/1edff123dd8f I am now running 1.1.2 in production, but I got a similar backtrace but different log message. The file mentioned has a later timestamp than the core, so it may have been modified since the Panic. -rw--- 1 userC 3001 980088 Aug 4 19:30 /home/userC/Maildir/dovecot/private/indexes/.INBOX/dovecot.index.search.uids Aug 4 11:15:20 boomhauer dovecot: imap-login: Login: user=userC, method=PLAIN, rip=35.9.37.164, lip=35.9.37.190, TLS Aug 4 11:15:20 boomhauer dovecot: IMAP(userC): fchown(/home/userC/Maildir/temp.boomhauer.34901.6594f6f24f978311, -1, 3000) failed: Operation not permitted Aug 4 11:15:20 boomhauer dovecot: IMAP(userC): dovecot-acl-list creation failed: safe_mkstemp(/home/userC/Maildir/temp.boomhauer.34901.6594f6f24f978311) failed: Operation not permitted Aug 4 11:15:21 boomhauer dovecot: IMAP(userC): Corrupted squat uidlist file /home/userC/Maildir/dovecot/private/indexes/.INBOX/dovecot.index.search.uids: missing/broken uidlist Aug 4 11:15:22 boomhauer dovecot: Panic: IMAP(userC): file squat-uidlist.c: line 153 (uidlist_write_array): assertion failed: ((uid ~UID_LIST_MASK_RANGE) = base_uid) Aug 4 11:15:22 boomhauer dovecot: child 34901 (imap) killed with signal 6 # gdb /usr/local/libexec/dovecot/imap imap.core GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type show copying to see the conditions. There is absolutely no warranty for GDB. Type show warranty for details. This GDB was configured as amd64-marcel-freebsd... Core was generated by `imap'. Program terminated with signal 6, Aborted. Reading symbols from /usr/local/lib/libiconv.so.3...done. Loaded symbols for /usr/local/lib/libiconv.so.3 Reading symbols from /lib/libc.so.7...done. Loaded symbols for /lib/libc.so.7 Reading symbols from /usr/local/lib/dovecot/imap/lib01_acl_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib01_acl_plugin.so Reading symbols from /usr/local/lib/dovecot/imap/lib10_quota_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib10_quota_plugin.so Reading symbols from /usr/lib/librpcsvc.so.4...done. Loaded symbols for /usr/lib/librpcsvc.so.4 Reading symbols from /usr/local/lib/dovecot/imap/lib11_imap_quota_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib11_imap_quota_plugin.so Reading symbols from /usr/local/lib/dovecot/imap/lib20_fts_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib20_fts_plugin.so Reading symbols from /usr/local/lib/dovecot/imap/lib20_listescape_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib20_listescape_plugin.so Reading symbols from /usr/local/lib/dovecot/imap/lib21_fts_squat_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib21_fts_squat_plugin.so Reading symbols from /libexec/ld-elf.so.1...done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x409de12c in kill () from /lib/libc.so.7 (gdb) bt full #0 0x409de12c in kill () from /lib/libc.so.7 No symbol table info available. #1 0x409dcf9b in abort () from /lib/libc.so.7 No symbol table info available. #2 0x004b5be5 in default_fatal_finish (type=LOG_TYPE_PANIC, status=0) at failures.c:149 backtrace = 0x0 #3 0x004b699e in i_internal_fatal_handler (type=Could not find the frame base for i_internal_fatal_handler. ) at failures.c:423 No locals. #4 0x004b5eaa in i_panic (format=Could not find the frame base for i_panic. ) at failures.c:190 args = Could not find the frame base for i_panic. (gdb) q
Re: [Dovecot] how to store flags \Seen into read-only mailbox?
Thank you, Timo, running dovecot with this changeset, \Seen stored perfectly. Only problems I saw were like: --- deliver(listuser): Aug 04 16:06:38 Error: Corrupted transaction log file /home/vmail/listuser/Maildir/index/.INBOX/dovecot.index.log: hdr.size too large (75497472) ... dovecot: Aug 04 16:07:31 Error: IMAP(listuser): Corrupted transaction log file /home/vmail/listuser/Maildir/index/.INBOX/dovecot.index.log: duplicate transaction log sequence (2) --- and after deleting dovecot.index.log files they were rebuilt. And I can not see any other problem. -- Sergey Ivanov. - Timo Sirainen [EMAIL PROTECTED] пишет: On Jul 24, 2008, at 1:27 PM, [EMAIL PROTECTED] wrote: This problem is apparently about changeset http://hg.dovecot.org/dovecot-1.1/rev/eec74a6ad62e . OK, changed, see if this helps: http://hg.dovecot.org/dovecot-1.1/rev/b5388b21c4c2