Re: Dovecot/doveadm quota

2020-02-12 Thread Martynas Bendorius
In webhosting customers usually see their physical disk usage used (quota on 
filesystem), and it causes a lot of confusion when numbers don't match with 
doveadm quota at all.

What's your opinion on these:
1) Should indexes (including FTS indexes stored in Maildir) be counted in the 
mail quota?
2) Shouldn't doveadm quota have a flag for real disk usage, so that if emails 
are compressed, their real size would be quoted?
3) Shouldn't dovecot rely on st_blocks instead of fstat's st_size? (a benefit 
for this: in this case converted maildir files without S=... would still be 
counted into the space used)

A short yes/no to 1, 2, 3 would be appreciated.

Thank you!

--
Best regards,
Martynas Bendorius


> On 2020-02-12, at 14:21, Aki Tuomi  wrote:
> 
> I think that most admins do not really care about physical disk usage as
> long as it's not exceeded, and most service providers prefer calculating
> quota against apparent usage instead of real usage, so they can charge
> you for that.
> 
> Aki
> 
> On 8.2.2020 18.16, Martynas Bendorius wrote:
>> Doesn't it currently confuse them? Because they'd reach their quota, while 
>> actually there would be a lot of disk space left :) + their whole mailbox 
>> could take a lot more space due to indexes and other files in the 
>> filesystem, and quota would not be reached.
>> 
>> Also, I've dovecot is using fstat's st_size parameter. This is not 
>> "correct", in that the actual space used on disk is always higher.
>> 
>> If we count the number of 512B blocks used (st_blocks), and multiply by 512 
>> to get the true disk usage.
>> 
>> I'll be looking forward for your feedback/ideas.
>> 
>> Thank you!
>> 
>> --
>> Best regards,
>> Martynas Bendorius
>> 
>> 
>>> On 2020-02-08, at 17:57, Max Kostikov  wrote:
>>> 
>>> I think these changes will confuse users because calculated quota wouldn't 
>>> be equals with total messages sizes.
>>> 
>>> Marsistynas Bendorius писал 2020-02-07 11:07:
 Is there any reason why dovecot relies on S= instead of real disk size
 email takes?
 1) compressed mails take less than than the S= specified
 2) we could avoid using "S=" for the lookups and count every file
 there, including indexes and mails without S=... if we'd read
 filesizes
>>> 
>>> -- 
>>> With best regards,
>>> Max Kostikov
>>> 
>>> W: https://kostikov.co | DeltaChat: m...@eprove.net



Re: Dovecot/doveadm quota

2020-02-12 Thread Aki Tuomi
I think that most admins do not really care about physical disk usage as
long as it's not exceeded, and most service providers prefer calculating
quota against apparent usage instead of real usage, so they can charge
you for that.

Aki

On 8.2.2020 18.16, Martynas Bendorius wrote:
> Doesn't it currently confuse them? Because they'd reach their quota, while 
> actually there would be a lot of disk space left :) + their whole mailbox 
> could take a lot more space due to indexes and other files in the filesystem, 
> and quota would not be reached.
>
> Also, I've dovecot is using fstat's st_size parameter. This is not "correct", 
> in that the actual space used on disk is always higher.
>
> If we count the number of 512B blocks used (st_blocks), and multiply by 512 
> to get the true disk usage.
>
> I'll be looking forward for your feedback/ideas.
>
> Thank you!
>
> --
> Best regards,
> Martynas Bendorius
>
>
>> On 2020-02-08, at 17:57, Max Kostikov  wrote:
>>
>> I think these changes will confuse users because calculated quota wouldn't 
>> be equals with total messages sizes.
>>
>> Marsistynas Bendorius писал 2020-02-07 11:07:
>>> Is there any reason why dovecot relies on S= instead of real disk size
>>> email takes?
>>> 1) compressed mails take less than than the S= specified
>>> 2) we could avoid using "S=" for the lookups and count every file
>>> there, including indexes and mails without S=... if we'd read
>>> filesizes
>>
>> -- 
>> With best regards,
>> Max Kostikov
>>
>> W: https://kostikov.co | DeltaChat: m...@eprove.net


Re: Dovecot/doveadm quota

