Anand Buddhdev wrote:
But the issue is this:
I have my user accounts in a mysql database. In the quota column, if I store the value '275', Dovecot interprets that as 275 kB, and if Dovecot was the first to create the maildirsize file, it will write '275000S' into the file. Exim on the other hand, will interpret that quota as 275 bytes. Of course, with Exim, I can work all kinds of magic, and append '000' to the value it gets back from the query.
This is nearly the problem which gave me a bloody nose trying to use dovecot lda for the first time a few days ago.
I have my setup in a postgres db and had quota up and running with maildrop or postfix + vda-patch without any problems before. Both of these possibilities are compatible to one another concerning the actual quota values and do it the same way using bytes as your Exim as I understand. So usage of courier/postfix+vda/Exim and for sure some others on the same set of quota data should be no problem at all. All interchangeable. No problems up till now.
Now I tried dovecot lda (using dirsize for starters, because mainly I used postfix+vda which doesn't need courier-style maildirsize-files) and suddenly my users had a quota of 50000 GB storage instead of 50 GB. Not really that funny.
Ok, no problem with postgres. So I set up a new view for dovecot with a suitable division to cut down the numbers for dovecot. Slightly ugly but does the trick.
But then it got really ugly. All accounts with unlimited quota were locked and all mail for them bounced. Surprisingly there is an even more malicious incompatibility to all other programs using quota: dovecot takes values of '0' for quota literally as zero. All the others take it for unlimited quota. Nice surprise. Most definitely not funny.
Sadly, I had to dump dovecot lda after this unpleasant experience till it behaves at least a little bit more like all the others.
Marcus