[Dovecot] LDA does not read quota from userdb's extra fields

2009-09-09 Thread Tim Chen
The version I use is dovecot 1.2.4

My config in dovecot.conf
protocol imap {
  mail_plugins = quota imap_quota mail_log
}
protocol lda {
  mail_plugins = quota
}

  userdb passwd-file {
args = /etc/dovecot.userdb
  }

  quota = maildir
  quota_rule = *:storage=100MB

/etc/dovecot.userdb
user1:*:2001:2001::/ms/user1::userdb_quota_rule=*:storage=300M

And in postfix/main.cf
mailbox_command = /usr/local/libexec/dovecot/deliver

I wish to have a global quota 100MB for all the users and using
/etc/dovecot.userdb to specify larger quota(300MB) for some vip users.
IMAP works normally as expected, using the following command will report
correct quota.
a login user1 pass1
user1 getquotaroot INBOX

However, it seems LDA treat all users the same quota (100MB), and when
trying to send mails to those vip users(300MB), it will reject the email
and report 552 Requested mailbox exceeds quota. (in reply to RCPT TO
command))

My speculation is LDA forget the read 'extra fields' from userdb, would you
please help to verify it?

Thanks very much for your help.

Sincerely,
Tim Chen


[Dovecot] The usage of dovecot-uidvalidity* files?

2009-09-09 Thread Tim Chen
After installing a new server with dovecot 1.2.4, I found there is some new
dovecot-uidvalidity* files in user's Maildir directory. However, I did
not see such files in other servers with dovecot 1.1.2 (around 2008/07).

What is function of those files?
What will happen if I delete that files?

I am curious why need to keep 2 files:
dovecot-uidvalidity
dovecot-uidvalidity.4aa4fa4c
since the content of dovecot-uidvalidity is '4aa4fa4c'
why do we need extra files?

Thanks Timo for providing the wonderful dovecot software!
Hope you don't mind my stupid questions.

Sincerely,
Tim Chen


[Dovecot] inotify_init() failed: Function not implemented

2009-09-09 Thread franc walter
Hello,

i have in my mail.log some warnings:

Sep  2 08:21:49 myserver dovecot: IMAP(m...@myserver.tld): inotify_init()
failed: Function not implemented

how can i fix this?

Thank you in advance,

franc walter


Re: [Dovecot] inotify_init() failed: Function not implemented

2009-09-09 Thread Ralf Hildebrandt
* franc walter francwal...@gmx.de:
 Hello,
 
 i have in my mail.log some warnings:
 
 Sep  2 08:21:49 myserver dovecot: IMAP(m...@myserver.tld): inotify_init()
 failed: Function not implemented
 
 how can i fix this?

Either compile dovecot without inotify support
OR
make sure you kernel  libc support inotify

-- 
Ralf Hildebrandt
  Geschäftsbereich IT | Abteilung Netzwerk
  Charité - Universitätsmedizin Berlin
  Campus Benjamin Franklin
  Hindenburgdamm 30 | D-12203 Berlin
  Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962
  ralf.hildebra...@charite.de | http://www.charite.de



Re: [Dovecot] compression script for use with zlib module

2009-09-09 Thread fernando
Hi,

I´m using the following two scripts:

zip-list.sh:

find $home \
-type f \
-name '*,S=*' \
-mtime +1 \
-size +10k

The above script list the files that will be compressed.

zip-compressh.sh
#!/bin/bash

uid='vmail'
gid='vmail'

sleepOnFailure='2'

cat zip-list.txt|while read i
do
if [ ! -f $i ]
then
continue
fi

type=$(file -bi $i)
fgrep 'message/rfc822' $type /dev/null
if [ $? != '0' ]
then
continue;
fi

echo -n $i...

modify=$(stat -c %y $i|cut -d. -f1)
basename=$(basename $i)

gzip -9 -c $i /tmp/$basename

mv /tmp/$basename $i
exitStatus=$?
while [ -f $i -a $exitStatus != '0' ]
do
echo -n wait($sleepOnFailure)...
sleep $sleepOnFailure
mv /tmp/$basename $i 2/dev/null
exitStatus=$?
done

chown $uid.$gid $i
touch -m -d $modify $i

echo OK
done

This script reads the zip-list.txt and compress the file. We do not lock
the maildir, but we use touch to maintain original dates. We do not check
any 'Z' flags.