2020-02-08 Thread Martynas Bendorius
Doesn't it currently confuse them? Because they'd reach their quota, while 
actually there would be a lot of disk space left :) + their whole mailbox could 
take a lot more space due to indexes and other files in the filesystem, and 
quota would not be reached.

Also, I've dovecot is using fstat's st_size parameter. This is not "correct", 
in that the actual space used on disk is always higher.

If we count the number of 512B blocks used (st_blocks), and multiply by 512 to 
get the true disk usage.

I'll be looking forward for your feedback/ideas.

Thank you!

--
Best regards,
Martynas Bendorius


> On 2020-02-08, at 17:57, Max Kostikov  wrote:
> 
> I think these changes will confuse users because calculated quota wouldn't be 
> equals with total messages sizes.
> 
> Marsistynas Bendorius писал 2020-02-07 11:07:
>> Is there any reason why dovecot relies on S= instead of real disk size
>> email takes?
>> 1) compressed mails take less than than the S= specified
>> 2) we could avoid using "S=" for the lookups and count every file
>> there, including indexes and mails without S=... if we'd read
>> filesizes
> 
> 
> -- 
> With best regards,
> Max Kostikov
> 
> W: https://kostikov.co | DeltaChat: m...@eprove.net



Re: Dovecot/doveadm quota

2020-02-08 Thread Max Kostikov
I think these changes will confuse users because calculated quota 
wouldn't be equals with total messages sizes.


Marsistynas Bendorius писал 2020-02-07 11:07:

Is there any reason why dovecot relies on S= instead of real disk size
email takes?

1) compressed mails take less than than the S= specified
2) we could avoid using "S=" for the lookups and count every file
there, including indexes and mails without S=... if we'd read
filesizes



--
With best regards,
Max Kostikov

W: https://kostikov.co | DeltaChat: m...@eprove.net


signature.asc
Description: OpenPGP digital signature


Re: [Dovecot] doveadm quota get -A via doveadm-proxy director with LDAP

2012-11-10 Thread Ramón Frontera

Hi,

I think that the problem is different to 
http://dovecot.org/list/dovecot/2012-October/069100.html


The command don't print anything in backend mail server dovecot.log.
If I do  doveadm -D quota get -u user1 on proxy it works! the backend 
mail server responds to proxy.


If I do:
doveadm -D search -A  mailbox Trash savedbefore 10d I have this result:

doveadm(root): Debug: Loading modules from directory: /usr/lib64/dovecot
doveadm(root): Debug: Module loaded: 
/usr/lib64/dovecot/lib10_quota_plugin.so
doveadm(root): Debug: Module loaded: 
/usr/lib64/dovecot/lib20_expire_plugin.so
doveadm(root): Debug: Loading modules from directory: 
/usr/lib64/dovecot/doveadm
doveadm(root): Debug: Skipping module doveadm_acl_plugin, because 
dlopen() failed: /usr/lib64/dovecot/doveadm/lib10_doveadm_acl_plugin.so: 
undefined symbol: acl_user_module (this is usually intentional, so just 
ignore this message)
doveadm(root): Debug: Module loaded: 
/usr/lib64/dovecot/doveadm/lib10_doveadm_expire_plugin.so
doveadm(root): Debug: Module loaded: 
/usr/lib64/dovecot/doveadm/lib10_doveadm_quota_plugin.so
doveadm(root): Debug: Skipping module doveadm_zlib_plugin, because 
dlopen() failed: 
/usr/lib64/dovecot/doveadm/lib10_doveadm_zlib_plugin.so: undefined 
symbol: i_stream_create_deflate (this is usually intentional, so just 
ignore this message)
doveadm(root): Debug: Skipping module doveadm_fts_plugin, because 
dlopen() failed: /usr/lib64/dovecot/doveadm/lib20_doveadm_fts_plugin.so: 
undefined symbol: fts_list_backend (this is usually intentional, so just 
ignore this message)

doveadm(root): Debug: expire: Searching only users listed in expire database
doveadm(rfg144): Error: Proxy is missing destination host

doveadm: Error: Failed to iterate through some users

and When I try to do this:
 doveadm -D search -u user1  mailbox Trash savedbefore 1d
I find this in the log:
Nov 10 16:36:01 mail2 dovecot: doveadm: Debug: expire: Searching only 
users listed in expire database
Nov 10 16:36:01 mail2 dovecot: doveadm: Fatal: master: service(doveadm): 
child 3116 killed with signal 11 (core dumped)


