Re: [Dovecot] Expire plugin with Mysql

2008-08-05 Thread Eric Toczek
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

2008-08-05 Thread Jens Meyer

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

2008-08-05 Thread Eric Toczek
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

2008-08-05 Thread Jens Meyer

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

2008-08-05 Thread Eric Toczek
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

2008-08-05 Thread Thomas Hummel
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

2008-08-05 Thread Jens Meyer

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

2008-08-05 Thread Dino Ming

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

2008-08-05 Thread CJ Keist
-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

2008-08-05 Thread Timo Sirainen


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

2008-08-05 Thread Guy
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

2008-08-05 Thread Thiago Esteves
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

2008-08-05 Thread Eric Toczek
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

2008-08-05 Thread Eric Toczek
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

2008-08-05 Thread Timo Sirainen

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

2008-08-05 Thread Andrew Schulman
 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

2008-08-05 Thread Timo Sirainen

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)

2008-08-05 Thread Adam McDougall

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?

2008-08-05 Thread seriv
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