[]s
Fernando


 Hi,

 I'm wondering if someone already implemented a compression script
 (and would like to share it) based on the step-by-step provided on wiki
 page of Zlib module.

 I can already do some find|xargs gzip  but couldnt implement it
 completly as described on the wiki page. I know the suggested
 step-by-step is very detailed and probably a must simplier will be
 enough for almost anyone  anyway, if someone have the full script
 and would like to share it, i would be glad to get it :)


 http://wiki.dovecot.org/Plugins/Zlib


 1) Find the mails you want to compress in a single maildir.
 2) Compress the mails to tmp/
 * Update the compressed files' mtimes to be the same as they were in
 the original files (e.g. touch command)
 3) Run maildirlock path timeout. It writes PID to stdout, save it.
 * path is path to the Maildir's dovecot-uidlist (the control
 directory, if it's separate)
 * timeout specifies how long to wait for the lock before failing.
 4) If maildirlock grabbed the lock successfully (exit code 0) you can
 continue.
 5) For each mail you compressed:
1. Verify that it still exists where you last saw it.
2. If it doesn't exist, delete the compressed file. Its flags may
 have been changed or it may have been expunged. This happens rarely, so
 just let the next run handle it.
3. If the file does exist, rename() (mv) the compressed file over the
 original file.
   * Dovecot can now read the file, but to avoid compressing it
 again on the next run, you'll probably want to rename it again to
 include e.g. a Z flag in the file name to mark that it was compressed
 (e.g. 1223212411.M907959P17184.host,S=3271:2,SZ). Remember that the
 Maildir specifications require that the flags are sorted by their ASCII
 value, although Dovecot itself doesn't care about that.
 6) Unlock the maildir by sending a TERM signal to the maildirlock
 process (killing the PID it wrote to stdout).



 --


   Atenciosamente / Sincerily,
   Leonardo Rodrigues
   Solutti Tecnologia
   http://www.solutti.com.br

   Minha armadilha de SPAM, NÃO mandem email
   gertru...@solutti.com.br
   My SPAMTRAP, do not email it





[Dovecot] Odd/Incorrect Quota Reporting on Dovecot 1.2.4 FreeBSD4

2009-09-09 Thread Siraj 'Sid' Rakhada
Hi,

Am seeing an odd problem on an old FreeBSD 4.11 box that I'm trying to
get courier off, and dovecot on. At the same time, I'm trying to put
some fairly simple quota support on, but getting very odd results.

I think it might be better described with the log below, but, the gist
of it is this:

I have set a 1GB quota, and I was getting intermittent reports on the
quota usage - sometimes at the correct usage (300MB or so), and then
at some crazy amount over the quota usage. I can get it to be
consistently incorrect though, as displayed with the below log.

The maildirsize is correct, and matches closely to 'du' output, it's
simply coming through incorrect on IMAP. It also only seems to happen
if the maildirsize is not created before the first 'getquota[root]'
command occurs.

I think it's something to do with dovecot + FreeBSD (at least, this
version)! I've done a quick test on a Debian box, and I don't have the
same problem.

Anyone else have any ideas what could be going wrong on this FreeBSD
box? Is it worth me giving the dovecot -n output at this stage?
It happens on different mailboxes too, this is just a sample.

Thanks!

- information  log follow

# /usr/local/dovecot/sbin/dovecot --version
1.2.4

# uname -a
FreeBSD server1.domain 4.11-RELEASE-p13 FreeBSD 4.11-RELEASE-p13 #5:
Wed Oct 12 18:02:46 BST 2005
r...@server1.domain:/usr/obj/build/src/sys/FBSD410RELENG  i386

# cat maildirsize
1073741824S
304806180 16002

Attempt 1:
. OK Capability completed.
a login s...@domain test
a OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE
SORT THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN
NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH
ESORT SEARCHRES WITHIN CONTEXT=SEARCH QUOTA] Logged in
a getquotaroot inbox
* QUOTAROOT inbox User Quota
* QUOTA User Quota (STORAGE 117738174 1048576)
a OK Getquotaroot completed.
a logout
* BYE Logging out
a OK Logout completed.
closed

Attempt 2:
(on server do 'rm maildirsize')

. OK Capability completed.
a login s...@domain test
a OK [snip] Logged in
a getquotaroot inbox
* QUOTAROOT inbox User Quota
* QUOTA User Quota (STORAGE 117738174 1048576)
a OK Getquotaroot completed.