Thanks for your help!

--
  Ramon Frontera Gallardo
  Universitat de les Illes Balears

El 10/11/2012 2:04, Daniel Parthey escribió:

Ramon Frontera wrote:

We are running Dovecot 2.1.10
I want configure dovecot to do execute doveadm commands on the proxy server.
We have 1 proxy with director and 2 mail servers. we use LDAP
when I try to do doveadm quota get -u user it works fine.
The problem is when I try to do doveadm quota get -A ON PROXY

I have this result:
doveadm(first_user): Error: Proxy is missing destination host
doveadm: Error: Failed to iterate through some users

Sounds similar to the doveadm director problem described in this thread:
http://dovecot.org/list/dovecot/2012-October/069100.html

What do you see in your backend mail server dovecot.log?

Regards
Daniel




Re: [Dovecot] doveadm quota get -A via doveadm-proxy director with LDAP

2012-11-09 Thread Daniel Parthey
Ramon Frontera wrote:
 We are running Dovecot 2.1.10
 I want configure dovecot to do execute doveadm commands on the proxy server.
 We have 1 proxy with director and 2 mail servers. we use LDAP
 when I try to do doveadm quota get -u user it works fine.
 The problem is when I try to do doveadm quota get -A ON PROXY
 
 I have this result:
 doveadm(first_user): Error: Proxy is missing destination host
 doveadm: Error: Failed to iterate through some users

Sounds similar to the doveadm director problem described in this thread:
http://dovecot.org/list/dovecot/2012-October/069100.html

What do you see in your backend mail server dovecot.log?

Regards
Daniel
-- 
https://plus.google.com/103021802792276734820


Re: [Dovecot] doveadm quota does not list all accounts

2011-12-20 Thread Nikolaos Milas

On 20/12/2011 7:41 πμ, Timo Sirainen wrote:


Can you try if changing it back helps? Or by running the same LDAP query using 
ldapsearch. Is there a reason why you changed the scope? (I'm not entirely sure 
what the LDAP schemes usually look like..)


Hi Timo,

The same query, using ldapsearch (with the same binddn, same scope, same 
filter) returns 247 entries. The command is (all searches are against 
localhost - it's a local replication slave [openldap syncrepl consumer]):


/usr/local/openldap/bin/ldapsearch -x -W -vv -D 
uid=authenticate,ou=System,dc=noa,dc=gr -s one -b 
ou=people,dc=example,dc=com uid


doveadm user '*' and doveadm quota get -A both return the same 30 
entries. I noticed that most of them are the LDAP user entries most 
recently updated in the LDAP Server (although it doesn't make any sense 
to me why it so happens).


I changed the scope in the search because my 
ou=people,dc=example,dc=com branch has some new sub-branches which 
contain user accounts not related with mailboxes and I didn't want them 
to be returned by the Dovecot search (they were useless).


I only now tried changing the scope back to subtree and again to 
onelevel and found that nothing changes (again 30 entries are returned).


For reference: /etc/dovecot/dovecot-userdb-ldap.conf (identical to 
dovecot-passdb-ldap.conf):


hosts = localhost
tls = no
base = ou=people, dc=example, dc=com
scope = onelevel
ldap_version = 3
dn = uid=authenticate,ou=System,dc=example,dc=com
dnpass = secret
auth_bind = yes
user_filter = (uid=%u)
pass_filter = (uid=%u)
pass_attrs = uid=user,userPassword=password
auth_bind_userdn = uid=%u,ou=people,dc=example,dc=com
user_attrs = roomNumber=quota_rule=*:bytes=%$,uid=home=/home/vmail/%u

I have not managed yet to upgrade to 2.0.16 to see what happens...

Thank you for your assistance,
Nick



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Dovecot] doveadm quota does not list all accounts

2011-12-20 Thread Nikolaos Milas
I resend, because I forgot to change the true domain once and the 
previous message would appear to include inconsistencies...


Sorry for this...

On 20/12/2011 7:41 πμ, Timo Sirainen wrote:


Can you try if changing it back helps? Or by running the same LDAP query using 
ldapsearch. Is there a reason why you changed the scope? (I'm not entirely sure 
what the LDAP schemes usually look like..)


