Re: [Dovecot] Something is strange - perhaps my AMD processors ?

2012-02-15 Thread Patrick Westenberg
On Thu, 16 Feb 2012 02:04:52 +0100, Finn B  
wrote:


Now I come to think of it I realize that my production system is 
intel
based and the 2 new ones are AMD based and wonder if this may be the 
case ?


Dovecot 2.0.3 to 2.0.16 works fine on my DualCore Opterons (VMs).

Patrick


Re: [Dovecot] index synchronization during local delivery

2012-02-15 Thread Timo Sirainen
On 16.2.2012, at 8.25, Andy YB Hu wrote:

> Sounds a little tricky.  For backend server, director makes sense. But for
> LDA, it's also suggested to deploy the LDA on the same machine with backend
> server? Topologically, it's very possible the machine where LDA is running
> is separated from one of backend server.

MTA/Antivirus/Antispam is often in a separate backend server, but it can do the 
actual mail writing by sending the mail to Dovecot via LMTP via director.



Re: [Dovecot] index synchronization during local delivery

2012-02-15 Thread Andy YB Hu

Sounds a little tricky.  For backend server, director makes sense. But for
LDA, it's also suggested to deploy the LDA on the same machine with backend
server? Topologically, it's very possible the machine where LDA is running
is separated from one of backend server.   I will run the similar tests
with pure dovecot LDA, instead of ours to see the result.



   
 Timo Sirainen 
   
 Sent by:   To
 dovecot-bounces@d Dovecot Mailing List
 ovecot.org   
cc
   
 02/16/2012 12:54  Subject
 PMRe: [Dovecot] index synchronization
   during local delivery   
   
 Please respond to 
  Dovecot Mailing  
   List
 
   
   




On 16.2.2012, at 5.59, Andy YB Hu wrote:

> Tried it, found it could trigger NFS issue.
..
> Whether it means the dovecot LDA also needs to run on the same server
with
> the backend server?

Yes, the only 100% safe way is to do all simultaneous mailbox access via
the same backend server.

<><><>

Re: [Dovecot] index synchronization during local delivery

2012-02-15 Thread Timo Sirainen
On 16.2.2012, at 5.59, Andy YB Hu wrote:

> Tried it, found it could trigger NFS issue.
..
> Whether it means the dovecot LDA also needs to run on the same server with
> the backend server?

Yes, the only 100% safe way is to do all simultaneous mailbox access via the 
same backend server.



[Dovecot] Something is strange - perhaps my AMD processors ?

2012-02-15 Thread Finn B
Moi Timo / all.

I've been using Dovecot on my Qmailtoaster production mailserver for
some years - since 1.0.7 and current Version 2.0.10 - works perfectly.

Now I am installing a backupsystem and a VM testsystem (2 boxes) - and
no matter how and what Version I am installing on these 2 boxes I get
below messages whenever I try to test connection with Telnet (localhost
110 / 995).
I have tried to install all Dovecot versions from 2.010 to 2.018 as
rpms, yums and as source and compiled it.

It's on Centos5.7 (64) with Qmailtoaster (which I have installed as I
have done many times before)
I have tried to copy all my settings from my current production system
(Centos 5.7, latest and greatest versions of qmailtoaster and Dovecot
2.0.10) - nothing helps.

Now I come to think of it I realize that my production system is intel
based and the 2 new ones are AMD based and wonder if this may be the case ?



Dovecot.log

master: Error: Service(auth): command startup failed, throttling
log: Error: Service(auth): child 1859 returned error 89 (Fatal failure)
pop3-login: Error: Timeout waiting for handshake from auth server. my
pid=1858, input bytes=0


Regards,
Finn B





Re: [Dovecot] index synchronization during local delivery

2012-02-15 Thread Andy YB Hu

Tried it, found it could trigger NFS issue.

The test is on one machine runs the script to lock the dovecot-uidlist,
moving mail into cur/new, append one line to dovecot-uidlist, and unlock
it.  On another different machine, run one script to SELECT, another script
to COPY. Found the similar issue in
http://dovecot.org/pipermail/dovecot/2012-February/063539.html

Whether it means the dovecot LDA also needs to run on the same server with
the backend server?


   
 Timo Sirainen 
   
 Sent by:   To
 dovecot-bounces@d Dovecot Mailing List
 ovecot.org   
cc
   
 02/15/2012 12:25  Subject
 PMRe: [Dovecot] index synchronization
   during local delivery   
   
 Please respond to 
  Dovecot Mailing  
   List
 
   
   




On 15.2.2012, at 6.13, Andy YB Hu wrote:

> I can generate the UID once I create the uidlist lock, and the UID is
> incremental globally.
>
> Some questions:
> 1, Whether I can  write the mail to tmp/ after creating
> dovecot-uidlist.lock?

Yes, then you'll just keep the lock longer than necessary.

> 2, I did the 5 steps manually, found that new mail is set to OLD flag, so
> that when SELECT command, it told there was no NEW mail.  Looks like need
> to change code in maildir_uidlist_sync_next_uid()?

I guess that means that the mail didn't get a \Recent flag. Wht Dovecot
version is this? Are you saving the mail to new/?

> 3, About the dovecot-uidlist.lock file creation and deletion, I checked
the
> code, there are functions in dovecot like maildir_uidlist_lock_timeout
and
> maildir_uidlist_unlock. If I did that via calling these functions, there
> are lots of extra codes need to call(like auth, mailbox open...).

Yes, way too much work to do that way.

> So the
> question is if I do that in my codes, how to handle the race condition
> correctly? (At least there would be other sessions want to lock the files
> also / already locked it while I want to create the dovecot-uidlist.lock)

It's a typical dotlock file. You can create it with either open(.., O_EXCL)
or creating a temp file and trying to link() it to the .lock file. Or you
can also directly call the file_dotlock_create() in src/lib/file-dotlock.h
<><><>

Re: [Dovecot] [Dovecot 2.1] imap service crash when using some clients

2012-02-15 Thread interfaSys sàrl
Hello,

Here is a more meanigful backtrace. It happens every time I log in,
using any imap client.