(on server, do 'rm maildirsize' again, while still connected, the
first 'getquotaroot' is incorrect, as it seems dovecot regenerates the
maildirsize file on login, hence the 'rm')

a getquotaroot inbox
* QUOTAROOT inbox User Quota
* QUOTA User Quota (STORAGE 297662 1048576)
a OK Getquotaroot completed.
a getquotaroot inbox
* QUOTAROOT inbox User Quota


Re: [Dovecot] Odd/Incorrect Quota Reporting on Dovecot 1.2.4 FreeBSD4

2009-09-09 Thread Siraj 'Sid' Rakhada
Ack! The bottom of my log was truncated - but not by much, here is all
that was skipped:

(on server, do 'rm maildirsize' again, while still connected, the
first 'getquotaroot' is incorrect, as it seems dovecot regenerates the
maildirsize file on login, hence the 'rm')

a getquotaroot inbox
* QUOTAROOT inbox User Quota
* QUOTA User Quota (STORAGE 297662 1048576)
a OK Getquotaroot completed.
a getquotaroot inbox
* QUOTAROOT inbox User Quota
* QUOTA User Quota (STORAGE 297662 1048576)
a OK Getquotaroot completed.
a logout
* BYE Logging out
a OK Logout completed.
closed

If reconnecting, the same error occurs as Attempt 1 above.


Re: [Dovecot] New need to delete dovecot-acl-list in dovecot 1.2?

2009-09-09 Thread Adam McDougall

Timo Sirainen wrote:

On Thu, 2009-08-20 at 23:40 -0400, Adam McDougall wrote:
  

List cache

dovecot-acl-list file lists all mailboxes that have l rights assigned. 
If you manually add/edit dovecot-acl files, you may need to delete the 
dovecot-acl-list to get the mailboxes visible.



It's mainly useful for mailbox sharing between users.
http://hg.dovecot.org/dovecot-1.2/rev/aeb3affa0501 makes Dovecot ignore
it in public namespaces.

  
Ah thanks, I will try it when I have time. 

BTW, yesterday I noticed my dovecot 1.1.11 servers acting like the 
dovecot-acl
is recursive in my public folders, much like 1.2 seems to be, but I 
cannot recall
1.1.x ever acting that way.  Am I crazy or did it change sometime before 
1.2?

Thanks.


[Dovecot] dovecot-auth stops responding

2009-09-09 Thread Jonathan Siegle
Running dovecot 1.2.4(imap only) on AIX out of inetd. I accept  
passwords(PAM for auth) and kerberos tickets. Occasionally we see  
dovecot-auth stop responding. I just kill it off and another process  
is spawned which works fine. It doesn't look like it is hitting any  
ulimits(11MB for memory). I issued a kill -11 and ran it through the  
debugger. Here is what it says:


 dbx dovecot-auth core
Type 'help' for help.
[using memory image in core]
reading symbolic information ...

Segmentation fault in __fd_poll at 0x9117634 ($t1)
0x9117634 (__fd_poll+0x98) e8410028  ld   r2,0x28(r1)
(dbx) where
__fd_poll(??, ??, ??) at 0x9117634
ioloop-poll.poll(__listptr = 0x0001104dd330, __nfds = 145,  
__timeout = 1051), line 121 in poll.h
io_loop_handler_run(ioloop = 0x00011001bfb0), line 157 in ioloop- 
poll.c

io_loop_run(ioloop = 0x00011001bfb0), line 335 in ioloop.c
main(argc = 1, argv = 0x0ad8), line 347 in main.c


Here are my ulimits:

 ulimit -a
time(seconds)unlimited
file(blocks) 2097151
data(kbytes) 1048576
stack(kbytes)65536
memory(kbytes)   65536
coredump(blocks) 2097151
nofiles(descriptors) 32768


Any help would be appreciated.
Thanks,
Jonathan

smime.p7s
Description: S/MIME cryptographic signature


[Dovecot] fixing deleted-to-trash-plugin

2009-09-09 Thread Lex Brugman
Hi,