Hi Timo,

The same query, using ldapsearch (with the same binddn, same scope, same 
filter) returns 247 entries. The command is (all searches are against 
localhost - it's a local replication slave [openldap syncrepl consumer]):


/usr/local/openldap/bin/ldapsearch -x -W -vv -D 
uid=authenticate,ou=System,dc=example,dc=com -s one -b 
ou=people,dc=example,dc=com uid


doveadm user '*' and doveadm quota get -A both return the same 30 
entries. I noticed that most of them are the LDAP user entries most 
recently updated in the LDAP Server (although it doesn't make any sense 
to me why it so happens).


I changed the scope in the search because my 
ou=people,dc=example,dc=com branch has some new sub-branches which 
contain user accounts not related with mailboxes and I didn't want them 
to be returned by the Dovecot search (they were useless).


I only now tried changing the scope back to subtree and again to 
onelevel and found that nothing changes (again 30 entries are returned).


For reference: /etc/dovecot/dovecot-userdb-ldap.conf (identical to 
dovecot-passdb-ldap.conf):


hosts = localhost
tls = no
base = ou=people, dc=example, dc=com
scope = onelevel
ldap_version = 3
dn = uid=authenticate,ou=System,dc=example,dc=com
dnpass = secret
auth_bind = yes
user_filter = (uid=%u)
pass_filter = (uid=%u)
pass_attrs = uid=user,userPassword=password
auth_bind_userdn = uid=%u,ou=people,dc=example,dc=com
user_attrs = roomNumber=quota_rule=*:bytes=%$,uid=home=/home/vmail/%u

I have not managed yet to upgrade to 2.0.16 to see what happens...

Thank you for your assistance,
Nick



Re: [Dovecot] doveadm quota does not list all accounts

2011-12-20 Thread Timo Sirainen
On Tue, 2011-12-20 at 10:10 +0200, Nikolaos Milas wrote:
 On 20/12/2011 7:41 πμ, Timo Sirainen wrote:
 
  Can you try if changing it back helps? Or by running the same LDAP query 
  using ldapsearch. Is there a reason why you changed the scope? (I'm not 
  entirely sure what the LDAP schemes usually look like..)
 
 The same query, using ldapsearch (with the same binddn, same scope, same 
 filter) returns 247 entries. The command is (all searches are against 
 localhost - it's a local replication slave [openldap syncrepl consumer]):
 
 /usr/local/openldap/bin/ldapsearch -x -W -vv -D 
 uid=authenticate,ou=System,dc=noa,dc=gr -s one -b 
 ou=people,dc=example,dc=com uid
 
 doveadm user '*' and doveadm quota get -A both return the same 30 
 entries. I noticed that most of them are the LDAP user entries most 
 recently updated in the LDAP Server (although it doesn't make any sense 
 to me why it so happens).

Try adding (objectClass=posixAccount) as filter in the ldapsearch.
That's the default iterate_filter.



Re: [Dovecot] doveadm quota does not list all accounts

2011-12-20 Thread Nikolaos Milas

On 20/12/2011 10:15 πμ, Timo Sirainen wrote:


Try adding (objectClass=posixAccount) as filter in the ldapsearch.
That's the default iterate_filter.


We've caught it! Only the returned (30) accounts include the 
posixAccount objectClass!


So I added in the LDAP setup:

   iterate_filter = (objectClass=*)

and now everything works fine!

Perhaps page: http://wiki2.dovecot.org/Tools/Doveadm/Altmove should 
explicitly state which is the default iterate_filter value, because in 
most LDAP applications (objectClass=*) is the default filter.


Thanks very much Timo.

All the best,
Nick



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Dovecot] doveadm quota does not list all accounts

2011-12-20 Thread Timo Sirainen
On Tue, 2011-12-20 at 10:47 +0200, Nikolaos Milas wrote:
 On 20/12/2011 10:15 πμ, Timo Sirainen wrote:
 
  Try adding (objectClass=posixAccount) as filter in the ldapsearch.
  That's the default iterate_filter.
 
 We've caught it! Only the returned (30) accounts include the 
 posixAccount objectClass!
 
 So I added in the LDAP setup:
 
 iterate_filter = (objectClass=*)
 
 and now everything works fine!

Isn't that basically the same as an empty filter? What other types of
objectClasses are there with user accounts? Perhaps the default should
be changed to empty, or maybe to (uid=*)




Re: [Dovecot] doveadm quota does not list all accounts

2011-12-20 Thread Nikolaos Milas

On 20/12/2011 10:57 πμ, Timo Sirainen wrote:


On Tue, 2011-12-20 at 10:47 +0200, Nikolaos Milas wrote:

So I added in the LDAP setup:

 iterate_filter = (objectClass=*)

and now everything works fine!

Isn't that basically the same as an empty filter? What other types of
objectClasses are there with user accounts? Perhaps the default should
be changed to empty, or maybe to (uid=*)



I agree that the default should be changed to empty.

There are various ObjectClasses available.

For example, for normal user accounts (physical persons) the main 
objectClass we use is inetOrgPerson (with its parents: 
organizationalPerson, person) and for other, non-personal accounts we 
use objectClass: account.


posixAccount objectClass is added to particular accounts when we want to 
assign further access privileges, mainly shell and FTP.


Best regards,
Nick



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Dovecot] doveadm quota does not list all accounts