*
Core was generated by `imap'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/dovecot/libdovecot-storage.so.0...done.
Loaded symbols for /usr/lib/dovecot/libdovecot-storage.so.0
Reading symbols from /usr/lib/dovecot/libdovecot.so.0...done.
Loaded symbols for /usr/lib/dovecot/libdovecot.so.0
Reading symbols from /lib/libc.so.7...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /usr/lib/librt.so.1...done.
Loaded symbols for /usr/lib/librt.so.1
Reading symbols from /usr/lib/dovecot/lib01_acl_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib01_acl_plugin.so
Reading symbols from /usr/lib/dovecot/lib02_imap_acl_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib02_imap_acl_plugin.so
Reading symbols from /usr/lib/dovecot/lib10_quota_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib10_quota_plugin.so
Reading symbols from /usr/lib/dovecot/lib11_imap_quota_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib11_imap_quota_plugin.so
Reading symbols from /usr/lib/dovecot/lib11_trash_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib11_trash_plugin.so
Reading symbols from /usr/lib/dovecot/lib20_autocreate_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib20_autocreate_plugin.so
Reading symbols from /usr/lib/dovecot/lib20_fts_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib20_fts_plugin.so
Reading symbols from /usr/lib/dovecot/lib20_zlib_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib20_zlib_plugin.so
Reading symbols from /lib/libz.so.5...done.
Loaded symbols for /lib/libz.so.5
Reading symbols from /usr/lib/libbz2.so.4...done.
Loaded symbols for /usr/lib/libbz2.so.4
Reading symbols from /usr/lib/dovecot/lib21_fts_squat_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib21_fts_squat_plugin.so
Reading symbols from /usr/lib/dovecot/lib30_imap_zlib_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib30_imap_zlib_plugin.so
Reading symbols from /usr/lib/dovecot/lib90_antispam_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib90_antispam_plugin.so
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x105e0d88 in imap_match () from
/usr/lib/dovecot/libdovecot.so.0
(gdb) bt full
#0  0x105e0d88 in imap_match () from
/usr/lib/dovecot/libdovecot.so.0
No symbol table info available.
#1  0x104e82e5 in autocreate_iter_autobox.20436.5667 () from
/usr/lib/dovecot/libdovecot-storage.so.0
No symbol table info available.
#2  0x104e6eda in autocreate_iter_next.20443 () from
/usr/lib/dovecot/libdovecot-storage.so.0
No symbol table info available.
#3  0x104dd72e in mailbox_list_iter_next () from
/usr/lib/dovecot/libdovecot-storage.so.0
No symbol table info available.
#4  0x00416351 in list_namespace_mailboxes.7882 (ctx=0x10a3f158)
at cmd-list.c:408
info = (const struct mailbox_info *) 0x10a0f920
ns = (struct mail_namespace *) 0x0
flags = 536870916
str = (struct buffer *) 0x10a04290
mutf7_name = (struct buffer *) 0x10a043e0
name = (const __unknown__ *) 0x10a10040 "INBOX"
ret = 1
#5  0x0041c2ac in cmd_list_continue (cmd=0x10a3f040) at
cmd-list.c:823
_data_stack_cur_id = 4
ctx = (struct cmd_list_context *) 0x10a3f158
ret = 0
#6  0x0041c1d0 in cmd_list_full (cmd=0x10a3f040, lsub=false) at
cmd-list.c:999
client = (struct client *) 0x10a3e840
args = (const struct imap_arg *) 0x10aa4118
list_args = (const struct imap_arg *) 0x10aa4340
arg_count = 1
ctx = (struct cmd_list_context *) 0x10a3f158
patterns = {arr = {buffer = 0x10a3f1a8, element_size = 8}, v =
0x10a3f1a8, v_modifiable = 0x10a3f1a8}
pattern = (const __unknown__ *) 0x10a04268 "INBOX"
patterns_strarr = (const __unknown__ * const *) 0x10a3f1e0
str = (struct buffer *) 0x10a041f0
#7  0x0041bc80 in cmd_list (cmd=0x10a3f040) at cmd-list.c:1014
No locals.
#8  0x00411264 in command_exec (cmd=0x10a3f040) at
imap-commands.c:147
hook = (const struct command_hook *) 0x10a22200
ret = false
#9  0x0040df3c in client_command_input (cmd=0x10a3f040) at
imap-client.c:673
client = (struct client *) 0x10a3e840
command = (struct command *) 0x7fff0001
__FUNCTION__ = "client_command_input"
__FUNCTION__ = "client_command_input"
#10 0x0040de42 in client_handle_next_command (client=0x10a3e840,
remove_io_r=0x7fffea6d) at imap-client.c:740
size = 279029312
#11 0x0040d7b5 in client_handle_input (client=0x10a3e840) at
imap-client.c:777
_data_stack_cur_id = 3
ret = false
remove_io = false
handled_commands = false
__FUNCTION__ = "client_handle_input"
__FUNCTION__ = "client_han

Re: [Dovecot] 2.1b6 imapc sync error

2012-02-15 Thread Metro Domain Admin
On Wed, Feb 15, 2012, at 10:50 PM, Timo Sirainen wrote:
> On 15.2.2012, at 22.48, Metro Domain Admin wrote:
> 
> > On Wed, Feb 15, 2012, at 09:36 PM, Timo Sirainen wrote:
> >> Yes, it's because of "sync". The "Not supported" comes from imapc
> >> backend, because Dovecot tried to do some changes to it that weren't
> >> possible with IMAP protocol (modseq changes probably). I think the
> >> migration still was successful though.
> > 
> > The migration went beautifully otherwise. But are the errors minor
> > enough that I can continue with sync?
> 
> Probably better to continue with "backup" just in case. :)
> 
> > I had the idea that I could sync back to the imapc account, as a
> > fallback option (and, presumably I'd want to preserve the /tmp/imapc
> > directory for this?).
> 
> That's not something that I've tested, and I don't know how well it works
> (if at all).
> 

OK, "backup" it is then. Thanks.


Re: [Dovecot] MySQL server has gone away / dict ? tests done

2012-02-15 Thread Robert Schetterer
Am 15.02.2012 20:10, schrieb Robert Schetterer:
> Am 15.02.2012 19:43, schrieb Timo Sirainen:
>> On 15.2.2012, at 20.22, Robert Schetterer wrote:
>>
>>> sorry for some more question
>>> what is the default behave if dict quota over sql cant be reached
>>> i.e with lmtp
>>>
>>> something like log warning and deliver anyway ?
>>
>> I think it tempfails. Try.
> 
> hm, test servers arent up recently
> cant do it on production
> 
> but i will test before i go try dove 2.1
> and report, @list perhaps anyone other having it tested before?
>>
> 

ok the test server was good enough for small tests
with 2.0.13 dove


private/dovecot-lmtp] said: 451 4.2.0 <@com> Internal error
occurred. Refer to server log for more information.

dict: Error: mysql(localhost2): Connect failed to database (postfix):
Unknown MySQL server host '...' (1) - waiting for 125 seconds before retry

youre right looks like default is tempfail 451

so it stays in postfix  queue
and is permanent retry

after sql comming back , its getting delivered
i.e force with Flush Queue

so thats good enough for me i think
-- 
Best Regards

MfG Robert Schetterer

Germany/Munich/Bavaria


Re: [Dovecot] 2.1b6 imapc sync error

2012-02-15 Thread Timo Sirainen
On 15.2.2012, at 21.30, Metro Domain Admin wrote:

> I received this error at the end of a migration from imapc to mdbox. Is
> it because I wanted doveadm 'sync' instead of 'backup'? I didn't get
> time to do any testing, but since you're pushing for the release, here
> it is:
> 
> kerio2:~ adminuser$ /opt/dovecot/bin/doveadm  -o imapc_user=jsample  -o
> imapc_password=**  -o imapc_host=*.*.*.*  sync -R  -u
> jsample...@mydomain.com  imapc:/tmp/imapc
> dsync(jsample...@mydomain.com): Error: Can't update mailbox
> Archives/2011: Not supported

Yes, it's because of "sync". The "Not supported" comes from imapc backend, 
because Dovecot tried to do some changes to it that weren't possible with IMAP 
protocol (modseq changes probably). I think the migration still was successful 
though.



[Dovecot] 2.1b6 imapc sync error

2012-02-15 Thread Metro Domain Admin

I received this error at the end of a migration from imapc to mdbox. Is
it because I wanted doveadm 'sync' instead of 'backup'? I didn't get
time to do any testing, but since you're pushing for the release, here
it is:

kerio2:~ adminuser$ /opt/dovecot/bin/doveadm  -o imapc_user=jsample  -o
imapc_password=**  -o imapc_host=*.*.*.*  sync -R  -u
jsample...@mydomain.com  imapc:/tmp/imapc
dsync(jsample...@mydomain.com): Error: Can't update mailbox
Archives/2011: Not supported
dsync(jsample...@mydomain.com): Error: Can't update mailbox
Archives/2012: Not supported
dsync(jsample...@mydomain.com): Error: Can't update mailbox INBOX: Not
supported

...etc, for all mailboxes in the account.


This is my userdb entry:

jsample...@mydomain.com:{***}password:502:6:IMAPC RECIPIENT::/bin/false:


kerio2:~ adminuser$ /opt/dovecot/bin/doveconf -n
# 2.1.rc6: /opt/dovecot-2.1.rc6/etc/dovecot/dovecot.conf
# OS: Darwin 9.8.0 Power Macintosh
auth_cache_negative_ttl = 0
auth_cache_size = 1 M
auth_debug = yes
auth_mechanisms = plain login
auth_username_format = %n...@mydomain.com
auth_verbose = yes
disable_plaintext_auth = no
instance_name = dovecot-2.1.rc6
listen = 192.168.20.40
mail_home = /var/mail/%d/%n
mail_location = mdbox:~/mdbox
mail_plugin_dir = /opt/dovecot/lib/dovecot
mail_plugins = fts fts_squat# I know, this is deprecated in 2.1
mail_privileged_group = mail
maildir_very_dirty_syncs = yes
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
special_use = \Drafts
  }
  mailbox Junk {
special_use = \Junk
  }
  mailbox Sent {
special_use = \Sent
  }
  mailbox "Sent Messages" {
special_use = \Sent
  }
  mailbox Trash {
special_use = \Trash
  }
  prefix = 
}
passdb {
  args = scheme=CRYPT username_format=%u /opt/dovecot/etc/dovecot/users
  driver = passwd-file
}
plugin {
  fts = squat
}
postmaster_address = postmas...@mydomain.com
protocols = imap lmtp
service auth {
  unix_listener /var/spool/postfix/private/auth {
group = _postfix
mode = 0660
user = _postfix
  }
  unix_listener auth-userdb {
group = mail
mode = 0660
user = adminuser
  }
}
service imap {
  executable = imap postlogin
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = _postfix
mode = 0666
user = _postfix
  }
}
service postlogin {
  executable = script-login rawlog -t
}
service stats {
  fifo_listener stats-mail {
mode = 00
  }
}
ssl_ca = 

Re: [Dovecot] MySQL server has gone away / dict ?

2012-02-15 Thread Robert Schetterer
Am 15.02.2012 19:43, schrieb Timo Sirainen:
> On 15.2.2012, at 20.22, Robert Schetterer wrote:
> 
>> sorry for some more question
>> what is the default behave if dict quota over sql cant be reached
>> i.e with lmtp
>>
>> something like log warning and deliver anyway ?
> 
> I think it tempfails. Try.

hm, test servers arent up recently
cant do it on production

but i will test before i go try dove 2.1
and report, @list perhaps anyone other having it tested before?
> 

-- 
Best Regards

MfG Robert Schetterer

Germany/Munich/Bavaria


Re: [Dovecot] domain quota in sql

2012-02-15 Thread Adam Szpakowski

On 15.02.2012 14:05, Timo Sirainen wrote:

Is there a way to add domainname as another collumn in dbase? This will
simplify the SQL query and the GROUP BY could be used.

Not currently. Perhaps for v2.2 dict-sql redesign.

It will be great feature.

Well, yeah, it kind of works, but not 100% :) Anyway, why is the rescan
a problem anyway? Does your domain quota value keep breaking? In normal
operation it should work fine.
Domain quota gathering based on config examples works "funny". Its the 
best description I can get (yes, very descriptive ;) ).
There are both entries for users (user@domain) and domains. It is not 
making sense for me, so I'm assuming that its the missing percentage of 
the working part ;)


Tu sum-up the thread. I went for updating periodically the basic quota 
table with missing domain names. Working great.

Thanks all for suggestions.
--
Adam Szpakowski


Re: [Dovecot] Dovecot v2.2 plans

2012-02-15 Thread Timo Sirainen
On 15.2.2012, at 21.02, Mark Moseley wrote:

> Not to beat a dead horse, but the ability to use remote directors
> might be interesting. It'd make moving into a director setup probably
> a bit more easy. Then any server could proxy to the backend servers,
> but without losing the advantage of director-based locality. If a box
> sees one of its own IPs in the director_servers list, then it knows
> it's part of the ring. If it doesn't, then it could contact a randomly
> selected director IP.

It should already be possible to do that, although not automatically based on 
looking at your own IP.. Anyway, non-director servers could simply have the 
passdb return proxy=y host=director-servers, where director-servers expands to 
a round-robin list of director IPs (Dovecot uses the first one).

I guess it would be possible to do this automatically if passdb lookup returns 
proxy=y but no host (means director isn't enabled), but if director_servers is 
non-empty one of the IPs would be randomly chosen. A little kludgy though..



Re: [Dovecot] Dovecot v2.2 plans

2012-02-15 Thread Mark Moseley
On Mon, Feb 13, 2012 at 3:47 AM, Timo Sirainen  wrote:
> Here's a list of things I've been thinking about implementing for Dovecot 
> v2.2. Probably not all of them will make it, but I'm at least interested in 
> working on these if I have time.
>
> Previously I've mostly been working on things that different companies were 
> paying me to work on. This is the first time I have my own company, but the 
> prioritization still works pretty much the same way:
>
>  - 1. priority: If your company is highly interested in getting something 
> implemented, we can do it as a project via my company. This guarantees that 
> you'll get the feature implemented in a way that integrates well into your 
> system.
>  - 2. priority: Companies who have bought Dovecot support contract can let me 
> know what they're interested in getting implemented. It's not a guarantee 
> that it gets implemented, but it does affect my priorities. :)
>  - 3. priority: Things other people want to get implemented.
>
> There are also a lot of other things I have to spend my time on, which are 
> before the 2. priority above. I guess we'll see how things work out.
>

Not to beat a dead horse, but the ability to use remote directors
might be interesting. It'd make moving into a director setup probably
a bit more easy. Then any server could proxy to the backend servers,
but without losing the advantage of director-based locality. If a box
sees one of its own IPs in the director_servers list, then it knows
it's part of the ring. If it doesn't, then it could contact a randomly
selected director IP.


Re: [Dovecot] Dovecot v2.2 plans

2012-02-15 Thread Timo Sirainen
On 15.2.2012, at 20.51, Timo Sirainen wrote:

> The initial version is really about doing all of this with NFS. In NFS setup 
> if two replaced storages

two replicated storages.. ugh.

> are both mounted and the primary storage dies, Dovecot will start using the 
> replica. So that's HA.



Re: [Dovecot] Dovecot v2.2 plans

2012-02-15 Thread Timo Sirainen
On 15.2.2012, at 5.08,   wrote:

> I know you mentioned you would cover this in a coming post, but we were
> curious what the new dsync replication will be capable of.  Would it
> monitor changes to mailboxes and push automatic replication to the remote
> mail store,

Yes.

> and if this is the case could it be an N-way replication setup
> in which any host in a cluster can participate in the replication?

Initially 2-way, but I don't think anything prevents it being N-way.

> Do you consider this to be a high availability solution?


The initial version is really about doing all of this with NFS. In NFS setup if 
two replaced storages are both mounted and the primary storage dies, Dovecot 
will start using the replica. So that's HA.

The other possibility is to run Dovecot in two completely separate data centers 
and replicate through ssh. Here are more possibilities for how to do HA, but 
some of them also have downsides.. dovecot.fi mails are actually done this way, 
and can be accessed from either server at any time. I've been thinking about 
soon making half of my clients use one server and half the other one to see if 
I can find any dsync bugs (I've always 3-4 IMAP clients connected).



Re: [Dovecot] MySQL server has gone away / dict ?

2012-02-15 Thread Timo Sirainen
On 15.2.2012, at 20.22, Robert Schetterer wrote:

> sorry for some more question
> what is the default behave if dict quota over sql cant be reached
> i.e with lmtp
> 
> something like log warning and deliver anyway ?

I think it tempfails. Try.



Re: [Dovecot] MySQL server has gone away / dict ?

2012-02-15 Thread Robert Schetterer
Am 15.02.2012 17:10, schrieb Robert Schetterer:
> Am 15.02.2012 14:07, schrieb Timo Sirainen:
>> On Wed, 2012-02-15 at 09:10 +0100, Robert Schetterer wrote:
>>> Hi Timo,just to make sure
>>> i have an extra
>>> dovecot-dict-quota-sql.conf.ext ( dove 2.0.18 )
>>>
>>> connect = host=192.168.123.150 dbname=.. user=... password=...
>> ..
>>> is it possible to have i.e
>>>
>>> connect = host=192.168.123.150 host=127.0.0.1 dbname=.. user=...
>>> password=...
>>>
>>> there too?
>>
>> Assuming your SQL database is configured to do synchronous multi-master
>> replication, sure.
>>
>>
> jep ,thx Timo
> 
Hi Timo,
sorry for some more question
what is the default behave if dict quota over sql cant be reached
i.e with lmtp

something like log warning and deliver anyway ?

-- 
Best Regards

MfG Robert Schetterer

Germany/Munich/Bavaria


Re: [Dovecot] MySQL server has gone away / dict ?

2012-02-15 Thread Robert Schetterer
Am 15.02.2012 14:07, schrieb Timo Sirainen:
> On Wed, 2012-02-15 at 09:10 +0100, Robert Schetterer wrote:
>> Hi Timo,just to make sure
>> i have an extra
>> dovecot-dict-quota-sql.conf.ext ( dove 2.0.18 )
>>
>> connect = host=192.168.123.150 dbname=.. user=... password=...
> ..
>> is it possible to have i.e
>>
>> connect = host=192.168.123.150 host=127.0.0.1 dbname=.. user=...
>> password=...
>>
>> there too?
> 
> Assuming your SQL database is configured to do synchronous multi-master
> replication, sure.
> 
> 
jep ,thx Timo

-- 
Best Regards

MfG Robert Schetterer

Germany/Munich/Bavaria


Re: [Dovecot] Dovecot-2.0.18 and Dovecot-Pigeonwhole-0.2.6lL

2012-02-15 Thread Ralf Zimmermann
Thanks Thomas and Timo for the fast answer.

Next time I'll read the News file ;-) It' works now.

On 02/15/2012 04:14 PM, Thomas Leuxner wrote:
> On Wed, Feb 15, 2012 at 03:55:28PM +0100, Ralf Zimmermann wrote:
>> If I use Dovecot-2.0.17 and Dovecot-Pigeonwhole-0.2.5 with the same
>> configuration I can define
>>
>>include :personal "vacation.sieve";
>>
>> in my main sieve script. All works fine.
> 
> Changelog v0.2.6:
> 
>  * This release fixes unintentional behavior of the include extension.
>Included script names with a name like "name.sieve" would implicitly
>map to a script file called "name.sieve" and not "name.sieve.sieve".
>Keep in mind that the .sieve file extension has no meaning from
>within the Sieve language. A Sieve script is always stored with an
>appended .sieve file extension, also when the name already ends with
>a .sieve suffix.
> 
> Try:
> 
>   include :personal "vacation";
> 
> Regards
> Thomas

Regards
Ralf


Re: [Dovecot] Dovecot-2.0.18 and Dovecot-Pigeonwhole-0.2.6lL

2012-02-15 Thread Thomas Leuxner
On Wed, Feb 15, 2012 at 03:55:28PM +0100, Ralf Zimmermann wrote:
> If I use Dovecot-2.0.17 and Dovecot-Pigeonwhole-0.2.5 with the same
> configuration I can define
> 
>include :personal "vacation.sieve";
> 
> in my main sieve script. All works fine.

Changelog v0.2.6:

 * This release fixes unintentional behavior of the include extension.
   Included script names with a name like "name.sieve" would implicitly
   map to a script file called "name.sieve" and not "name.sieve.sieve".
   Keep in mind that the .sieve file extension has no meaning from
   within the Sieve language. A Sieve script is always stored with an
   appended .sieve file extension, also when the name already ends with
   a .sieve suffix.

Try:

  include :personal "vacation";

Regards
Thomas


signature.asc
Description: Digital signature


Re: [Dovecot] 2.1.rc5 Cannot delete folders from trash

2012-02-15 Thread Daniel L. Miller

On 2/14/2012 4:42 PM, Willie Gillespie wrote:

On 02/14/2012 01:40 PM, Daniel L. Miller wrote:

On 2/14/2012 12:06 PM, Willie Gillespie wrote:

On 2/13/2012 8:34 PM, Daniel L. Miller wrote:
I'm fighting the same issue. With the current release (2.1rc6) no 
errors

are logged - but I'm having problems deleted folders from trash. I've
enabled tb-extra-mailbox-sep. Two folders that were previously in 
Trash

were successfully removed. I deleted four more - after several
Thunderbird restarts, compacts, refreshes, I have killed three of 
them -

there is still one folder that won't "die". Thunderbird reports the
mailbox doesn't exist, yet it continues to appear.


Out of curiosity -- does the mailbox actually exist if you look on the
Dovecot server?
Secondly, is it listed in your subscription file?


At one time - yes they were. After further playing, they do not exist in
the on-disk folder structure, nor in the subscription file. But still
show in the client - with errors.


Sounds like a Thunderbird bug then.  With Thunderbird shut down, you 
could browse into the profile.
~\.thunderbird or 
C:\Users\name\AppData\Roaming\Thunderbird\whatever\ImapMail\server.name


Find the mailbox that is not supposed to be there and move/delete it.
The filename will usually just be the mailbox name.  A .msf file is 
Thunderbird's index file.  It will create .sbd folders for any 
sub-mailboxes.


I tried going in via squirrelmail - saw no subfolders under trash.  Went 
back in with Thunderbird - all gone.



--
Daniel


Re: [Dovecot] Dovecot-2.0.18 and Dovecot-Pigeonwhole-0.2.6

2012-02-15 Thread Timo Sirainen
On 15.2.2012, at 16.55, Ralf Zimmermann wrote:

> main_script: line 249: error: included personal script 'vacation.sieve'
> does not exist.
..
> If I use Dovecot-2.0.17 and Dovecot-Pigeonwhole-0.2.5 with the same
> configuration I can define
> 
>   include :personal "vacation.sieve";

include :personal "vacation";



[Dovecot] Dovecot-2.0.18 and Dovecot-Pigeonwhole-0.2.6

2012-02-15 Thread Ralf Zimmermann
Hi all,

today I have compiled Dovecot-2.0.18 with Dovecot-Pigeonwhole-0.2.6.

Now I have following Problem with sieve:

%<-
main_script: line 249: error: included personal script 'vacation.sieve'
does not exist.
main_script: error: validation failed.
%<-

I have a definition for 'sieve_dir' and the sieve script
'vacation.sieve' exits in the folder.

# Dovecot Sieve Parameters
plugin {
...
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
}

If I use Dovecot-2.0.17 and Dovecot-Pigeonwhole-0.2.5 with the same
configuration I can define

   include :personal "vacation.sieve";

in my main sieve script. All works fine.

Greets
Ralf


Re: [Dovecot] MySQL server has gone away / dict ?

2012-02-15 Thread Timo Sirainen
On Wed, 2012-02-15 at 09:10 +0100, Robert Schetterer wrote:
> Hi Timo,just to make sure
> i have an extra
> dovecot-dict-quota-sql.conf.ext ( dove 2.0.18 )
> 
> connect = host=192.168.123.150 dbname=.. user=... password=...
..
> is it possible to have i.e
> 
> connect = host=192.168.123.150 host=127.0.0.1 dbname=.. user=...
> password=...
> 
> there too?

Assuming your SQL database is configured to do synchronous multi-master
replication, sure.




Re: [Dovecot] domain quota in sql

2012-02-15 Thread Timo Sirainen
On Wed, 2012-02-15 at 08:26 +0100, Adam Szpakowski wrote:
> On 15.02.2012 02:55, Timo Sirainen wrote:
> > On 15.2.2012, at 3.54, Timo Sirainen wrote:
> >
> >> Domain-quota support in Dovecot is only partial. Recalculating domain 
> >> quota would require more code. Last time when someone asked about this I 
> >> wasn't even sure how it could be implemented, but nowadays it actually 
> >> would be possible to do with:
> > Oh, and you could actually already do this with a doveadm script:
> [cut]
> I'm using something like this, but directly on the dbase level. 
> Unfortunately such operation is quite db intensive, so I'm looking for a 
> simpler solution.

Isn't it basically one table scan? To do UPDATE .. WHERE username = '%
@domain'

> Is there a way to add domainname as another collumn in dbase? This will 
> simplify the SQL query and the GROUP BY could be used.

Not currently. Perhaps for v2.2 dict-sql redesign.

> > Of course it would be nice if Dovecot internally supported this.
> I was under impression, that dovecot does support this. In examples one 
> can see:
> 
> /usr/share/doc/dovecot-core/example-config/conf.d/90-quota.conf
..
> Also on dovecot2 wiki we can see (http://wiki2.dovecot.org/Quota/Dict):

Well, yeah, it kind of works, but not 100% :) Anyway, why is the rescan
a problem anyway? Does your domain quota value keep breaking? In normal
operation it should work fine.



Re: [Dovecot] pop3 not autocreating directory structure

2012-02-15 Thread Timo Sirainen
On Wed, 2012-02-15 at 12:52 +0100, Jan-Frode Myklebust wrote:
> Is it maybe changeset 11683:148fccbe9f32 you remeber:
> 
>   - - maildir: sometimes rm -rf Maildir;imaptest logout=0 gives
>   -   Error: Opening INBOX failed: Mailbox doesn't exist: INBOX

That's probably maildir-specific. But dboxes have had same problems.

> This was just the updated to the todo-list, but I can't see what the fix
> was. Also, if it was just occationally failing, it might not be that
> critical.. So far it's only happended for one user for the last 36
> hours, so either it's only occationally failing, or the other new users
> are visiting webmail/imap before pop.

Yes, it's most likely only temporary and the second login works.




Re: [Dovecot] pop3 not autocreating directory structure

2012-02-15 Thread Jan-Frode Myklebust
On Wed, Feb 15, 2012 at 03:49:21AM +0200, Timo Sirainen wrote:
> > 
> > Looking at the timestamps in the filesystem I see that the users home
> > directory wasn't created before switcing to imap.
> > 
> > Is this a know problem? 
> 
> Probably again a bug in your specific Dovecot version. :) I remember doing 
> fixes related to this (not entirely sure if it was only for v2.1).
> 

Is it maybe changeset 11683:148fccbe9f32 you remeber:

- - maildir: sometimes rm -rf Maildir;imaptest logout=0 gives
-   Error: Opening INBOX failed: Mailbox doesn't exist: INBOX

This was just the updated to the todo-list, but I can't see what the fix
was. Also, if it was just occationally failing, it might not be that
critical.. So far it's only happended for one user for the last 36
hours, so either it's only occationally failing, or the other new users
are visiting webmail/imap before pop.


  -jf


Re: [Dovecot] log message about client_limit may in fact be due to ulimit

2012-02-15 Thread Timo Sirainen
On 15.2.2012, at 10.51, Christoph Bußenius wrote:

>> Do you see some error message also about "Too many open files",
> 
> Ah, now that I grep for it, I see those messages too :)  During one hour, the 
> messages were logged with the following number of occurrences:
> 
> - Twice: dovecot: anvil: Error: net_accept() failed: Too many open files
> - Twice: config: Error: net_accept() failed: Too many open files
> - Twice: ipc: Error: net_accept() failed: Too many open files
> - 43 times: master: Warning: service(ipc): client_limit (10) reached, 
> client connections are being dropped
> - 43 times: master: Warning: service(anvil): client_limit (10) reached, 
> client connections are being dropped

Oh, right. The error message is wrong. There should be a difference between the 
client_limit having actually reached, and an error condition (e.g. out of fds) 
that causes a process to temporarily stop listening for new clients (= setting 
"available client count" to 0, which makes master think it has used up all of 
its clients). I'll fix it to v2.1.1.



Re: [Dovecot] dsync, hard-links and refcounts

2012-02-15 Thread Christoph Bußenius

On 15.02.2012 04:46, Timo Sirainen wrote:

The attached patch fixes it. I'll commit it to v2.1 hg after I'll release 
v2.1.0..


Thanks.  I guess it would be wise to upgrade our new Dovecot mail store 
to 2.1 before we migrate all our Courier maildir users to it...


Cheers,
Chnristoph

--
Christoph Bußenius
Rechnerbetriebsgruppe der Fakultäten Informatik und Mathematik
Technische Universität München
+49 89-289-18519 <> Raum 00.05.055 <> Boltzmannstr. 3 <> Garching


Re: [Dovecot] log message about client_limit may in fact be due to ulimit

2012-02-15 Thread Christoph Bußenius

On 15.02.2012 03:37, Timo Sirainen wrote:

On 15.2.2012, at 4.35, Timo Sirainen wrote:
Oh, this is most likely related because you're not running in high-performance 
login process mode, unlike pretty much everyone else running proxies: 
http://wiki2.dovecot.org/LoginProcess


Since yesterday all our users (2000 active) are being routed over this 
proxy, and we have not experienced any performance problems.  The system 
load is below 0.1 most of the time.  So afaict there is no reason to use 
high-performance mode.


Cheers,
Christoph

--
Christoph Bußenius
Rechnerbetriebsgruppe der Fakultäten Informatik und Mathematik
Technische Universität München
+49 89-289-18519 <> Raum 00.05.055 <> Boltzmannstr. 3 <> Garching


Re: [Dovecot] domain quota in sql

2012-02-15 Thread Przemysław Orzechowski

Hi 
Im not an expert in Dovecot but what prohibits you adding a field to the
table 
Dovecot will not use it thats all 
Im not sure what version of database You are using but postgres,oracle and
never versions of mysql have something called views (could be used to hide
the additional column from dovecot if necessary) and as far as i remember
triggers that could be launched on insert, update to populate that
additional column
Other solution (not sure if applicable for Your needs) is to enable file
system quota without actually setting up any quotas/group quotas (all users
from single domain must belong to same group tho) this allows quick disk
usage check without excess disk io

On Wed, 15 Feb 2012 09:07:04 +0100, Adam Szpakowski  wrote:
> On 15.02.2012 08:47, Robert Schetterer wrote:
>> Hi i am not sure what are trying to goal
>> with domain quota, if you setup your accounts i.e with postfixadmin etc
>> then its up to the gui logic , stopping postmasters to setup more
>> accounts ( with quotas ) as you ( the superadmin ) want.
> My fault, I should add some "big picture" info.
> We are using admin panel based on iRedMail Panel, and want to show quota

> usage on the domain level.
> Quota enforcing is only on user level and this part works nicely.
> What I need is to have in dbase live data which allows me to get quota 
> usage on the domain level to show it in the admin panel.
> The problem is, that this operation must not by db intensive. Getting 
> entire db and the processing it with some script is fine for daily 
> reports but not for "live" view.
> 
> My example with doveadm for quota recalc was only a way to show how the 
> problem can be triggered. We are not using doveadm for this purpose.
> 
>> For everything else user quotas usally are enough
>>
>> thinkable maybe calculation of all users quotas in dict from one domain
>> in a sql postfix query table to stop deliver in more mail, but i dont
>> think this makes real sense
> In future the quota enforcement on domain level could be a nice add-on, 
> but for now it is not so important for us.

-- 
Pozdrawiam,

Przemysław Orzechowski

Administrator Sieci/Network Administrator

e: przemek.orzechow...@makolab.net

t:   +48 42 683 74 96

MakoLab S.A.

ul. Demokratyczna 46, 93-430 Łódź
www.makolab.pl

Spółka zarejestrowana w Krajowym Rejestrze Sądowym przez Sąd Rejonowy
dla Łodzi - Śródmieścia w Łodzi XX Wydział Krajowego Rejestru Sądowego
pod numerem KRS 289179. Wysokość kapitału zakładowego wynosi 707 473
PLN. Kapitał zakładowy został wpłacony w całości. NIP 7250015526, REGON
471343117

Wiadomość ta jest przeznaczona jedynie dla osoby lub podmiotu będącego
jej adresatem i może zawierać poufne lub uprzywilejowane informacje.
Zakazane jest przeglądanie, przesyłanie, rozpowszechnianie lub inne
wykorzystywanie tych informacji, jak również podejmowanie działań na ich
podstawie, przez osoby lub podmioty inne niż zamierzony adresat. Jeśli
otrzymali Państwo tę wiadomość przez pomyłkę, prosimy o poinformowanie
nadawcy i usunięcie jej z komputera.

The information transmitted is intended only for the person or entity to
which it is addressed and may contain confidential or privileged
material. Any review, retransmission, dissemination or other use of, or
taking of any action in reliance upon, this information by persons or
entities other than the intended recipient is prohibited. 
If you received this in error, please notify the sender and delete the
material from your computer.


Re: [Dovecot] log message about client_limit may in fact be due to ulimit

2012-02-15 Thread Christoph Bußenius

Hi,

thank you for the reply.

On 02/15/2012 03:35 AM, Timo Sirainen wrote:

On 14.2.2012, at 17.04, Christoph Bußenius wrote:


our Dovecot proxy started logging about reaching the client_limit once there 
were about 1000 connections running over it:

Feb 14 15:22:02 vmmailproxy1 dovecot: master: Warning: service(anvil): 
client_limit (10) reached, client connections are being dropped
Feb 14 15:22:18 vmmailproxy1 dovecot: master: Warning: service(ipc): 
client_limit (10) reached, client connections are being dropped


This indicate some kind of a connection leak.. There shouldn't be so many 
connections. Each login process is supposed to create only one connection to 
anvil and one connection to ipc. How many open fds do you see in those 
processes currently?


At the moment, there are
  - 1118 imap-login processes,
  - 1136 fds in anvil according to lsof
  - 1123 connections to anvil according to its proctitle
  - 1123 fds in ipc
  -  connections to ipc




I was a bit perplexed because 100.000 is far above 1000.  However we found out 
that in fact the problem was the number of open files, and we have fixed it by 
putting 'ulimit -n 6000' into the init script.


The number of open files is so large, because there are at least 200k fds used 
for connections to anvil and ipc processes.



Do you see some error message also about "Too many open files",


Ah, now that I grep for it, I see those messages too :)  During one 
hour, the messages were logged with the following number of occurrences:


- Twice: dovecot: anvil: Error: net_accept() failed: Too many open files
- Twice: config: Error: net_accept() failed: Too many open files
- Twice: ipc: Error: net_accept() failed: Too many open files
- 43 times: master: Warning: service(ipc): client_limit (10) 
reached, client connections are being dropped
- 43 times: master: Warning: service(anvil): client_limit (10) 
reached, client connections are being dropped


(Dovecot has been restarted once during this hour.)


or why do you think the number of open files was the problem?


The default ulimit for open files is 1024 on this Ubuntu system (I 
should have noted that).  The problems (log messages and "doveadm proxy 
list" error, as described in my last mail) appeared when there were 
about 1000 connections.  I restarted dovecot a couple of times, and each 
time the problems re-appeared at ~1000 connections.  Once I put "ulimit 
-n 6000" in the init script, the problems disappeared.  I am pretty sure 
that this is what fixed everything for us.


Since there have been no log messages about client_limit after we 
increased the ulimit, I think we can assume that the client_limit has 
never been the problem.  This is why I reported the log message.


As the ulimit was 1024 in the beginning, I guess there is no way the 
connections to anvil or ipc could possibly have reached 100.000.  In 
fact, I never saw such a high number in the proctitle.


From my very naive understanding of the source code 
(master/service-monitor.c):


if (service->last_drop_warning +
SERVICE_DROP_WARN_INTERVAL_SECS < ioloop_time) {
service->last_drop_warning = ioloop_time;
limit = service->process_limit > 1 ?
service->process_limit : service->client_limit;
i_warning("service(%s): %s (%u) reached, "
  "client connections are being dropped",
  service->set->name,
  service->process_limit > 1 ?
  "process_limit" : "client_limit", limit);
}

The actual number of open connections is not explicitly compared against 
client_limit before the warning.  Maybe this leads to wrong numbers in 
the warning?  (This part of the code looks similar in hg 2.0 and 2.1., 
though I have only used 2.0.18.)




  The "doveadm proxy list" would fail with an error message:

$ sudo doveadm proxy list
doveadm(root): Error: LIST failed: Disconnected
Segmentation fault

The segfault did not happen every time I tried it.  I'm sorry I don't have any 
core dumps or backtraces, because I was more concerned about putting the proxy 
into a sane state.  Maybe I can reproduce this on a test server if you would 
like a back trace.


http://hg.dovecot.org/dovecot-2.0/rev/c402fb407501 fixes the crash I think.


Thanks… however I am afraid I have not been able to reproduce the 
segfault since yesterday.


Cheers,
Christoph


Re: [Dovecot] domain quota in sql

2012-02-15 Thread Adam Szpakowski

On 15.02.2012 09:19, Robert Schetterer wrote:

as workaround it should be possible to calculate filllevel
by domain with some bash script and cron sending  an info mail to you
might be not exact, but enough to see whats going on ( depends on your
real domain/mailbox setup...maildir etc)

[cut]
I'm affraid that this is not a viable option. It should be done quite 
often to achieve "live data" feel and the amount of I/O to do so on 
storage/filesystem level is staggering.


Good enough solution will be to have an additional column in db table 
with domain for each quota record. This will allow us to do something 
like this:


SELECT domain, sum(bytes) as sum_bytes, sum(messages) as sum_messages 
FROM used_quota GROUP BY domain


The missing domain info can be updated regularly via some cron script. 
This could be a workable solution.


--
Adam Szpakowski



Re: [Dovecot] domain quota in sql

2012-02-15 Thread Robert Schetterer
Am 15.02.2012 09:07, schrieb Adam Szpakowski:
> On 15.02.2012 08:47, Robert Schetterer wrote:
>> Hi i am not sure what are trying to goal
>> with domain quota, if you setup your accounts i.e with postfixadmin etc
>> then its up to the gui logic , stopping postmasters to setup more
>> accounts ( with quotas ) as you ( the superadmin ) want.
> My fault, I should add some "big picture" info.
> We are using admin panel based on iRedMail Panel, and want to show quota
> usage on the domain level.
> Quota enforcing is only on user level and this part works nicely.
> What I need is to have in dbase live data which allows me to get quota
> usage on the domain level to show it in the admin panel.
> The problem is, that this operation must not by db intensive. Getting
> entire db and the processing it with some script is fine for daily
> reports but not for "live" view.

as workaround it should be possible to calculate filllevel
by domain with some bash script and cron sending  an info mail to you
might be not exact, but enough to see whats going on ( depends on your
real domain/mailbox setup...maildir etc)

i.e like
du -sch schetterer.org/
1,7Gschetterer.org/

or

du -sch schetterer.org/*
24K schetterer.org/@schetterer.org
431Mschetterer.org/...@schetterer.org
1,3Gschetterer.org/@schetterer.org
1,7Gsum

perhaps  the same works with getting it out from sql


> 
> My example with doveadm for quota recalc was only a way to show how the
> problem can be triggered. We are not using doveadm for this purpose.
> 
>> For everything else user quotas usally are enough
>>
>> thinkable maybe calculation of all users quotas in dict from one domain
>> in a sql postfix query table to stop deliver in more mail, but i dont
>> think this makes real sense
> In future the quota enforcement on domain level could be a nice add-on,
> but for now it is not so important for us.
> 


-- 
Best Regards

MfG Robert Schetterer

Germany/Munich/Bavaria


Re: [Dovecot] MySQL server has gone away / dict ?

2012-02-15 Thread Robert Schetterer
Am 28.01.2012 22:06, schrieb Robert Schetterer:
> Am 28.01.2012 21:07, schrieb Timo Sirainen:
>> On 13.1.2012, at 20.29, Mark Moseley wrote:
>>
>>> If there are multiple hosts, it seems like the most robust thing to do
>>> would be to exhaust the existing connections and if none of those
>>> succeed, then start a new connection to one of them. It will probably
>>> result in much more convoluted logic but it'd probably match better
>>> what people expect from a retry.
>>
>> Done: http://hg.dovecot.org/dovecot-2.0/rev/4e7676b890f1
>>
> 
> Hi Timo
> 
> doc/example-config/dovecot-sql.conf.ext
> from hg
> has something like
> 
> # Database connection string. This is driver-specific setting.
> # HA / round-robin load-balancing is supported by giving multiple host
> # settings, like: host=sql1.host.org host=sql2.host.org
> 
> but i dont find it in
> http://wiki2.dovecot.org/AuthDatabase/SQL
> 
> 

Hi Timo,just to make sure
i have an extra
dovecot-dict-quota-sql.conf.ext ( dove 2.0.18 )

connect = host=192.168.123.150 dbname=.. user=... password=...


map {
  pattern = priv/quota/storage
  table = quota2
  username_field = username
  value_field = bytes
}
map {
  pattern = priv/quota/messages
  table = quota2
  username_field = username
  value_field = messages
}

is it possible to have i.e

connect = host=192.168.123.150 host=127.0.0.1 dbname=.. user=...
password=...

there too?

-- 
Best Regards

MfG Robert Schetterer

Germany/Munich/Bavaria


Re: [Dovecot] domain quota in sql

2012-02-15 Thread Adam Szpakowski

On 15.02.2012 08:47, Robert Schetterer wrote:

Hi i am not sure what are trying to goal
with domain quota, if you setup your accounts i.e with postfixadmin etc
then its up to the gui logic , stopping postmasters to setup more
accounts ( with quotas ) as you ( the superadmin ) want.

My fault, I should add some "big picture" info.
We are using admin panel based on iRedMail Panel, and want to show quota 
usage on the domain level.

Quota enforcing is only on user level and this part works nicely.
What I need is to have in dbase live data which allows me to get quota 
usage on the domain level to show it in the admin panel.
The problem is, that this operation must not by db intensive. Getting 
entire db and the processing it with some script is fine for daily 
reports but not for "live" view.


My example with doveadm for quota recalc was only a way to show how the 
problem can be triggered. We are not using doveadm for this purpose.



For everything else user quotas usally are enough

thinkable maybe calculation of all users quotas in dict from one domain
in a sql postfix query table to stop deliver in more mail, but i dont
think this makes real sense
In future the quota enforcement on domain level could be a nice add-on, 
but for now it is not so important for us.


--
Adam Szpakowski