I'm currently trying to make the deleted-to-trash-plugin work with dovecot
v1.2.4, without this plugin the trash mailbox is pretty useless with mail
clients like Evolution and Outlook, I still can't believe this
functionality isn't intergrated into dovecot since it doesn't even
influence the operation of other mail clients that do support this option
theirselfs (even when turned on, the plugin detects this and doesn't break
the client's functionality).

I have modified the plugin to run without errorsin 1.2.4, when using a
mail client which doesn't support this feature in the client itself,
(according to my debug and the mail-log plugin output) everything works,
but the mails are deleted as expected but not visible in the Trash box, it
looks like they where copied to /dev/null :P (even though the log output
makes me think otherwise).

Log output:
Sep 09 20:21:09 IMAP(x...@xxx.xxx): Info: opening Trash succeeded
Sep 09 20:21:09 IMAP(x...@xxx.xxx): Info: from INBOX to Trash, previous
action from (null)
Sep 09 20:21:09 IMAP(x...@xxx.xxx): Info: copy: uid=11, dest=Trash,
msgid=7706bce6-6882-473c-b7f3-62ae3f75f...@xxx.xxx, size=1718
Sep 09 20:21:09 IMAP(x...@xxx.xxx): Info: copying to Trash succeeded
Sep 09 20:21:09 IMAP(x...@xxx.xxx): Info: delete: uid=11,
msgid=7706bce6-6882-473c-b7f3-62ae3f75f...@xxx.xxx

The clients I used to test: Evolution and Outlook (they both don't support
this feature from the client) and the mail client on an iPhone (which does
support this feature, the plugin detects that the client already copied the
mail to the Trash box and skips it).

I'm really stuck here :( no errors, the logs tell me everything went fine,
but it didn't.
The source is attached, any help is greatly appreciated!

Gr,
Lex Brugman/* Copyright (C) 2008 steven...@lba.ca, 2009 Lex Brugman lex dot brugman at gmail.com */
#include lib.h
#include array.h
#include str.h
#include str-sanitize.h
#include mail-storage-private.h
#include mailbox-list-private.h
#include deleted-to-trash-plugin.h
#include stdlib.h


#define TRASH_NAME Trash

#define DELETED_TO_TRASH_CONTEXT(obj) MODULE_CONTEXT(obj, deleted_to_trash_storage_module)
#define DELETED_TO_TRASH_MAIL_CONTEXT(obj) MODULE_CONTEXT(obj, deleted_to_trash_mail_module)
#define DELETED_TO_TRASH_LIST_CONTEXT(obj) MODULE_CONTEXT(obj, deleted_to_trash_mailbox_list_module)

/* defined by imap, pop3, lda */
const char *deleted_to_trash_plugin_version = PACKAGE_VERSION;

static void (*deleted_to_trash_next_hook_mail_storage_created) (struct mail_storage *storage);
static void (*deleted_to_trash_next_hook_mailbox_list_created) (struct mailbox_list *list);

static MODULE_CONTEXT_DEFINE_INIT(deleted_to_trash_storage_module, mail_storage_module_register);
static MODULE_CONTEXT_DEFINE_INIT(deleted_to_trash_mail_module, mail_module_register);
static MODULE_CONTEXT_DEFINE_INIT(deleted_to_trash_mailbox_list_module, mailbox_list_module_register);

static void * last_copy_transaction_context = 0;
static unsigned int last_copy_mail_id[2000];
static unsigned int last_copy_mail_number = 0;
static char *last_copy_src_mailbox_name = NULL;

static int
search_deleted_id(struct mail *_mail)
{
	unsigned int loop_count = 0;
	unsigned int deleted_id = _mail-uid;
	int ret = 0;

	/**
	 * only it is under the same copy and delete box, the comparation is done, otherwise, need to reset last copy data 
	 * since copy always follows a delete in IMAP command (when move email from one folder to another folder).
	 */
	if(last_copy_src_mailbox_name != NULL  strcmp(_mail-box-name, last_copy_src_mailbox_name) == 0)
	{
		for(loop_count = 0; loop_count  last_copy_mail_number; ++loop_count)
		{
			if(last_copy_mail_id[loop_count] == deleted_id)
			{
ret = 1;
break;
			}
		}
	}
	else
	{
		last_copy_mail_number = 0;
		if(last_copy_src_mailbox_name != NULL)
		{
			i_free(last_copy_src_mailbox_name);
			last_copy_src_mailbox_name = NULL;
		}
	}

	return ret;
}

static struct mailbox *
mailbox_open_or_create(struct mail_storage *storage, const char *name)
{
	struct mailbox *box;
	enum mail_error error;

	box = mailbox_open(storage, name, NULL, MAILBOX_OPEN_FAST | MAILBOX_OPEN_KEEP_RECENT | MAILBOX_OPEN_NO_INDEX_FILES);
	if(box == NULL)
	{
		(void)mail_storage_get_last_error(storage, error);
		if(error == MAIL_ERROR_NOTFOUND)
		{
			/* try creating it */
			if(mail_storage_mailbox_create(storage, name, FALSE) = 0)
			{
/* and try opening again */
box = mailbox_open(storage, name, NULL, MAILBOX_OPEN_FAST | MAILBOX_OPEN_KEEP_RECENT);
			}
		}
	}

	return box;
}

static int
copy_deleted_mail_to_trash(struct mail *_mail)
{
	int ret;
	struct mailbox *trash_box = NULL;

	trash_box = mailbox_open_or_create(_mail-box-storage, TRASH_NAME);

	if(trash_box != NULL)
	{
		i_info(opening %s succeeded, TRASH_NAME);
		struct mailbox_transaction_context *dest_trans;
		struct mail_save_context *save_ctx;
		struct mail_keywords *keywords;
		const char *const *keywords_list;

		dest_trans = 

Re: [Dovecot] dovecot-auth stops responding

2009-09-09 Thread Timo Sirainen
On Wed, 2009-09-09 at 14:12 -0400, Jonathan Siegle wrote:
 Running dovecot 1.2.4(imap only) on AIX out of inetd. I accept  
 passwords(PAM for auth) and kerberos tickets. Occasionally we see  
 dovecot-auth stop responding. I just kill it off and another process  
 is spawned which works fine. 

If you use PAM then I guess you should have auth worker processes too?
So one dovecot-auth and 1+ dovecot-auth -w? Does it help if you kill
off the worker processes? What if you kill imap-login processes instead?

 Segmentation fault in __fd_poll at 0x9117634 ($t1)
 0x9117634 (__fd_poll+0x98) e8410028  ld   r2,0x28(r1)
 (dbx) where
 __fd_poll(??, ??, ??) at 0x9117634
 ioloop-poll.poll(__listptr = 0x0001104dd330, __nfds = 145,  

This just shows that it was waiting for something to do. Does AIX have
something like strace or truss? Use it to see what's happening when a
request comes.



signature.asc
Description: This is a digitally signed message part


Re: [Dovecot] The usage of dovecot-uidvalidity* files?

2009-09-09 Thread Timo Sirainen
On Wed, 2009-09-09 at 16:07 +0800, Tim Chen wrote:
 After installing a new server with dovecot 1.2.4, I found there is some new
 dovecot-uidvalidity* files in user's Maildir directory. However, I did
 not see such files in other servers with dovecot 1.1.2 (around 2008/07).
 
 What is function of those files?

To assign a unique UIDVALIDITY to created mailboxes.

 What will happen if I delete that files?

They get recreated when you create a new mailbox.

 I am curious why need to keep 2 files:
 dovecot-uidvalidity
 dovecot-uidvalidity.4aa4fa4c
 since the content of dovecot-uidvalidity is '4aa4fa4c'
 why do we need extra files?

It's a trick to be able to assign the UIDVALIDITY really fast and
without locking. dovecot-uidvalidity.UIDV is the authoritative file
and UIDV value is cached in dovecot-uidvalidity. So assigning a new
UIDVALIDITY goes like:

1. Read UIDV from dovecot-uidvalidity
2. rename dovecot-uidvalidity.UIDV to dovecot-uidvalidity.UIDV+1
3. Write dovecot-uidvalidity.UIDV+1 to dovecot-uidvalidity

If step 1 or step 2 fails (rare), it fallbacks to slower behavior where
it finds readdir()s through the directory to find the latest
dovecot-uidvalidity.UIDV.


signature.asc
Description: This is a digitally signed message part


Re: [Dovecot] FTS Plugin design

2009-09-09 Thread Timo Sirainen
On Tue, 2009-09-08 at 15:47 +0100, rui.carne...@portugalmail.net wrote:
 Now I am trying to find a way to know the mime part id of the parts  
 used on fts_build_mail. Is that already possible or I need to do that  
 by my own?

If you already get the MIME structure, then I guess you have struct
message_parts. You could do it similar to the way IMAP does things:

   1  TEXT/PLAIN
   2  APPLICATION/OCTET-STREAM
   3  MESSAGE/RFC822
   3.HEADER   ([RFC-2822] header of the message)
   3.TEXT ([RFC-2822] text body of the message) MULTIPART/MIXED
   3.1TEXT/PLAIN
   3.2APPLICATION/OCTET-STREAM
   4  MULTIPART/MIXED
   4.1IMAGE/GIF
   4.1.MIME   ([MIME-IMB] header for the IMAGE/GIF)
   4.2MESSAGE/RFC822
   4.2.HEADER ([RFC-2822] header of the message)
   4.2.TEXT   ([RFC-2822] text body of the message) MULTIPART/MIXED
   4.2.1  TEXT/PLAIN
   4.2.2  MULTIPART/ALTERNATIVE
   4.2.2.1TEXT/PLAIN
   4.2.2.2TEXT/RICHTEXT

So you get the root message_part. Its first child is 1, second child
2, 3rd child 3, 3rd child's first child 3.1, etc.


signature.asc
Description: This is a digitally signed message part


Re: [Dovecot] high imap load on large folders

2009-09-09 Thread Timo Sirainen
On Mon, 2009-09-07 at 10:29 +0200, Ingo Thierack wrote:
 What i now see, is, on large folder( 58000 messages and more) the load 
 on the imap-process
 is very high, and slowdown the transferprocess.
 Is there something, I can do. Whats cause the high load ind the 
 imap-process.

Is it actually the user CPU load or system CPU load? I'd think most of
the time is spent on moving the new message to cur/ directory where
there are the 58k messages.

 mail_nfs_storage: yes

Disable this during the sync, it'll add delays. And if you don't have
more than one NFS client accessing the same mailbox at the same time,
you don't need it anyway.

Also see if maildir_very_dirty_syncs=yes helps.

 strace output

strace -tt would have been better, it would have shown timestamps then
too. But it didn't look like it did anything unexpected.


signature.asc
Description: This is a digitally signed message part


Re: [Dovecot] Command died with signal 11: /usr/lib/dovecot/deliver

2009-09-09 Thread Timo Sirainen
On Tue, 2009-09-08 at 09:05 +0200, Maciej Polewczyński wrote:
 Hello
 
 I have problem with deliver dying with signal 11. I'm using postfix + 
 dovecot devliver. If mailbox have many (100+) redirects in sieve or many 
 other sieve rules deliver died. I have tested this in debian etch + 
 dovecot 1.1.18 (compiled from sources) and debian lenny + dovecot 1.1.13 
 from backports.

Can you send me one such script that crashes it?

 I try to debug by running deliver via gdbhelper:
..
 This GDB was configured as i486-linux-gnu.../tmp/deliver.sh: not in 
 executable format: File format not recognized

gdb is trying to open /tmp/deliver.sh instead of the actual deliver
binary, so it wasn't set up right.

 No symbol table info available.
 #1  0xbfb3aed4 in ?? ()

In general when you only see ?? lines in gdb backtrace it's not
useful.


signature.asc
Description: This is a digitally signed message part


Re: [Dovecot] changing location of index files

2009-09-09 Thread Timo Sirainen
On Tue, 2009-09-08 at 14:28 +0900, suzuki wrote:
 Hello,
 
 I think changing index files location of mail_location setting
  to reduce disk I/O.
 by adding INDEX=/var/index/%d/%1n/%n to mail_location like below,
 mail_location = maildir:~/Maildir:INDEX=/var/index/%d/%1n/%n
 
 Will this change cause any problems or data loss to existing pop3 users?
 There are only pop3 users on this server.
 
 
 % dovecot --version
 1.1.18

With v1.1 Dovecot should have virtual sizes either in Maildir filenames
as ,W=1234 or written to dovecot-uidlist file in W1234 fields. You could
verify this, and if you find them there should be no problems moving the
index files.

Since you have only POP3 users you could also try if it's better for
performance to simply disable indexes completely (:INDEX=MEMORY). The
main reason why indexes can be useful with POP3 is if user keeps lots of
mails on the server and logs in constantly to see if there is new mail.
Indexes avoid readdir()ing through Maildir/cur/ directory then.


signature.asc
Description: This is a digitally signed message part


Re: [Dovecot] LDA does not read quota from userdb's extra fields

2009-09-09 Thread Timo Sirainen
On Wed, 2009-09-09 at 16:06 +0800, Tim Chen wrote:
 And in postfix/main.cf
 mailbox_command = /usr/local/libexec/dovecot/deliver

deliver does userdb lookup from dovecot-auth only when you call it with
-d $USER parameter.



signature.asc
Description: This is a digitally signed message part


Re: [Dovecot] Password Authentication schemes to comply with postfixadmin

2009-09-09 Thread Timo Sirainen
On Tue, 2009-09-08 at 23:52 +0200, bsd wrote:
 I have tried to modify the various options in dovecot-mysql.conf in  
 order to comply with these settings:
 I have updated default_pass_scheme to PLAIN-MD5, DIGEST-MD5, and  
 CRYPT but none of this seems to work.

Set auth_debug_passwords=yes and look at the logs.



signature.asc
Description: This is a digitally signed message part


Re: [Dovecot] Maildir quota reporting

2009-09-09 Thread Timo Sirainen
On Thu, 2009-09-03 at 10:57 +0200, David Kmoch wrote:
 and start dovecot again. The same result - TB still reports 20GB quota
 for user foo, the above echo command still reports 20971520, but(!),
 quota is actually unlimited for anyone. When I set some limit in
 ~foo/Maildir/maildirsize now, same values 20971520) are reported,
 although the limit works!

Something weird is going on. What does it log about quota with
mail_debug=yes?

 Finally, the question ;-) Where does that value (20971520) come from? Is
 it a feature or a bug?

It's not a hard coded value for sure. Maybe it's reading a different
maildirsize file. Maybe you have quota_rule=*:storage=20G coming from
somewhere else.



signature.asc
Description: This is a digitally signed message part


Re: [Dovecot] Odd/Incorrect Quota Reporting on Dovecot 1.2.4 FreeBSD4

2009-09-09 Thread Timo Sirainen
On Wed, 2009-09-09 at 15:07 +0100, Siraj 'Sid' Rakhada wrote:
 Am seeing an odd problem on an old FreeBSD 4.11 box that I'm trying to
 get courier off, and dovecot on. At the same time, I'm trying to put
 some fairly simple quota support on, but getting very odd results.

My guess is that this code doesn't work correctly in
src/plugins/quota/quota-maildir.c:

if (sscanf(*lines, %lld %d, bytes_diff, count_diff) != 2)
return -1;

You could try if the attached patch fixes it for you.

diff -r b359aac78f92 src/plugins/quota/quota-maildir.c
--- a/src/plugins/quota/quota-maildir.c	Wed Sep 09 00:50:16 2009 -0400
+++ b/src/plugins/quota/quota-maildir.c	Wed Sep 09 17:06:20 2009 -0400
@@ -441,7 +441,7 @@
 {
 	struct quota_root *_root = root-root;
 	uint64_t message_bytes_limit, message_count_limit;
-	long long bytes_diff, total_bytes;
+	long bytes_diff, total_bytes;
 	int count_diff, total_count;
 	unsigned int line_count = 0;
 
@@ -480,7 +480,7 @@
 	/* rest of the lines contains bytes count diffs */
 	total_bytes = 0; total_count = 0;
 	for (lines++; *lines != NULL; lines++, line_count++) {
-		if (sscanf(*lines, %lld %d, bytes_diff, count_diff) != 2)
+		if (sscanf(*lines, %ld %d, bytes_diff, count_diff) != 2)
 			return -1;
 
 		total_bytes += bytes_diff;


signature.asc
Description: This is a digitally signed message part


Re: [Dovecot] New need to delete dovecot-acl-list in dovecot 1.2?

2009-09-09 Thread Timo Sirainen
On Wed, 2009-09-09 at 13:00 -0400, Adam McDougall wrote:
 BTW, yesterday I noticed my dovecot 1.1.11 servers acting like the 
 dovecot-acl
 is recursive in my public folders, much like 1.2 seems to be, but I 
 cannot recall
 1.1.x ever acting that way.  Am I crazy or did it change sometime before 
 1.2?

dovecot-acl isn't recursive in either v1.1 or v1.2. In v1.2 you can have
a default ACL file though. In v1.1 you can I don't think you should
have anything like that..



signature.asc
Description: This is a digitally signed message part