2011-12-20 Thread Timo Sirainen
On Tue, 2011-12-20 at 12:06 +0200, Nikolaos Milas wrote:

  Isn't that basically the same as an empty filter? What other types of
  objectClasses are there with user accounts? Perhaps the default should
  be changed to empty, or maybe to (uid=*)
 
 
 I agree that the default should be changed to empty.

But that also returns non-user results, like at least in my test setup
it returns an organization and admin.

 There are various ObjectClasses available.
 
 For example, for normal user accounts (physical persons) the main 
 objectClass we use is inetOrgPerson (with its parents: 
 organizationalPerson, person) and for other, non-personal accounts we 
 use objectClass: account.

So you can have Dovecot accounts that aren't persons?

Perhaps: iterate_filter = (uid=*)



Re: [Dovecot] doveadm quota does not list all accounts

2011-12-20 Thread Timo Sirainen
On Tue, 2011-12-20 at 12:13 +0200, Timo Sirainen wrote:

  I agree that the default should be changed to empty.
 
 But that also returns non-user results, like at least in my test setup
 it returns an organization and admin.
..
 Perhaps: iterate_filter = (uid=*)

Actually, the current default iterate_filter is fine, if you look at the
default pass/user filters:

#user_filter = ((objectClass=posixAccount)(uid=%u))
#pass_filter = ((objectClass=posixAccount)(uid=%u))




Re: [Dovecot] doveadm quota does not list all accounts

2011-12-20 Thread Nikolaos Milas

On 20/12/2011 10:57 πμ, Timo Sirainen wrote:


On Tue, 2011-12-20 at 10:47 +0200, Nikolaos Milas wrote:

So I added in the LDAP setup:

 iterate_filter = (objectClass=*)

and now everything works fine!

Isn't that basically the same as an empty filter?


And I forgot to answer: Yes, (objectClass=*) is the same as an empty 
filter.


An empty filter defaults to: (objectClass=*)

Nick


Re: [Dovecot] doveadm quota does not list all accounts

2011-12-20 Thread Nikolaos Milas

On 20/12/2011 12:15 μμ, Timo Sirainen wrote:


  Perhaps: iterate_filter = (uid=*)

Actually, the current default iterate_filter is fine, if you look at the
default pass/user filters:

#user_filter = ((objectClass=posixAccount)(uid=%u))
#pass_filter = ((objectClass=posixAccount)(uid=%u))


This means that default values for all these settings are compatible. I 
would say that it would be enough to explicitly state the default value 
for iterate_filter in the documentation.


I guess the filter uid=* might probably also return all entries, because 
in many cases uid is part of the DN, so it is included in all entries. 
But this is not always the case.


Nick




Re: [Dovecot] doveadm quota does not list all accounts

2011-12-19 Thread Timo Sirainen
On 16.12.2011, at 0.00, Nikolaos Milas wrote:

 I am running dovecot-2.0.13-1_128.el5 x86_64 RPM on CentOS 5.7.
 
 All accounts are virtual, hosted on LDAP Server.
 
 My problem is that the command:
 
   doveadm quota get -A
 
 stopped listing all accounts. I think this problem started after I changed in 
 LDAP lookup configuration from scope = subtree to scope = onelevel, 
 because it did not occur before (I did no other changes).

Can you try if changing it back helps? Or by running the same LDAP query using 
ldapsearch. Is there a reason why you changed the scope? (I'm not entirely sure 
what the LDAP schemes usually look like..)

Also to make sure the problem is listing instead of something quota related, 
list the users:

doveadm user '*'



Re: [Dovecot] doveadm quota does not list all accounts

2011-12-15 Thread ml

Le 2011-12-15 23:00, Nikolaos Milas a écrit :

Hello,

I am running dovecot-2.0.13-1_128.el5 x86_64 RPM on CentOS 5.7.

All accounts are virtual, hosted on LDAP Server.

My problem is that the command:

   doveadm quota get -A

stopped listing all accounts. I think this problem started after I
changed in LDAP lookup configuration from scope = subtree to scope
= onelevel, because it did not occur before (I did no other 
changes).


Now, the above command only lists 12 accounts. If I query for a
particular user:

   doveadm quota get -u userx

this works fine, but userx (and all users except those 12) is NOT
listed when trying to display all users.

How can I run the above command without problems again?

Thanks in advance,
Nick



upgrade to the latest rpm
i any problem with the last release
--
 http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0x092164A7
 gpg --keyserver pgp.mit.edu --recv-key 092164A7

 http://urlshort.eu fakessh @
 http://gplus.to/sshfake
 http://gplus.to/sshswilting
 http://gplus.to/john.swilting


Re: [Dovecot] 'doveadm quota get' dictionary SQL query ignores specified '@domain' part of username. bad config or bug?

2011-10-19 Thread Rich
I've made some progress, but quota 'Limit' is still not fully
functioning for me.

A couple of changes have helped:

Specifying a %u% as username format,

/etc/dovecot/conf.d/90-quota.conf
plugin {
-   quota = dict:User Quota::proxy::quota
+   quota = dict:User Quota:%u:proxy::quota
quota_rule = *:bytes=1073741824:messages=1
quota_rule2 = Trash:storage=+10%%
}

using 'username' rather than 'user' in the user iteration query

/etc/dovecot/sql/virtmail-userdb-sql.cf
driver = mysql
connect = host=/var/run/mysql/mysql.sock dbname=my_db 
user=my_user
password=my_pass
user_query = CALL UserDBQuery('%n','%d');
-   iterate_query = SELECT `MAILBOX_user_domain` AS user FROM 
`PARAMS`;
+   iterate_query = SELECT `MAILBOX_user_domain` AS username FROM 
`PARAMS`;

and adding to my user_query,

CREATE PROCEDURE `UserDBQuery`(
...
SELECT ...
  concat('*:bytes=', quota_bytes, ':messages=1') AS 
quota_rule,
  ...

Now, at init,

doveadm quota get -A
UsernameQuota name  TypeValue   
Limit   %
myu...@domain1.com  User quota  STORAGE 0   
0   0
myu...@domain1.com  User quota  MESSAGE 0   
1   0
myu...@domain2.com  User quota  STORAGE 0   
0   0
myu...@domain2.com  User quota  MESSAGE 0   
1   0

mysql select * from PARAMS;
++++-+
| ai | MAILBOX_user_domain| quota_bytes | quota_msgs |
+++-++
|  1 |  myu...@domain1.com|   0 |  0 |
|  2 |  myu...@domain2.com|   0 |  0 |
++++-+
2 rows in set (0.00 sec)

and, after sending a single message to 'myu...@domain1.com', I do see
that Dovecot now recognizes/calculates a quota change, and only for
one domain,

doveadm quota get -A
UsernameQuota name  TypeValue   
Limit   %
myu...@domain1.com  User quota  STORAGE 3   
3   100
myu...@domain1.com  User quota  MESSAGE 1   
1   0
myu...@domain2.com  User quota  STORAGE 0   
0   0
myu...@domain2.com  User quota  MESSAGE 0   
1   0

mysql select * from PARAMS;
++++-+
| ai | MAILBOX_user_domain| quota_bytes | quota_msgs |
+++-++
|  1 |  myu...@domain1.com|3269 |  1 |
|  2 |  myu...@domain2.com|   0 |  0 |
++++-+
2 rows in set (0.00 sec)


But, the Limit's wrong.  It's not picking up the global Limit from

/etc/dovecot/conf.d/90-quota.conf
...
-- quota_rule = *:bytes=1073741824:messages=1
...

and once a message quota Value is calculated, the Limit is set ==
Value, resulting in an incorrrect quota %-age of 100%.

Is Limit supposed to be specified per-user?

Rich


Re: [Dovecot] doveadm quota get -u segmentation fault

2010-12-30 Thread Timo Sirainen
On Fri, 2010-12-24 at 14:16 +0300, subscri...@viliar.net.ru wrote:

 I get segfault error with doveadm quota get -u user

Fixed the crash by having it give error message instead:
http://hg.dovecot.org/dovecot-2.0/rev/a293626e09e2

Then fix your config:

 plugin {

 quota = maildir

   autocreate2 = virus
   autocreate3 = spam
   sieve = ~/.dovecot.sieve
   sieve_dir = ~/sieve
 }

 user_query = SELECT '/mail/' || domain || '/' || mail || '/maildir' as
 home, uid, gid, '*:storage=' || quota || 'B' AS quota_rule FROM users WHERE
 mail || '@' || domain = '%u'

This is ok, although that kind of WHERE query can't use SQL indexes.
Better to use:

WHERE mail='%n' and domain = '%d'

 password_query = SELECT mail || '@' || domain as user, password as
 password, '/mail/' || domain || '/' || mail || '/maildir' as userdb_home,
 uid as userdb_uid, gid as userdb_gid, 'maildir:storage=' || (quota/1024) as
 userdb_quota, 

Remove userdb_quota from here and add a userdb_quota_rule matching
user_query's one.

I'd also remove home/userdb_home from the above query and just use
global settings, also not making home same as mail location
(http://wiki2.dovecot.org/VirtualUsers/Home):

mail_home = /mail/%d/%n
mail_location = maildir:~/maildir:INDEX=~/indexes


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


Re: [Dovecot] doveadm quota recalc don't work

2010-09-24 Thread Timo Sirainen
On 24.9.2010, at 22.51, Thiago Henrique wrote:

 I use 'mdbox' as mailbox format, but my quota backend is 'maildir'. Is
 there a problem?

You can't use Maildir++ quota with mdbox. I guess I should make it give an 
error..

Use dict quota with file backend instead.



Re: [Dovecot] doveadm quota get -u some...@ourdomains.com

2010-09-01 Thread Timo Sirainen
On Tue, 2010-08-31 at 20:46 -0400, Jerrale G wrote:
 On 8/31/2010 5:03 PM, Timo Sirainen wrote:
  On 31.8.2010, at 21.42, Jerrale G wrote:
 
  we have the mail_plugins defined differently for each protocol 
  ({imap=quota,expire,imap_quota} {pop3=quota,expire} 
  {lda=quota,expire,sieve}).
  doveadm doesn't have a protocol. You must set it globally.
 
 
 When adding an additional, global mail_plugins=quota,
 we get: Segmentation fault

Could you get gdb backtrace? Probably:

ulimit -c unlimited
doveadm ...

hopefully it dumps a core file and you can do:

gdb `which doveadm` core
bt full

If you can't get core dump, try if this happens to give you a usable
backtrace:

gdb --args doveadm ...
run
you may need to run cont here a couple of times before it crashes
bt full




Re: [Dovecot] doveadm quota get -u some...@ourdomains.com

2010-08-31 Thread Timo Sirainen
On 31.8.2010, at 21.42, Jerrale G wrote:

 we have the mail_plugins defined differently for each protocol 
 ({imap=quota,expire,imap_quota} {pop3=quota,expire} {lda=quota,expire,sieve}).

doveadm doesn't have a protocol. You must set it globally.



Re: [Dovecot] doveadm quota get -u some...@ourdomains.com

2010-08-31 Thread Jerrale G

 On 8/31/2010 5:03 PM, Timo Sirainen wrote:

On 31.8.2010, at 21.42, Jerrale G wrote:


we have the mail_plugins defined differently for each protocol 
({imap=quota,expire,imap_quota} {pop3=quota,expire} {lda=quota,expire,sieve}).

doveadm doesn't have a protocol. You must set it globally.



When adding an additional, global mail_plugins=quota,
we get: Segmentation fault



Jerrale G.
SC Senior Admin